Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

IEbnfNodeBuilder Class Reference

#include <iebnf_node_builder.hh>

Inheritance diagram for IEbnfNodeBuilder:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual EbnfNodecreateOrNode (EbnfNode *pre, EbnfNode *post, const Position &pos)=0
virtual EbnfNodecreateCatNode (EbnfNode *pre, EbnfNode *post, const Position &pos)=0
virtual EbnfNodecreatePlusNode (EbnfNode *in, const Position &pos)=0
virtual EbnfNodecreateStarNode (EbnfNode *in, const Position &pos)=0
virtual EbnfNodecreateOptionalNode (EbnfNode *in, const Position &pos)=0
virtual EbnfNodecreateNonterminalNode (const string &targetVar, const Position &targetVarPoa, const string &nontermId, const string &actualArgs, const Position &actualArgsPos, const Position &pos)=0
virtual EbnfNodecreateTerminalNode (const string &termId, const Position &pos)=0 throw (ParseException)
virtual LaSpeccreateLaSpec (int fixedla, EbnfNode *synLa, const string &semLa, const Position &pos)=0
virtual CatchClausecreateCatchClause (const string &exceptionDecl, const Position &edPos, const string &code, const Position &edPos)=0
virtual void setLookahead (EbnfNode *node, LaSpec *la)=0
virtual void setStartCode (EbnfNode *node, const string &code, bool force, const Position &pos)=0
virtual void setEndCode (EbnfNode *node, const string &code, bool force, const Position &pos)=0
virtual void setCatchClauses (EbnfNode *node, vector< CatchClause > &catchList)=0

Detailed Description

This is the EBNF expansion node builder's interface. Thourgh this interface a class that can build EBNF parse trees gats the necessary data from the parser as it recognises syntactic constructs in the input grammar file.

All the methods receive, besides node-specific arguments, a Position object that indicates where inthe input file the construct that the node represents was found.

Definition at line 77 of file iebnf_node_builder.hh.


Member Function Documentation

EbnfNode * IEbnfNodeBuilder::createOrNode ( EbnfNode * pre,
EbnfNode * post,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createOrNode().

EbnfNode * IEbnfNodeBuilder::createCatNode ( EbnfNode * pre,
EbnfNode * post,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createCatNode().

EbnfNode * IEbnfNodeBuilder::createPlusNode ( EbnfNode * in,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createPlusNode().

EbnfNode * IEbnfNodeBuilder::createStarNode ( EbnfNode * in,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createStarNode().

EbnfNode * IEbnfNodeBuilder::createOptionalNode ( EbnfNode * in,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createOptionalNode().

EbnfNode * IEbnfNodeBuilder::createNonterminalNode ( const string & targetVar,
const Position & targetVarPos,
const string & nontermId,
const string & actualArgs,
const Position & actualArgsPos,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createNonterminalNode().

EbnfNode * IEbnfNodeBuilder::createTerminalNode ( const string & termId,
const Position & pos ) throw (ParseException) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createTerminalNode().

LaSpec * IEbnfNodeBuilder::createLaSpec ( int fixedla,
EbnfNode * synLa,
const string & semLa,
const Position & pos ) [pure virtual]
 

Creates a new lookahead spec object with the given arguments.

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createLaSpec().

CatchClause * IEbnfNodeBuilder::createCatchClause ( const string & exceptionDecl,
const Position & edPos,
const string & code,
const Position & codePos ) [pure virtual]
 

Creates a new CatchClause object with the given exception declaration and associated code.

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_createCatchClause().

void IEbnfNodeBuilder::setLookahead ( EbnfNode * node,
LaSpec * la ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_setLookahead().

void IEbnfNodeBuilder::setStartCode ( EbnfNode * node,
const string & code,
bool force,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_setStartCode().

void IEbnfNodeBuilder::setEndCode ( EbnfNode * node,
const string & code,
bool force,
const Position & pos ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_setEndCode().

void IEbnfNodeBuilder::setCatchClauses ( EbnfNode * node,
vector< CatchClause > & catchList ) [pure virtual]
 

Reimplemented in EbnfNodeBuilder.

Referenced by IEbnfNodeBuilder_setCatchClauses().


The documentation for this class was generated from the following file:
Generated at Tue Jul 9 21:07:06 2002 for CppCC by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001