@ -32,9 +32,8 @@ namespace storm { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					             
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if ( firstQuots  = =  std : : string : : npos )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                return  name ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  else  if  ( secondQuots  = =  std : : string : : npos )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                STORM_LOG_THROW ( false ,  storm : : exceptions : : FileIoException ,  " No ending quotation mark found in  "  < <  name ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                STORM_LOG_THROW ( secondQuots  ! =  std : : string : : npos ,  storm : : exceptions : : FileIoException ,  " No ending quotation mark found in  "  < <  name ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                return  name . substr ( firstQuots + 1 , secondQuots - 1 ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -76,9 +75,7 @@ namespace storm { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    toplevelId  =  stripQuotsFromName ( line . substr ( toplevelToken . size ( )  +  1 ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                else  if  ( boost : : starts_with ( line ,  parametricToken ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    if  ( ! std : : is_same < ValueType ,  storm : : RationalFunction > : : value )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        STORM_LOG_THROW ( false ,  storm : : exceptions : : NotSupportedException ,  " Parameters only allowed when using rational functions. " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    STORM_LOG_THROW ( ( ! std : : is_same < ValueType ,  storm : : RationalFunction > : : value ) ,  storm : : exceptions : : NotSupportedException ,  " Parameters only allowed when using rational functions. " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    std : : string  parameter  =  stripQuotsFromName ( line . substr ( parametricToken . size ( )  +  1 ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    storm : : expressions : : Variable  var  =  manager - > declareRationalVariable ( parameter ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    identifierMapping . emplace ( var . getName ( ) ,  var ) ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -95,15 +92,23 @@ namespace storm { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    if ( tokens [ 1 ]  = =  " and " )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        success  =  builder . addAndElement ( name ,  childNames ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if ( tokens [ 1 ]  = =  " or " )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if   ( tokens [ 1 ]  = =  " or " )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        success  =  builder . addOrElement ( name ,  childNames ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if ( boost : : starts_with ( tokens [ 1 ] ,  " vot " ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if   ( boost : : starts_with ( tokens [ 1 ] ,  " vot " ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        success  =  builder . addVotElement ( name ,  boost : : lexical_cast < unsigned > ( tokens [ 1 ] . substr ( 3 ) ) ,  childNames ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if ( tokens [ 1 ]  = =  " pand " )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if  ( tokens [ 1 ] . find ( " of " )  ! =  std : : string : : npos )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        size_t  pos  =  tokens [ 1 ] . find ( " of " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        unsigned  threshold  =  boost : : lexical_cast < unsigned > ( tokens [ 1 ] . substr ( 0 ,  pos ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        unsigned  count  =  boost : : lexical_cast < unsigned > ( tokens [ 1 ] . substr ( pos  +  2 ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        STORM_LOG_THROW ( count  = =  childNames . size ( ) ,  storm : : exceptions : : FileIoException ,  " Voting gate does not correspond to number of children. " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        success  =  builder . addVotElement ( name ,  threshold ,  childNames ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if  ( tokens [ 1 ]  = =  " pand " )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        success  =  builder . addPandElement ( name ,  childNames ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if ( tokens [ 1 ]  = =  " wsp "  | |  tokens [ 1 ]  = =  " csp " )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if   ( tokens [ 1 ]  = =  " wsp "  | |  tokens [ 1 ]  = =  " csp " )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        success  =  builder . addSpareElement ( name ,  childNames ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if ( boost : : starts_with ( tokens [ 1 ] ,  " lambda= " ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if  ( boost : : starts_with ( tokens [ 1 ] ,  " fdep " ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        STORM_LOG_THROW ( false ,  storm : : exceptions : : NotSupportedException ,  " Functional dependencies currently not supported " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  if  ( boost : : starts_with ( tokens [ 1 ] ,  " lambda= " ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        ValueType  failureRate  =  parseRationalExpression ( tokens [ 1 ] . substr ( 7 ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        ValueType  dormancyFactor  =  parseRationalExpression ( tokens [ 2 ] . substr ( 5 ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        success  =  builder . addBasicElement ( name ,  failureRate ,  dormancyFactor ) ;