FileDocCategorySizeDatePackage
ParserGrammar.javaAPI DocGlassfish v2 API3076Wed Aug 30 15:34:10 BST 2006persistence.antlr

ParserGrammar

public class ParserGrammar extends Grammar
Parser-specific grammar subclass

Fields Summary
Constructors Summary
ParserGrammar(String className_, Tool tool_, String superClass)

        super(className_, tool_, superClass);
    
Methods Summary
public voidgenerate()
Top-level call to generate the code for this grammar

        generator.gen(this);
    
protected java.lang.StringgetSuperClass()

        // if debugging, choose the debugging version of the parser
        if (debuggingOutput)
            return "debug.LLkDebuggingParser";
        return "LLkParser";
    
public voidprocessArguments(java.lang.String[] args)
Process command line arguments. -trace have all rules call traceIn/traceOut -traceParser have parser rules call traceIn/traceOut -debug generate debugging output for parser debugger

        for (int i = 0; i < args.length; i++) {
            if (args[i].equals("-trace")) {
                traceRules = true;
                antlrTool.setArgOK(i);
            }
            else if (args[i].equals("-traceParser")) {
                traceRules = true;
                antlrTool.setArgOK(i);
            }
            else if (args[i].equals("-debug")) {
                debuggingOutput = true;
                antlrTool.setArgOK(i);
            }
        }
    
public booleansetOption(java.lang.String key, persistence.antlr.Token value)
Set parser options -- performs action on the following options:

        String s = value.getText();
        if (key.equals("buildAST")) {
            if (s.equals("true")) {
                buildAST = true;
            }
            else if (s.equals("false")) {
                buildAST = false;
            }
            else {
                antlrTool.error("buildAST option must be true or false", getFilename(), value.getLine(), value.getColumn());
            }
            return true;
        }
        if (key.equals("interactive")) {
            if (s.equals("true")) {
                interactive = true;
            }
            else if (s.equals("false")) {
                interactive = false;
            }
            else {
                antlrTool.error("interactive option must be true or false", getFilename(), value.getLine(), value.getColumn());
            }
            return true;
        }
        if (key.equals("ASTLabelType")) {
            super.setOption(key, value);
            return true;
        }
        if (super.setOption(key, value)) {
            return true;
        }
        antlrTool.error("Invalid option: " + key, getFilename(), value.getLine(), value.getColumn());
        return false;