Changeset 2654


Ignore:
Timestamp:
Nov 18, 2012, 8:33:13 PM (6 years ago)
Author:
ksherdy
Message:

Added command line options.

Location:
proto/pablo
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • proto/pablo/.classpath

    r2415 r2654  
    33        <classpathentry kind="src" path="src"/>
    44        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
     5        <classpathentry kind="lib" path="/home/ken/workspace/pablo/ext/lib/commons-cli-1.2.jar"/>
    56        <classpathentry kind="output" path="bin"/>
    67</classpath>
  • proto/pablo/runConfigurations/pabloCompiler.launch

    r2632 r2654  
    99</listAttribute>
    1010<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="compiler.PabloCompiler"/>
    11 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="${workspace_loc}/pablo/input/test/pablo/py2pablo/parabix2_pablo.pablo.exclude"/>
     11<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--input ${workspace_loc}/pablo/input/test/pablo/py2pablo/parabix2_pablo.pablo.exclude -a"/>
    1212<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="pablo"/>
    1313<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
  • proto/pablo/src/compiler/Config.java

    r2652 r2654  
    2020                    OptionBuilder.withDescription("Pablo help.");
    2121                        option = OptionBuilder.create("h");
    22                    
    2322                        options.addOption(option);
    2423                       
     
    2625                    OptionBuilder.hasArg(true);
    2726                    OptionBuilder.isRequired(true);
    28                     OptionBuilder.withDescription("Pablo source file.");
     27                    OptionBuilder.withLongOpt("input");
     28                    OptionBuilder.withDescription("Pablo input file.");
    2929                        option = OptionBuilder.create("i");
    30                
    3130                    options.addOption(option);
    32                    
     31
     32                    // template file
     33                    OptionBuilder.hasArg(true);
     34                    OptionBuilder.isRequired(false);
     35                    OptionBuilder.withLongOpt("template");
     36                    OptionBuilder.withDescription("Pablo template file.");
     37                        option = OptionBuilder.create("t");
     38                    options.addOption(option);
     39                                                   
    3340                    // output directory
    3441                    OptionBuilder.hasArg(true);
    35                     OptionBuilder.isRequired(true);
    36                     OptionBuilder.withDescription("Pablo outpur directory.");
     42                    OptionBuilder.isRequired(false);
     43                    OptionBuilder.withLongOpt("output");
     44                    OptionBuilder.withDescription("Pablo output name.");
    3745                        option = OptionBuilder.create("o");
    38                    
    3946                        options.addOption(option);
     47                       
     48                        // error routine
     49                    OptionBuilder.hasArg(true);
     50                    OptionBuilder.isRequired(false);
     51                    OptionBuilder.withLongOpt("error");
     52                    OptionBuilder.withDescription("Name/qualified name for error routine.");
     53                        option = OptionBuilder.create("e");
     54                        options.addOption(option);
     55
     56                        // SIMD register dump statements
     57                    OptionBuilder.hasArg(false);
     58                    OptionBuilder.isRequired(false);
     59                    //OptionBuilder.withLongOpt("add");
     60                    OptionBuilder.withDescription("Add SIMD register dump statements.");
     61                        option = OptionBuilder.create("a");
     62                        options.addOption(option);                     
     63                       
     64                        // TODO - Add options as needed.
    4065                       
    4166                    return options;
  • proto/pablo/src/compiler/PabloCompiler.java

    r2652 r2654  
    1919import org.apache.commons.cli.CommandLineParser;
    2020import org.apache.commons.cli.HelpFormatter;
     21import org.apache.commons.cli.Option;
    2122import org.apache.commons.cli.Options;
    2223import org.apache.commons.cli.PosixParser;
     
    2728        public static final String applicationName = "PabloCompiler";   
    2829        public static final int EXIT_CODE_FOR_ERROR = 1;
    29         protected static String outputDirectory = "output/";
    30         protected static String inputFilename = null;           
    3130       
     31        // Options
     32        private static String inputFilename;
     33        private static String templateFilename;
     34        private static String outputFilename;
     35        private static String errorRoutine;
     36       
     37        private static boolean addDumpStatements = false;
     38               
    3239        public static void main(String[] args) throws FileNotFoundException {
    3340       
     
    3845                        CommandLine cmd = parser.parse(options, args);
    3946                        inputFilename = cmd.getOptionValue("i");
    40                        
    41                         if(cmd.hasOption("o")) {
    42                             outputDirectory = cmd.getOptionValue("o");
    43                         }
     47                        templateFilename = cmd.getOptionValue("t", "code.c");
     48                    outputFilename = cmd.getOptionValue("o", "template.c");         
     49                    errorRoutine = cmd.getOptionValue("e", "assert_0_error");
     50                   
     51                    if(cmd.hasOption("a")) {
     52                        addDumpStatements = true;
     53                    }
    4454                       
    4555                } catch (Exception e) {
     
    8292                        augmentedAssignment.transform();
    8393                       
    84                         DumpAssignmentStatementsTransformer dumpAssignmentStatementsTransformer = new DumpAssignmentStatementsTransformer(entry.getValue()); 
    85                         dumpAssignmentStatementsTransformer.transform();
    86                                                
     94                        if(PabloCompiler.addDumpStatements) {
     95                                DumpAssignmentStatementsTransformer dumpAssignmentStatementsTransformer = new DumpAssignmentStatementsTransformer(entry.getValue()); 
     96                                dumpAssignmentStatementsTransformer.transform();
     97                        }
     98                       
    8799                        CarryQIntroTransformer carryQIntro = new CarryQIntroTransformer(entry.getValue());
    88100                        carryQIntro.transform(true, false);
Note: See TracChangeset for help on using the changeset viewer.