+ /**
+ * parseFile() prepares Lexer and Parser objects, then parses the file
+ */
+ public static ParseNode parseFile(String file) {
+
+ ParseNode pn = null;
+ try {
+ ComplexSymbolFactory csf = new ComplexSymbolFactory();
+ ScannerBuffer lexer =
+ new ScannerBuffer(new Lexer(new BufferedReader(new FileReader(file)),csf));
+ Parser parse = new Parser(lexer,csf);
+ pn = (ParseNode) parse.parse().value;
+ } catch (Exception e) {
+ System.out.println("IoTCompiler: ERROR parsing policy file!");
+ e.printStackTrace();
+ }
+
+ return pn;
+ }
+
+