Changeset 2982


Ignore:
Timestamp:
Mar 29, 2013, 12:21:28 AM (5 years ago)
Author:
ksherdy
Message:

Update PabloB and PabloS AST printers.

Location:
proto/pabloj/trunk/src/test
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • proto/pabloj/trunk/src/test/PabloApplication.java

    r2947 r2982  
    2121        }
    2222       
     23        protected static void checkArguments(String[] args, String applicationName) {
     24                if(!correctNumArguments(args)) {
     25                        printUsageMessage(applicationName, "");
     26                }
    2327       
     28                ensureSourceFileExists(args, applicationName);                  // first arg
     29                ensureTargetDirectoryExists(args, applicationName);             // second (optional) arg
     30        }
     31
     32       
     33        protected static boolean correctNumArguments(String[] args) {
     34                return  1 <= args.length && args.length <= 2;
     35        }
     36        protected static void ensureSourceFileExists(String[] args, String applicationName) {
     37                if(!fileExists(args[0])) {
     38                        printUsageMessage(applicationName, "Source file does not exist.");
     39                }
     40        }       
     41        protected static void ensureTargetDirectoryExists(String[] args, String applicationName) {
     42                if(args.length > 1) {
     43                        outputDirectory  = args[1];
     44                }
     45               
     46                if(!makeDirectoryIfNecessary(outputDirectory)) {
     47                        printUsageMessage(applicationName, "Target directory cannot be created.");
     48                }
     49                outputDirectory = ensureEndsWithSeparator(outputDirectory);
     50        }
     51       
     52        protected static String ensureEndsWithSeparator(String string) {
     53                return string +
     54                           (endsWithSeparator(string) ? File.separator : "");
     55        }
     56        protected static boolean endsWithSeparator(String filePath) {
     57                return (!filePath.endsWith(File.separator));
     58        }       
     59/*     
    2460        public static void checkArgs(String[] args, String applicationName) {
    2561                int length = args.length;
     
    5086                }
    5187        }
    52         private static void exitWithUsageMessage(String applicationName) {
    53                 System.err.println("usage: " + applicationName + " inputDir [-o outputDirectory]");
     88*/     
     89        protected static boolean makeDirectoryIfNecessary(String directoryName) {
     90                return directoryExists(directoryName) || createDirectory(directoryName);
     91        }
     92        protected static boolean fileExists(String filePath) {
     93                return (new File(filePath)).exists();
     94        }
     95        protected static boolean directoryExists(String filePath) {
     96                return fileExists(filePath) && (new File(filePath)).isDirectory();
     97        }
     98        protected static boolean createDirectory(String filePath) {
     99                return (new File(filePath)).mkdirs();
     100        }
     101       
     102        protected static void printUsageMessage(String applicationName, String errorMessage) {
     103                System.err.println("usage: " + applicationName + " filename" + " [target output directory]");
     104                System.err.println(errorMessage);
    54105                System.exit(EXIT_CODE_FOR_ERROR);
    55         }
     106        }       
     107       
    56108}
  • proto/pabloj/trunk/src/test/pabloB/PabloBAST.java

    r2975 r2982  
    2626import test.PabloApplication;
    2727
    28 public class PabloBAST extends SampleApplication {
     28public class PabloBAST extends PabloApplication {
    2929
    3030        private static final String PABLOBEXT = ".pablob";
    3131
    3232        public static void main(String[] args) throws FileNotFoundException {
    33                 PabloApplication.checkArgs(args, "TestPabloSAST");
     33                PabloApplication.checkArguments(args, "PabloBAST");
    3434               
    3535                ASTPrinter.setPrintLevel(ASTPrinter.Level.FULL);
    3636                Tokens.setPrintLevel(Tokens.Level.TYPE_VALUE_SEQ);
    3737               
     38                /*
    3839                List<File> list = listFilesInDirectory(new File(args[0]),PABLOBEXT);
    3940                Collections.sort(list);
     
    5455                       
    5556                }
    56                
     57                */
     58                parseFileToAST(args[0], System.out);
    5759        }
    5860       
  • proto/pabloj/trunk/src/test/pabloS/PabloSAST.java

    r2975 r2982  
    2929
    3030
    31 public class PabloSAST extends SampleApplication {
     31public class PabloSAST extends PabloApplication {
    3232
    3333        private static final String PABLOSEXT = ".pablos";
     
    3535        public static void main(String[] args) throws FileNotFoundException {
    3636               
    37                 PabloApplication.checkArgs(args, "TestPabloSAST");
     37                PabloApplication.checkArguments(args, "PabloSAST");
    3838               
    3939                ASTPrinter.setPrintLevel(ASTPrinter.Level.FULL);
    4040                Tokens.setPrintLevel(Tokens.Level.TYPE_VALUE_SEQ);
    4141               
     42                /*
    4243                List<File> list = TestUtil.listFilesInDirectory(new File(args[0]),PABLOSEXT);
    4344                Collections.sort(list);
     
    5859                       
    5960                }
     61                */
     62                parseFileToAST(args[0], System.out);
    6063               
    6164        }
Note: See TracChangeset for help on using the changeset viewer.