concrete production attributeDclParser

###### top::AGDcl ::= 'parser' 'attribute' a::Name '::' te::Type 'action' acode::ActionCode_c ';' In file: ParserAttributes.sv

concrete production productionModifierLayout

###### top::ProductionModifier ::= 'layout' '{' terms::TermPrecList '}' In file: CustomLayout.sv

concrete production productionModifierLayoutNone

###### top::ProductionModifier ::= 'layout' '{' '}' In file: CustomLayout.sv

abstract production actionChildReference

###### top::Expr ::= q::Decorated QName In file: Expr.sv

abstract production pluckTerminalReference

###### top::Expr ::= q::Decorated QName In file: Expr.sv

abstract production disambigLexemeReference

###### top::Expr ::= q::Decorated QName In file: Expr.sv

abstract production parserAttributeReference

###### top::Expr ::= q::Decorated QName In file: Expr.sv

abstract production termAttrValueReference

###### top::Expr ::= q::Decorated QName In file: Expr.sv

concrete production prefixParserComponentModifier

###### top::ParserComponentModifier ::= 'prefix' ts::TerminalPrefixItems 'with' s::TerminalPrefix In file: Prefix.sv

nonterminal TerminalPrefix

In file: Prefix.sv

concrete production nameTerminalPrefix

###### top::TerminalPrefix ::= s::QName In file: Prefix.sv

concrete production newTermModifiersTerminalPrefix

###### top::TerminalPrefix ::= r::RegExpr tm::TerminalModifiers In file: Prefix.sv

concrete production newTermTerminalPrefix

###### top::TerminalPrefix ::= r::RegExpr In file: Prefix.sv

concrete production seperatedTerminalPrefix

###### top::TerminalPrefix ::= t::String_t In file: Prefix.sv

nonterminal TerminalPrefixItems

In file: Prefix.sv

concrete production consTerminalPrefixItem

###### top::TerminalPrefixItems ::= t::TerminalPrefixItem ',' ts::TerminalPrefixItems In file: Prefix.sv

concrete production oneTerminalPrefixItem

###### top::TerminalPrefixItems ::= t::TerminalPrefixItem In file: Prefix.sv

concrete production allTerminalPrefixItem

###### top::TerminalPrefixItems ::= In file: Prefix.sv

nonterminal TerminalPrefixItem

In file: Prefix.sv

concrete production qNameTerminalPrefixItem

###### top::TerminalPrefixItem ::= t::QName In file: Prefix.sv

concrete production easyTerminalRefTerminalPrefixItem

###### top::TerminalPrefixItem ::= t::EasyTerminalRef In file: Prefix.sv

concrete production disambiguateParserComponent

###### top::ParserComponent ::= 'prefer' t::QName 'over' ts::TermPrecList ';' In file: Prefix.sv

concrete production prefixSeparatorParserComponent

###### top::ParserComponent ::= 'prefix' 'separator' s::String_t ';' In file: Prefix.sv

concrete production prefixSeparatorAGDcl

###### top::AGDcl ::= 'prefix' 'separator' s::String_t ';' In file: Prefix.sv

concrete production concreteProductionDclAction

###### top::AGDcl ::= 'concrete' 'production' id::Name ns::ProductionSignature pm::ProductionModifiers body::ProductionBody 'action' acode::ActionCode_c In file: ActionCode.sv

nonterminal ActionCode_c

In file: ActionCode.sv

concrete production actionCode_c

###### top::ActionCode_c ::= '{' stmts::ProductionStmts '}' In file: ActionCode.sv

function hacklocaldeclarations

###### String ::= l::[Def] In file: ActionCode.sv

function hackTransformLocals

###### [Def] ::= l::[Def] In file: ActionCode.sv

attribute actionDefs

In file: ActionCode.sv

attribute actionDefs

In file: ActionCode.sv

attribute actionDefs

In file: ActionCode.sv

aspect production productionSignature

###### top ::= lhs::ProductionLHS '::=' rhs::ProductionRHS In file: ActionCode.sv

aspect production productionRHSNil

###### top ::= In file: ActionCode.sv

aspect production productionRHSCons

###### top ::= h::ProductionRHSElem t::ProductionRHS In file: ActionCode.sv

aspect production productionRHSElem

###### top ::= id::Name '::' t::Type In file: ActionCode.sv

concrete production namePrint

###### top::Name ::= 'print' In file: ProductionStmt.sv

concrete production namePluck

###### top::Name ::= 'pluck' In file: ProductionStmt.sv

concrete production pluckDef

###### top::ProductionStmt ::= 'pluck' e::Expr ';' In file: ProductionStmt.sv

concrete production printStmt

###### top::ProductionStmt ::= 'print' e::Expr ';' In file: ProductionStmt.sv

aspect production localAttributeDcl

###### top ::= 'local' 'attribute' a::Name '::' te::Type ';' In file: ProductionStmt.sv

abstract production parserAttributeValueDef

###### top::ProductionStmt ::= val::Decorated QName e::Expr In file: ProductionStmt.sv

concrete production pushTokenStmt

###### top::ProductionStmt ::= 'pushToken' '(' val::QName ',' lexeme::Expr ')' ';' In file: ProductionStmt.sv

concrete production pushTokenIfStmt

###### top::ProductionStmt ::= 'pushToken' '(' val::QName ',' lexeme::Expr ')' 'if' condition::Expr ';' In file: ProductionStmt.sv

abstract production parserAttributeDefLHS

###### top::DefLHS ::= q::Decorated QName In file: ProductionStmt.sv

abstract production termAttrValueValueDef

###### top::ProductionStmt ::= val::Decorated QName e::Expr In file: ProductionStmt.sv

concrete production parserDcl

###### top::AGDcl ::= 'parser' n::Name '::' t::Type '{' m::ParserComponents '}' In file: ParserDcl.sv

nonterminal ParserComponents

In file: ParserDcl.sv

concrete production nilParserComponent

###### top::ParserComponents ::= In file: ParserDcl.sv

concrete production consParserComponent

###### top::ParserComponents ::= c1::ParserComponent c2::ParserComponents In file: ParserDcl.sv

nonterminal ParserComponent

In file: ParserDcl.sv

concrete production parserComponent

###### top::ParserComponent ::= m::ModuleName mods::ParserComponentModifiers ';' In file: ParserDcl.sv

nonterminal ParserComponentModifiers

In file: ParserDcl.sv

concrete production nilParserComponentModifier

###### top::ParserComponentModifiers ::= In file: ParserDcl.sv

concrete production consParserComponentModifier

###### top::ParserComponentModifiers ::= h::ParserComponentModifier t::ParserComponentModifiers In file: ParserDcl.sv

nonterminal ParserComponentModifier

In file: ParserDcl.sv

aspect production parserDcl

###### top ::= 'parser' n::Name '::' t::Type '{' m::ParserComponents '}' In file: ParserDcl.sv

concrete production disambiguationGroupDcl

###### top::AGDcl ::= 'disambiguate' terms::TermPrecList acode::ActionCode_c In file: DisambiguationGroup.sv

attribute lexerClassList

In file: Env.sv

attribute lexerClassList

In file: Env.sv

aspect production nilDefs

###### top ::= In file: Env.sv

aspect production consDefs

###### top ::= e1::Def e2::Defs In file: Env.sv

abstract production lxrClsDef

###### top::Def ::= d::EnvItem In file: Env.sv

function parserAttrDef

###### Def ::= sg::String sl::Location fn::String ty::TypeExp In file: Env.sv

function pluckTermDef

###### Def ::= sg::String sl::Location fn::String In file: Env.sv

function disambigLexemeDef

###### Def ::= sg::String sl::Location In file: Env.sv

function lexerClassDef

###### Def ::= sg::String sl::Location fn::String In file: Env.sv

function termAttrValueDef

###### Def ::= sg::String sl::Location fn::String ty::TypeExp In file: Env.sv

function actionChildDef

###### Def ::= sg::String sl::Location fn::String ty::TypeExp In file: Env.sv

function parserLocalDef

###### Def ::= sg::String sl::Location fn::String ty::TypeExp In file: Env.sv

function prefixSeparatorDef

###### Def ::= sg::String sl::Location s::String In file: Env.sv

attribute lexerClassTree

In file: Env.sv

aspect production i_emptyEnv

###### top ::= In file: Env.sv

aspect production i_appendEnv

###### top ::= e1::Decorated Env e2::Decorated Env In file: Env.sv

aspect production i_newScopeEnv

###### top ::= d::Defs e::Decorated Env In file: Env.sv

function getLexerClassDcl

###### [DclInfo] ::= search::String e::Decorated Env In file: Env.sv

aspect production qNameId

###### top ::= id::Name In file: Env.sv

aspect production qNameCons

###### top ::= id::Name ':' qn::QName In file: Env.sv

attribute lookupLexerClass

In file: Env.sv

abstract production parserAttrDcl

###### top::DclInfo ::= sg::String sl::Location fn::String ty::TypeExp In file: DclInfo.sv

abstract production pluckTermDcl

###### top::DclInfo ::= sg::String sl::Location fn::String In file: DclInfo.sv

abstract production disambigLexemeDcl

###### top::DclInfo ::= sg::String sl::Location In file: DclInfo.sv

abstract production lexerClassDcl

###### top::DclInfo ::= sg::String sl::Location fn::String In file: DclInfo.sv

abstract production termAttrValueDcl

###### top::DclInfo ::= sg::String sl::Location fn::String ty::TypeExp In file: DclInfo.sv

abstract production actionChildDcl

###### top::DclInfo ::= sg::String sl::Location fn::String ty::TypeExp In file: DclInfo.sv

abstract production parserLocalDcl

###### top::DclInfo ::= sg::String sl::Location fn::String ty::TypeExp In file: DclInfo.sv

abstract production prefixSeparatorDcl

###### top::DclInfo ::= sg::String sl::Location sep::String In file: DclInfo.sv

concrete production lexerClassDclEmpty

###### top::AGDcl ::= 'lexer' 'class' id::Name ';' In file: LexerClass.sv

concrete production lexerClassDecl

###### top::AGDcl ::= 'lexer' 'class' id::Name modifiers::LexerClassModifiers ';' In file: LexerClass.sv

nonterminal LexerClassModifiers

In file: LexerClass.sv

nonterminal LexerClassModifier

In file: LexerClass.sv

abstract production lexerClassModifiersNone

###### top::LexerClassModifiers ::= In file: LexerClass.sv

concrete production lexerClassModifierSingle

###### top::LexerClassModifiers ::= tm::LexerClassModifier In file: LexerClass.sv

concrete production lexerClassModifiersCons

###### top::LexerClassModifiers ::= h::LexerClassModifier t::LexerClassModifiers In file: LexerClass.sv

concrete production lexerClassModifierDominates

###### top::LexerClassModifier ::= 'dominates' terms::TermPrecList In file: LexerClass.sv

concrete production lexerClassModifierSubmitsTo

###### top::LexerClassModifier ::= 'submits' 'to' terms::TermPrecList In file: LexerClass.sv

attribute permitActions

In file: BlockContext.sv

attribute permitPluck

In file: BlockContext.sv

abstract production actionContext

###### top::BlockContext ::= In file: BlockContext.sv

abstract production disambiguationContext

###### top::BlockContext ::= In file: BlockContext.sv

concrete production terminalModifierDominates

###### top::TerminalModifier ::= 'dominates' '{' terms::TermPrecList '}' In file: TerminalDcl.sv

concrete production terminalModifierSubmitsTo

###### top::TerminalModifier ::= 'submits' 'to' '{' terms::TermPrecList '}' In file: TerminalDcl.sv

concrete production terminalModifierClassSpec

###### top::TerminalModifier ::= 'lexer' 'classes' '{' cl::ClassList '}' In file: TerminalDcl.sv

concrete production terminalModifierActionCode

###### top::TerminalModifier ::= 'action' acode::ActionCode_c In file: TerminalDcl.sv

nonterminal TermPrecList

In file: TerminalDcl.sv

concrete production termPrecListOne

###### terms::TermPrecList ::= t::QName In file: TerminalDcl.sv

concrete production termPrecListCons

###### terms::TermPrecList ::= t::QName ',' terms_tail::TermPrecList In file: TerminalDcl.sv

abstract production termPrecList

###### top::TermPrecList ::= h::QName t::TermPrecList In file: TerminalDcl.sv

abstract production termPrecListNull

###### top::TermPrecList ::= In file: TerminalDcl.sv

function addTerminalAttrDefs

###### [Def] ::= moredefs::[Def] In file: TerminalDcl.sv

nonterminal ClassList

In file: TerminalDcl.sv

concrete production lexerClassesOne

###### top::ClassList ::= n::QName In file: TerminalDcl.sv

concrete production lexerClassesCons

###### top::ClassList ::= n::QName ',' cl_tail::ClassList In file: TerminalDcl.sv

abstract production lexerClassesMain

###### top::ClassList ::= n::QName t::ClassList In file: TerminalDcl.sv

abstract production lexerClassesNull

###### cl::ClassList ::= In file: TerminalDcl.sv

attribute forceCopperDump

In file: BuildProcess.sv

aspect production endCmdArgs

###### top ::= _ In file: BuildProcess.sv

abstract production copperdumpFlag

###### top::CmdArgs ::= rest::CmdArgs In file: BuildProcess.sv

aspect function parseArgs

###### Either<String Decorated CmdArgs> ::= args::[String] In file: BuildProcess.sv

aspect production compilation

###### top ::= g::Grammars _ buildGrammar::String benv::BuildEnv In file: BuildProcess.sv

function buildAntParserPart

###### String ::= r::[ParserSpec] a::Decorated CmdArgs In file: BuildProcess.sv

abstract production parserSpecUnit

###### top::DriverAction ::= spec::ParserSpec cg::EnvTree<Decorated RootSpec> silverGen::String In file: BuildProcess.sv