package tests.generator;
import PIANOS.io.ComputationalModelParser;
import PIANOS.generator.Definitions;
import PIANOS.datastructures.DistributionFactory;
import PIANOS.datastructures.ComputationalModel;
import PIANOS.exceptions.*;
import java.io.IOException;
public class GenerateDefinitionsTest{
    
    public static void main (String[] args){
	if (args.length == 7){
	    // userDistFile, modelFile, initialValuesFile, simulationFile, proposalFile, updateFile, outputFile
	    try{
		DistributionFactory factory = new DistributionFactory(args[0]);
		ComputationalModel model = ComputationalModelParser.readModel(args[1], args[2], args[3], args[4], args[5], args[6], factory);
		Definitions.generateDefinitions(model);
	    }
	    catch (MissingDistributionException e){
		System.out.println(e.getMessage());
		System.exit(1);
	    }
	    catch (MissingFunctionException e){
		System.out.println(e.getMessage());
		System.exit(1);
	    }
	    catch (IOException e){
		System.out.println(e.getMessage());
		System.exit(1);
	    }
	    catch (SyntaxException e){
		System.out.println(e.getMessage());
		System.exit(1);
	    }	
	}
    }
}
