Select Git revision
JavaCCChunks.jrag
JavaCCChunks.jrag 8.69 KiB
/* -*-Java-*- */
/*
* Copyright (C) 2007 Anders Nilsson <anders.nilsson@cs.lth.se>
*
* This file is part of XmlSchemaCompiler.
*/
aspect JavaCCChunks {
void Start.genJavaCCHeader(PrintStream pStream) {
pStream.println("/* -*-Java-*- */");
pStream.println();
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(" DEBUG_PARSER = true;");
// pStream.println(" DEBUG_LOOKAHEAD = true;");
// pStream.println(" DEBUG_TOKEN_MANAGER = true;");
pStream.println("} ");
pStream.println();
pStream.println("PARSER_BEGIN(XmlParser)");
// pStream.println(" package "+getGrammar()+"AST;");
pStream.println(" package AST;");
pStream.println(" public class XmlParser {");
pStream.println("}");
pStream.println("PARSER_END(XmlParser)");
pStream.println();
pStream.println("//----------------------------------------------//");
pStream.println("// LEXICAL TOKENS //");
pStream.println("//----------------------------------------------//");
// pStream.println("<DEFAULT, BOUNDS> SKIP : /* WHITE SPACE */");
pStream.println("<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* 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("<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* COMMENTS */ ");
pStream.println("{");
pStream.println(" < \"<!--\" ( ~[\"-\"] | ( \"-\" ~[\"-\"] ) )* \"-->\">");
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\"])+ >");