/* -*-Java-*- */ aspect JavaCCChunks { void Start.genJavaCCHeader(PrintStream pStream) { pStream.println("options {"); pStream.println(" MULTI = true;"); pStream.println(" VISITOR = true;"); pStream.println(" NODE_DEFAULT_VOID = true;"); pStream.println(" NODE_SCOPE_HOOK = false;"); pStream.println(" NODE_PREFIX = \"\";"); pStream.println(" JAVA_UNICODE_ESCAPE = true;"); pStream.println(" STATIC = false;"); pStream.println("} "); pStream.println(); pStream.println("PARSER_BEGIN(SiarasParser)"); pStream.println(" package AST;"); pStream.println(" public class SiarasParser {"); pStream.println("}"); pStream.println("PARSER_END(SiarasParser)"); pStream.println(); pStream.println("//----------------------------------------------//"); pStream.println("// LEXICAL TOKENS //"); pStream.println("//----------------------------------------------//"); pStream.println("<DEFAULT, BOUNDS> SKIP : /* WHITE SPACE */"); pStream.println("{"); pStream.println(" \" \""); pStream.println(" |"); pStream.println(" \"\\t\""); pStream.println(" |"); pStream.println(" \"\\n\""); pStream.println(" |"); pStream.println(" \"\\r\""); pStream.println(" |"); pStream.println(" \"\\f\""); pStream.println("}// WHITE SPACE"); pStream.println(); pStream.println("SPECIAL_TOKEN : /* COMMENTS */ "); pStream.println("{"); pStream.println(" < \"<!--\" ( ~[\"-\"] | ( \"-\" ~[\"-\"] ) )* \"-->\">"); pStream.println(" | < \"<rdfs:comment\" ( ~[\"<\"] | ( \"<\" ~[\"/\"] ) )* \"</rdfs:comment>\" >"); pStream.println("}// COMMENTS"); pStream.println(); } void Start.genJavaCCLiterals(PrintStream pStream) { pStream.println("<DEFAULT, BOUNDS> TOKEN : /* LITERALS */"); pStream.println("{"); pStream.println(" < INTEGER_LITERAL:"); pStream.println(" <DECIMAL_LITERAL> ([\"l\",\"L\"])?"); pStream.println(" |"); pStream.println(" <HEX_LITERAL> ([\"l\",\"L\"])?"); pStream.println(" |"); pStream.println(" <OCTAL_LITERAL> ([\"l\",\"L\"])?"); pStream.println(" >"); pStream.println(" |"); pStream.println(" < #DECIMAL_LITERAL: [\"1\"-\"9\"] ([\"0\"-\"9\"])* >"); pStream.println(" |"); pStream.println(" < #HEX_LITERAL: \"0\" [\"x\",\"X\"] ([\"0\"-\"9\",\"a\"-\"f\",\"A\"-\"F\"])+ >"); pStream.println(" |"); pStream.println(" < #OCTAL_LITERAL: \"0\" ([\"0\"-\"7\"])* >"); pStream.println(" |"); pStream.println(" < FLOAT_LITERAL:"); pStream.println(" ([\"0\"-\"9\"])+ \".\" ([\"0\"-\"9\"])* (<EXPONENT>)? ([\"f\",\"F\",\"d\",\"D\"])?"); pStream.println(" |"); pStream.println(" \".\" ([\"0\"-\"9\"])+ (<EXPONENT>)? ([\"f\",\"F\",\"d\",\"D\"])?"); pStream.println(" |"); pStream.println(" ([\"0\"-\"9\"])+ <EXPONENT> ([\"f\",\"F\",\"d\",\"D\"])?"); pStream.println(" |"); pStream.println(" ([\"0\"-\"9\"])+ (<EXPONENT>)? [\"f\",\"F\",\"d\",\"D\"]"); pStream.println(" >"); pStream.println(" |"); pStream.println(" < #EXPONENT: [\"e\",\"E\"] ([\"+\",\"-\"])? ([\"0\"-\"9\"])+ >"); pStream.println(" |"); pStream.println(" < CHARACTER_LITERAL:"); pStream.println(" \"\'\""); pStream.println(" ( (~[\"\'\",\"\\\\\",\"\\n\",\"\\r\"])"); pStream.println(" |"); pStream.println(" (\"\\\\\""); pStream.println(" ( [\"n\",\"t\",\"b\",\"r\",\"f\",\"\\\\\",\"'\",\"\\\"\"]"); pStream.println(" |"); pStream.println(" [\"0\"-\"7\"] ( [\"0\"-\"7\"] )?"); pStream.println(" |"); pStream.println(" [\"0\"-\"3\"] [\"0\"-\"7\"] [\"0\"-\"7\"]"); pStream.println(" )"); pStream.println(" )"); pStream.println(" )"); pStream.println(" \"'\""); pStream.println(" >"); pStream.println(" |"); pStream.println(" < STRING_LITERAL:"); pStream.println(" \"\\\"\""); pStream.println(" ( (~[\"\\\"\",\"\\\\\",\"\\n\",\"\\r\"])"); pStream.println(" |"); pStream.println(" (\"\\\\\""); pStream.println(" ( [\"n\",\"t\",\"b\",\"r\",\"f\",\"\\\\\",\"'\",\"\\\"\"]"); pStream.println(" |"); pStream.println(" [\"0\"-\"7\"] ( [\"0\"-\"7\"] )?"); pStream.println(" |"); pStream.println(" [\"0\"-\"3\"] [\"0\"-\"7\"] [\"0\"-\"7\"]"); pStream.println(" )"); pStream.println(" )"); pStream.println(" )*"); pStream.println(" \"\\\"\""); pStream.println(" >"); pStream.println("}// LITERALS"); } void Start.genJavaCCIdentifiers(PrintStream pStream) { pStream.println("<DEFAULT, BOUNDS> TOKEN : /* IDENTIFIERS */"); pStream.println("{"); pStream.println(" < IDENTIFIER: <LETTER> (<LETTER>|<DIGIT>|\"-\")* >"); pStream.println(" |"); pStream.println(" < #LETTER:"); pStream.println(" ["); pStream.println(" \"\\u0024\","); pStream.println(" \"\\u0041\"-\"\\u005a\","); pStream.println(" \"\\u005f\","); pStream.println(" \"\\u0061\"-\"\\u007a\","); pStream.println(" \"\\u00c0\"-\"\\u00d6\","); pStream.println(" \"\\u00d8\"-\"\\u00f6\","); pStream.println(" \"\\u00f8\"-\"\\u00ff\","); pStream.println(" \"\\u0100\"-\"\\u1fff\","); pStream.println(" \"\\u3040\"-\"\\u318f\","); pStream.println(" \"\\u3300\"-\"\\u337f\","); pStream.println(" \"\\u3400\"-\"\\u3d2d\","); pStream.println(" \"\\u4e00\"-\"\\u9fff\","); pStream.println(" \"\\uf900\"-\"\\ufaff\""); pStream.println(" ]"); pStream.println(" >"); pStream.println(" |"); pStream.println(" < #DIGIT:"); pStream.println(" ["); pStream.println(" \"\\u0030\"-\"\\u0039\","); pStream.println(" \"\\u0660\"-\"\\u0669\","); pStream.println(" \"\\u06f0\"-\"\\u06f9\","); pStream.println(" \"\\u0966\"-\"\\u096f\","); pStream.println(" \"\\u09e6\"-\"\\u09ef\","); pStream.println(" \"\\u0a66\"-\"\\u0a6f\","); pStream.println(" \"\\u0ae6\"-\"\\u0aef\","); pStream.println(" \"\\u0b66\"-\"\\u0b6f\","); pStream.println(" \"\\u0be7\"-\"\\u0bef\","); pStream.println(" \"\\u0c66\"-\"\\u0c6f\","); pStream.println(" \"\\u0ce6\"-\"\\u0cef\","); pStream.println(" \"\\u0d66\"-\"\\u0d6f\","); pStream.println(" \"\\u0e50\"-\"\\u0e59\","); pStream.println(" \"\\u0ed0\"-\"\\u0ed9\","); pStream.println(" \"\\u1040\"-\"\\u1049\""); pStream.println(" ]"); pStream.println(" >"); pStream.println("}// IDENTIFIERS"); } void Start.genJavaCCSeparators(PrintStream pStream) { pStream.println("<DEFAULT,BOUNDS> TOKEN : /* SEPARATORS */"); pStream.println("{"); pStream.println(" < LBRACE : \"{\" >"); pStream.println(" | < RBRACE : \"}\" >"); pStream.println(" | < LBRACKET : \"[\" >"); pStream.println(" | < RBRACKET : \"]\" >"); pStream.println(" | < SEMICOLON : \";\" >"); pStream.println("}// SEPARATORS"); } void Start.genJavaCCOperators(PrintStream pStream) { pStream.println("<DEFAULT,BOUNDS> TOKEN : /* OPERATORS */"); pStream.println("{"); pStream.println(" < ASSIGN : \"=\" >"); pStream.println("}// OPERATORS"); } }