Skip to content
Snippets Groups Projects
Select Git revision
  • cd211fe963e2c1a46a284607b42f2b9f7e9b0aab
  • master default
2 results

JavaCCChunks.jrag

Blame
  • 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\"])+ >");