org.makumba.providers.datadefinition.mdd
Class MDDParser

java.lang.Object
  extended by antlr.Parser
      extended by antlr.LLkParser
          extended by org.makumba.providers.datadefinition.mdd.MDDBaseParser
              extended by org.makumba.providers.datadefinition.mdd.MDDParser
All Implemented Interfaces:
MDDTokenTypes

public class MDDParser
extends MDDBaseParser

MDD Parser extending the parser generated by ANTLR for performing specific pre-processing operations

Version:
$Id: MDDParser.java,v 1.1 May 12, 2009 11:37:36 AM manu Exp $
Author:
Manuel Gay

Field Summary
protected  Vector<String> includedFieldNames
           
protected  HashMap<antlr.collections.AST,antlr.collections.AST> parsedFunctions
           
 
Fields inherited from class org.makumba.providers.datadefinition.mdd.MDDBaseParser
_tokenNames, _tokenSet_0, _tokenSet_1, _tokenSet_10, _tokenSet_11, _tokenSet_12, _tokenSet_13, _tokenSet_14, _tokenSet_15, _tokenSet_16, _tokenSet_17, _tokenSet_18, _tokenSet_19, _tokenSet_2, _tokenSet_20, _tokenSet_21, _tokenSet_22, _tokenSet_23, _tokenSet_24, _tokenSet_25, _tokenSet_3, _tokenSet_4, _tokenSet_5, _tokenSet_6, _tokenSet_7, _tokenSet_8, _tokenSet_9, error, included, typeName
 
Fields inherited from class antlr.Parser
astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMap, traceDepth
 
Fields inherited from interface org.makumba.providers.datadefinition.mdd.MDDTokenTypes
BINARY, BOOLEAN, CHAR, CHAR_LENGTH, CHARENUM, CHARENUMELEMENT, COLON, COMMA, COMPARE, COMPARE_EXPRESSION, DATE, DEPRECATED, DOT, EOF, EQ, ESC, EXMARK, FIELD, FIELDCOMMENT, FIELDNAME, FIELDTYPE, FILE, FIXED, FUNCTION, FUNCTION_ARGUMENT, FUNCTION_ARGUMENT_NAME, FUNCTION_BODY, FUNCTION_NAME, GE, GT, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, INCLUDE, INCLUDED, INT, INTENUM, INTENUMINDEX, INTENUMTEXT, INTMARK, LE, LEFT_CUBR, LEFT_PAREN, LEFT_SQBR, LENGTH, LIKE, LINEBREAK, LITERAL_empty, LITERAL_not, LITERAL_notNull, LITERAL_null, LOWER, LT, MATCHES, MESSAGE, MINUS, MODIFIER, NAN, NATIVE_MESSAGE, NE, NEGATIVE_INTEGER, NOTBOOLEAN, NOTEMPTY, NOTINT, NOTNULL, NOTREAL, NOW, NULL_TREE_LOOKAHEAD, NUM_DOUBLE, NUM_FLOAT, NUM_LONG, NUMBER, PARENTFIELDNAME, PATH, PERCENT, PLUS, POINTED_TYPE, POSITIVE_INTEGER, PTR, PTRONE, QUOTMARK, RANGE, RANGE_FROM, RANGE_TO, REAL, RIGHT_CUBR, RIGHT_PAREN, RIGHT_SQBR, SEMICOLON, SESSIONVAR_NAME, SET, SETCHARENUM, SETCOMPLEX, SETINTENUM, SL_COMMENT, SQL_NE, STRING_LITERAL, SUBFIELD, SUBFIELDNAME, SUBFIELDTYPE, TEXT, TITLE, TITLEFIELD, TITLEFIELDFIELD, TITLEFIELDFUNCTION, TODAY, TRIPLE_DOT, TYPE, TYPEDEF, TYPENAME, UNIQUE, UNKNOWN_TYPE, UPPER, VALIDATION, VALIDATIONNAME, WHITESPACE
 
Constructor Summary
MDDParser(antlr.TokenStream lexer, MDDFactory factory, String typeName, boolean included)
           
 
Method Summary
protected  void addParsedFunction(antlr.collections.AST a, antlr.collections.AST b)
           
protected  void checkFieldName(antlr.collections.AST fieldName)
           
protected  void disableField(antlr.collections.AST field)
           
protected  void errorNestedSubfield(antlr.collections.AST s)
           
protected  antlr.collections.AST include(antlr.collections.AST type)
           
protected  antlr.collections.AST includeSubField(antlr.collections.AST type, antlr.collections.AST parentField)
           
protected  antlr.collections.AST parseExpression(antlr.collections.AST expression)
           
protected  antlr.collections.AST parseFunctionBody(antlr.collections.AST expression)
           
protected  void postProcess()
          performs post-processing tasks of parsing:
- deactivates disabled fields from inclusions
 
Methods inherited from class org.makumba.providers.datadefinition.mdd.MDDBaseParser
atom, buildTokenTypeASTClassMap, charEnum, comparisonValidationRuleDeclaration, dataDefinition, declaration, errorMessage, fieldComment, fieldDeclaration, fieldName, fieldType, functionArgumentBody, functionArgumentDeclaration, functionArguments, functionBody, functionCall, functionDeclaration, includeDeclaration, intEnum, keyword, modifier, nativeValidationRuleMessage, number, operator, parsedExpression, parsedFunctionBody, rangeValidationRuleDeclaration, regexValidationRuleDeclaration, reportError, reportError, subFieldBody, subFieldDeclaration, title, titleDeclaration, type, typeDeclaration, uniquenessValidationRuleDeclaration, validationRuleDeclaration
 
Methods inherited from class antlr.LLkParser
consume, LA, LT, traceIn, traceOut
 
Methods inherited from class antlr.Parser
addMessageListener, addParserListener, addParserMatchListener, addParserTokenListener, addSemanticPredicateListener, addSyntacticPredicateListener, addTraceListener, consumeUntil, consumeUntil, defaultDebuggingSetup, getAST, getASTFactory, getFilename, getInputState, getTokenName, getTokenNames, getTokenTypeToASTClassMap, isDebugMode, mark, match, match, matchNot, panic, recover, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, reportWarning, rewind, setASTFactory, setASTNodeClass, setASTNodeType, setDebugMode, setFilename, setIgnoreInvalidDebugCalls, setInputState, setTokenBuffer, traceIndent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

includedFieldNames

protected Vector<String> includedFieldNames

parsedFunctions

protected HashMap<antlr.collections.AST,antlr.collections.AST> parsedFunctions
Constructor Detail

MDDParser

public MDDParser(antlr.TokenStream lexer,
                 MDDFactory factory,
                 String typeName,
                 boolean included)
Method Detail

include

protected antlr.collections.AST include(antlr.collections.AST type)
Overrides:
include in class MDDBaseParser

includeSubField

protected antlr.collections.AST includeSubField(antlr.collections.AST type,
                                                antlr.collections.AST parentField)
Overrides:
includeSubField in class MDDBaseParser

disableField

protected void disableField(antlr.collections.AST field)
Overrides:
disableField in class MDDBaseParser

postProcess

protected void postProcess()
performs post-processing tasks of parsing:
- deactivates disabled fields from inclusions


parseExpression

protected antlr.collections.AST parseExpression(antlr.collections.AST expression)
Overrides:
parseExpression in class MDDBaseParser

parseFunctionBody

protected antlr.collections.AST parseFunctionBody(antlr.collections.AST expression)
Overrides:
parseFunctionBody in class MDDBaseParser

errorNestedSubfield

protected void errorNestedSubfield(antlr.collections.AST s)
Overrides:
errorNestedSubfield in class MDDBaseParser

checkFieldName

protected void checkFieldName(antlr.collections.AST fieldName)
Overrides:
checkFieldName in class MDDBaseParser

addParsedFunction

protected void addParsedFunction(antlr.collections.AST a,
                                 antlr.collections.AST b)
Overrides:
addParsedFunction in class MDDBaseParser