Dr. Dobb's Journal March 1999
// import directive
importDirective
// init-action
{File f=null; String str=null;}
// rule
: "import" str=fileName
// semantic actions
{
f = new File(str); KPLLexer lexer = null;
lexer = new KPLLexer(new FileInputStream(f));
parser = new KPLParser(lexer);
// this file's either another pattern file ...
if (str.substring(str.length()-4).equals(".kpl")) {
parser.compilationUnit();
}else{
// ... or else it's a test program program ...
parser.testProgram();
}
}
;