/** \file
 *  This C header file was generated by $ANTLR version 3.3 Nov 30, 2010 12:50:56
 *
 *     -  From the grammar source file : ../src/parse/Msc.g
 *     -                            On : 2011-06-04 04:24:36
 *     -                for the parser : MscParserParser *
 * Editing it, at least manually, is not wise. 
 *
 * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
 *
 *
 * The parser MscParser has the callable functions (rules) shown below,
 * which will invoke the code for the associated rule in the source grammar
 * assuming that the input stream is pointing to a token/text stream that could begin
 * this rule.
 * 
 * For instance if you call the first (topmost) rule in a parser grammar, you will
 * get the results of a full parse, but calling a rule half way through the grammar will
 * allow you to pass part of a full token stream to the parser, such as for syntax checking
 * in editors and so on.
 *
 * The parser entry points are called indirectly (by function pointer to function) via
 * a parser context typedef pMscParser, which is returned from a call to MscParserNew().
 *
 * The methods in pMscParser are  as follows:
 *
 *  - msc::Ast*      pMscParser->parse(pMscParser)
 *  - msc::Ast*      pMscParser->mscTextualFile(pMscParser)
 *  - void      pMscParser->textualMSCDocument(pMscParser)
 *  - void      pMscParser->documentHead(pMscParser)
 *  - void      pMscParser->end(pMscParser)
 *  - void      pMscParser->comment(pMscParser)
 *  - void      pMscParser->textDefinition(pMscParser)
 *  - void      pMscParser->textualDefiningPart(pMscParser)
 *  - void      pMscParser->textualUtilityPart(pMscParser)
 *  - void      pMscParser->definingMscReference(pMscParser)
 *  - MscParser_virtuality_return      pMscParser->virtuality(pMscParser)
 *  - void      pMscParser->usingClause(pMscParser)
 *  - void      pMscParser->containingClause(pMscParser)
 *  - void      pMscParser->instanceItem(pMscParser)
 *  - void      pMscParser->inheritance(pMscParser)
 *  - void      pMscParser->messageDeclClause(pMscParser)
 *  - void      pMscParser->timerDeclClause(pMscParser)
 *  - void      pMscParser->sdlReference(pMscParser)
 *  - msc::Identifier*      pMscParser->identifier(pMscParser)
 *  - msc::MessageSequenceChart*      pMscParser->messageSequenceChart(pMscParser)
 *  - msc::Msc*      pMscParser->bmsc(pMscParser)
 *  - msc::String*      pMscParser->mscHead(pMscParser)
 *  - void      pMscParser->mscParameterDecl(pMscParser)
 *  - void      pMscParser->mscParmDeclList(pMscParser)
 *  - void      pMscParser->mscParmDeclBlock(pMscParser)
 *  - void      pMscParser->instanceParameterDecl(pMscParser)
 *  - void      pMscParser->instanceParmDeclList(pMscParser)
 *  - void      pMscParser->instanceParameterName(pMscParser)
 *  - void      pMscParser->messageParameterDecl(pMscParser)
 *  - void      pMscParser->messageParmDeclList(pMscParser)
 *  - void      pMscParser->timerParameterDecl(pMscParser)
 *  - void      pMscParser->timerParmDeclList(pMscParser)
 *  - void      pMscParser->mscInstInterface(pMscParser)
 *  - void      pMscParser->mscGateInterface(pMscParser)
 *  - void      pMscParser->mscGateDef(pMscParser)
 *  - void      pMscParser->mscGate(pMscParser)
 *  - void      pMscParser->methodCallGate(pMscParser)
 *  - void      pMscParser->replyGate(pMscParser)
 *  - void      pMscParser->createGate(pMscParser)
 *  - void      pMscParser->orderGate(pMscParser)
 *  - std::vector<msc::Statement*>      pMscParser->mscBody(pMscParser)
 *  - msc::Statement*      pMscParser->mscStatement(pMscParser)
 *  - msc::Instance*      pMscParser->msc92EventDefinition(pMscParser)
 *  - msc::InstanceHead*      pMscParser->msc92InstanceHeadStatement(pMscParser)
 *  - msc::Instance*      pMscParser->eventDefinition(pMscParser)
 *  - std::vector<msc::Event*>      pMscParser->instanceEventList(pMscParser)
 *  - msc::Event*      pMscParser->instanceEvent(pMscParser)
 *  - msc::Event*      pMscParser->orderableEvent(pMscParser)
 *  - void      pMscParser->orderDestList(pMscParser)
 *  - void      pMscParser->timeDestList(pMscParser)
 *  - void      pMscParser->timeDestination(pMscParser)
 *  - void      pMscParser->timeDest(pMscParser)
 *  - msc::Event*      pMscParser->nonOrderableEvent(pMscParser)
 *  - void      pMscParser->instanceNameList(pMscParser)
 *  - void      pMscParser->multiInstanceEventList(pMscParser)
 *  - void      pMscParser->multiInstanceEvent(pMscParser)
 *  - msc::InstanceHead*      pMscParser->instanceHeadStatement(pMscParser)
 *  - MscParser_instanceKind_return      pMscParser->instanceKind(pMscParser)
 *  - msc::String*      pMscParser->kindDenominator(pMscParser)
 *  - msc::String*      pMscParser->decomposition(pMscParser)
 *  - void      pMscParser->instanceEndStatement(pMscParser)
 *  - msc::Event*      pMscParser->messageEvent(pMscParser)
 *  - msc::Message*      pMscParser->messageOutput(pMscParser)
 *  - msc::Message*      pMscParser->messageInput(pMscParser)
 *  - void      pMscParser->incompleteMessageEvent(pMscParser)
 *  - void      pMscParser->incompleteMessageOutput(pMscParser)
 *  - void      pMscParser->incompleteMessageInput(pMscParser)
 *  - msc::String*      pMscParser->msgIdentification(pMscParser)
 *  - msc::Instance*      pMscParser->outputAddress(pMscParser)
 *  - void      pMscParser->referenceIdentification(pMscParser)
 *  - msc::Instance*      pMscParser->inputAddress(pMscParser)
 *  - void      pMscParser->methodCallEvent(pMscParser)
 *  - void      pMscParser->callOut(pMscParser)
 *  - void      pMscParser->callIn(pMscParser)
 *  - void      pMscParser->replyOut(pMscParser)
 *  - void      pMscParser->replyIn(pMscParser)
 *  - void      pMscParser->incompleteMethodCallEvent(pMscParser)
 *  - void      pMscParser->incompleteCallOut(pMscParser)
 *  - void      pMscParser->incompleteCallIn(pMscParser)
 *  - void      pMscParser->incompleteReplyOut(pMscParser)
 *  - void      pMscParser->incompleteReplyIn(pMscParser)
 *  - void      pMscParser->startMethod(pMscParser)
 *  - void      pMscParser->endMethod(pMscParser)
 *  - void      pMscParser->startSuspension(pMscParser)
 *  - void      pMscParser->endSuspension(pMscParser)
 *  - void      pMscParser->actualOutGate(pMscParser)
 *  - void      pMscParser->actualInGate(pMscParser)
 *  - void      pMscParser->inputDest(pMscParser)
 *  - void      pMscParser->outputDest(pMscParser)
 *  - void      pMscParser->defInGate(pMscParser)
 *  - void      pMscParser->defOutGate(pMscParser)
 *  - void      pMscParser->actualOrderOutGate(pMscParser)
 *  - void      pMscParser->orderDest(pMscParser)
 *  - void      pMscParser->actualOrderInGate(pMscParser)
 *  - void      pMscParser->defOrderInGate(pMscParser)
 *  - void      pMscParser->defOrderOutGate(pMscParser)
 *  - void      pMscParser->actualCreateOutGate(pMscParser)
 *  - void      pMscParser->actualCreateInGate(pMscParser)
 *  - void      pMscParser->createTarget(pMscParser)
 *  - void      pMscParser->defCreateInGate(pMscParser)
 *  - void      pMscParser->defCreateOutGate(pMscParser)
 *  - void      pMscParser->inlineOutGate(pMscParser)
 *  - void      pMscParser->inlineInGate(pMscParser)
 *  - void      pMscParser->inlineOutCallGate(pMscParser)
 *  - void      pMscParser->inlineInCallGate(pMscParser)
 *  - void      pMscParser->inlineOutReplyGate(pMscParser)
 *  - void      pMscParser->inlineInReplyGate(pMscParser)
 *  - void      pMscParser->inlineCreateOutGate(pMscParser)
 *  - void      pMscParser->inlineCreateInGate(pMscParser)
 *  - void      pMscParser->createSource(pMscParser)
 *  - void      pMscParser->inlineOrderOutGate(pMscParser)
 *  - void      pMscParser->inlineOrderInGate(pMscParser)
 *  - void      pMscParser->actualOutCallGate(pMscParser)
 *  - void      pMscParser->actualInCallGate(pMscParser)
 *  - void      pMscParser->defInCallGate(pMscParser)
 *  - void      pMscParser->defOutCallGate(pMscParser)
 *  - void      pMscParser->actualOutReplyGate(pMscParser)
 *  - void      pMscParser->actualInReplyGate(pMscParser)
 *  - void      pMscParser->defInReplyGate(pMscParser)
 *  - void      pMscParser->defOutReplyGate(pMscParser)
 *  - void      pMscParser->sharedCondition(pMscParser)
 *  - void      pMscParser->conditionIdentification(pMscParser)
 *  - void      pMscParser->conditionText(pMscParser)
 *  - void      pMscParser->conditionNameList(pMscParser)
 *  - void      pMscParser->shared(pMscParser)
 *  - void      pMscParser->sharedInstanceList(pMscParser)
 *  - void      pMscParser->condition(pMscParser)
 *  - void      pMscParser->timerStatement(pMscParser)
 *  - void      pMscParser->msc96set(pMscParser)
 *  - void      pMscParser->msc96reset(pMscParser)
 *  - void      pMscParser->starttimer(pMscParser)
 *  - void      pMscParser->duration(pMscParser)
 *  - void      pMscParser->durationlimit(pMscParser)
 *  - void      pMscParser->stoptimer(pMscParser)
 *  - void      pMscParser->timeout(pMscParser)
 *  - void      pMscParser->action(pMscParser)
 *  - void      pMscParser->actionStatement(pMscParser)
 *  - void      pMscParser->informalAction(pMscParser)
 *  - void      pMscParser->create(pMscParser)
 *  - void      pMscParser->stop(pMscParser)
 *  - void      pMscParser->parenthesisDeclaration(pMscParser)
 *  - void      pMscParser->parDeclList(pMscParser)
 *  - void      pMscParser->nestableParPair(pMscParser)
 *  - void      pMscParser->nonNestableParPair(pMscParser)
 *  - void      pMscParser->equalParDecl(pMscParser)
 *  - void      pMscParser->escapeDecl(pMscParser)
 *  - void      pMscParser->pairParList(pMscParser)
 *  - void      pMscParser->pairPar(pMscParser)
 *  - void      pMscParser->equalParList(pMscParser)
 *  - void      pMscParser->delim(pMscParser)
 *  - void      pMscParser->openPar(pMscParser)
 *  - void      pMscParser->closePar(pMscParser)
 *  - void      pMscParser->equalPar(pMscParser)
 *  - void      pMscParser->par(pMscParser)
 *  - void      pMscParser->escapechar(pMscParser)
 *  - void      pMscParser->messageDeclList(pMscParser)
 *  - void      pMscParser->messageDecl(pMscParser)
 *  - void      pMscParser->messageNameList(pMscParser)
 *  - void      pMscParser->timerDeclList(pMscParser)
 *  - void      pMscParser->timerDecl(pMscParser)
 *  - void      pMscParser->timerNameList(pMscParser)
 *  - void      pMscParser->typeRefList(pMscParser)
 *  - void      pMscParser->dynamicDeclList(pMscParser)
 *  - void      pMscParser->variableDeclList(pMscParser)
 *  - void      pMscParser->variableDeclItem(pMscParser)
 *  - void      pMscParser->variableList(pMscParser)
 *  - void      pMscParser->dataDefinition(pMscParser)
 *  - void      pMscParser->wildcardDecl(pMscParser)
 *  - void      pMscParser->dataParameterDecl(pMscParser)
 *  - void      pMscParser->actualDataParameters(pMscParser)
 *  - void      pMscParser->actualDataParameterList(pMscParser)
 *  - void      pMscParser->binding(pMscParser)
 *  - void      pMscParser->leftBinding(pMscParser)
 *  - void      pMscParser->leftBindSymbol(pMscParser)
 *  - void      pMscParser->rightBinding(pMscParser)
 *  - void      pMscParser->rightBindSymbol(pMscParser)
 *  - void      pMscParser->expression(pMscParser)
 *  - void      pMscParser->pattern(pMscParser)
 *  - void      pMscParser->wildcard(pMscParser)
 *  - void      pMscParser->parameterList(pMscParser)
 *  - void      pMscParser->parameterDefn(pMscParser)
 *  - void      pMscParser->dataStatementList(pMscParser)
 *  - void      pMscParser->dataStatement(pMscParser)
 *  - void      pMscParser->defineStatement(pMscParser)
 *  - void      pMscParser->undefineStatement(pMscParser)
 *  - void      pMscParser->timeOffset(pMscParser)
 *  - void      pMscParser->timePoint(pMscParser)
 *  - void      pMscParser->measurement(pMscParser)
 *  - void      pMscParser->relMeasurement(pMscParser)
 *  - void      pMscParser->absMeasurement(pMscParser)
 *  - void      pMscParser->timeInterval(pMscParser)
 *  - void      pMscParser->intervalLabel(pMscParser)
 *  - void      pMscParser->singularTime(pMscParser)
 *  - void      pMscParser->boundedTime(pMscParser)
 *  - void      pMscParser->startCoregion(pMscParser)
 *  - void      pMscParser->endCoregion(pMscParser)
 *  - void      pMscParser->sharedInlineExpr(pMscParser)
 *  - void      pMscParser->extraGlobal(pMscParser)
 *  - void      pMscParser->sharedLoopExpr(pMscParser)
 *  - void      pMscParser->sharedOptExpr(pMscParser)
 *  - void      pMscParser->sharedExcExpr(pMscParser)
 *  - void      pMscParser->sharedAltExpr(pMscParser)
 *  - void      pMscParser->sharedSeqExpr(pMscParser)
 *  - void      pMscParser->sharedParExpr(pMscParser)
 *  - void      pMscParser->inlineExpr(pMscParser)
 *  - void      pMscParser->loopExpr(pMscParser)
 *  - void      pMscParser->optExpr(pMscParser)
 *  - void      pMscParser->excExpr(pMscParser)
 *  - void      pMscParser->altExpr(pMscParser)
 *  - void      pMscParser->seqExpr(pMscParser)
 *  - void      pMscParser->parExpr(pMscParser)
 *  - void      pMscParser->loopBoundary(pMscParser)
 *  - void      pMscParser->infNatural(pMscParser)
 *  - void      pMscParser->inlineExprIdentification(pMscParser)
 *  - void      pMscParser->inlineGateInterface(pMscParser)
 *  - void      pMscParser->inlineGate(pMscParser)
 *  - void      pMscParser->sharedMSCReference(pMscParser)
 *  - void      pMscParser->mscReference(pMscParser)
 *  - void      pMscParser->mscReferenceIdentification(pMscParser)
 *  - void      pMscParser->mscRefExpr(pMscParser)
 *  - void      pMscParser->mscRefParExpr(pMscParser)
 *  - void      pMscParser->mscRefSeqExpr(pMscParser)
 *  - void      pMscParser->mscRefIdentExpr(pMscParser)
 *  - void      pMscParser->parameterSubstitution(pMscParser)
 *  - void      pMscParser->substitutionList(pMscParser)
 *  - void      pMscParser->substitution(pMscParser)
 *  - void      pMscParser->replaceMessageInstanceMsc(pMscParser)
 *  - void      pMscParser->actualParameters(pMscParser)
 *  - void      pMscParser->actualParametersList(pMscParser)
 *  - void      pMscParser->actualParametersBlock(pMscParser)
 *  - void      pMscParser->actualInstanceParameters(pMscParser)
 *  - void      pMscParser->actualInstanceParmList(pMscParser)
 *  - void      pMscParser->actualInstanceParameter(pMscParser)
 *  - void      pMscParser->actualMessageParameters(pMscParser)
 *  - void      pMscParser->actualMessageList(pMscParser)
 *  - void      pMscParser->actualTimerParameters(pMscParser)
 *  - void      pMscParser->actualTimerList(pMscParser)
 *  - void      pMscParser->parent(pMscParser)
 *  - void      pMscParser->referenceGateInterface(pMscParser)
 *  - void      pMscParser->refGate(pMscParser)
 *  - msc::String*      pMscParser->substructureReference(pMscParser)
 *  - msc::Msc*      pMscParser->hmsc(pMscParser)
 *  - void      pMscParser->mscExpression(pMscParser)
 *  - void      pMscParser->start(pMscParser)
 *  - void      pMscParser->nodeExpression(pMscParser)
 *  - void      pMscParser->labelNameList(pMscParser)
 *  - void      pMscParser->timeableNode(pMscParser)
 *  - void      pMscParser->node(pMscParser)
 *  - void      pMscParser->parExpression(pMscParser)
 *  - msc::String*      pMscParser->mscName(pMscParser)
 *  - msc::String*      pMscParser->instanceName(pMscParser)
 *  - msc::String*      pMscParser->actualInstanceParameterName(pMscParser)
 *  - msc::String*      pMscParser->eventName(pMscParser)
 *  - msc::String*      pMscParser->messageName(pMscParser)
 *  - msc::String*      pMscParser->messageInstanceName(pMscParser)
 *  - msc::String*      pMscParser->gateName(pMscParser)
 *  - msc::String*      pMscParser->conditionName(pMscParser)
 *  - msc::String*      pMscParser->durationName(pMscParser)
 *  - msc::String*      pMscParser->timerName(pMscParser)
 *  - msc::String*      pMscParser->timerInstanceName(pMscParser)
 *  - msc::String*      pMscParser->intervalName(pMscParser)
 *  - msc::String*      pMscParser->inlineExprName(pMscParser)
 *  - msc::String*      pMscParser->mscReferenceName(pMscParser)
 *  - MscParser_messageSequenceChartName_return      pMscParser->messageSequenceChartName(pMscParser)
 *  - msc::String*      pMscParser->labelName(pMscParser)
 *  - msc::String*      pMscParser->dataLanguageName(pMscParser)
 *  - msc::String*      pMscParser->kindName(pMscParser)
 *  - void      pMscParser->sdlDocumentIdentifier(pMscParser)
 *  - void      pMscParser->variableIdentifier(pMscParser)
 *  - void      pMscParser->timeExpression(pMscParser)
 *  - void      pMscParser->timePattern(pMscParser)
 *  - void      pMscParser->minDurationlimit(pMscParser)
 *  - void      pMscParser->maxDurationlimit(pMscParser)
 *  - void      pMscParser->expressionString(pMscParser)
 *  - void      pMscParser->typeRefString(pMscParser)
 *  - void      pMscParser->variableString(pMscParser)
 *  - void      pMscParser->dataDefinitionString(pMscParser)
 *  - void      pMscParser->wildcardString(pMscParser)
 *  - void      pMscParser->createGateIdentification(pMscParser)
 *
 * The return type for any particular rule is of course determined by the source
 * grammar file.
 */
// [The "BSD licence"]
// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
// http://www.temporal-wave.com
// http://www.linkedin.com/in/jimidle
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
// 3. The name of the author may not be used to endorse or promote products
//    derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#ifndef	_MscParser_H
#define _MscParser_H
/* =============================================================================
 * Standard antlr3 C runtime definitions
 */
#include    <antlr3.h>

/* End of standard antlr 3 runtime definitions
 * =============================================================================
 */

  # include <vector>

  # include "msc/types.hh"
  # include "msc/all.hh"
  # include "msc/factory.hh"

  # define MAKE(Node, ...)                                   \
      msc::Factory::instance().make_ ## Node(__VA_ARGS__)

 
#ifdef __cplusplus
extern "C" {
#endif

// Forward declare the context typedef so that we can use it before it is
// properly defined. Delegators and delegates (from import statements) are
// interdependent and their context structures contain pointers to each other
// C only allows such things to be declared if you pre-declare the typedef.
//
typedef struct MscParser_Ctx_struct MscParser, * pMscParser;



#ifdef	ANTLR3_WINDOWS
// Disable: Unreferenced parameter,							- Rules with parameters that are not used
//          constant conditional,							- ANTLR realizes that a prediction is always true (synpred usually)
//          initialized but unused variable					- tree rewrite variables declared but not needed
//          Unreferenced local variable						- lexer rule declares but does not always use _type
//          potentially unitialized variable used			- retval always returned from a rule 
//			unreferenced local function has been removed	- susually getTokenNames or freeScope, they can go without warnigns
//
// These are only really displayed at warning level /W4 but that is the code ideal I am aiming at
// and the codegen must generate some of these warnings by necessity, apart from 4100, which is
// usually generated when a parser rule is given a parameter that it does not use. Mostly though
// this is a matter of orthogonality hence I disable that one.
//
#pragma warning( disable : 4100 )
#pragma warning( disable : 4101 )
#pragma warning( disable : 4127 )
#pragma warning( disable : 4189 )
#pragma warning( disable : 4505 )
#pragma warning( disable : 4701 )
#endif

/* ========================
 * BACKTRACKING IS ENABLED
 * ========================
 */
typedef struct MscParser_virtuality_return_struct
{
    /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
     */
    pANTLR3_COMMON_TOKEN    start;
    pANTLR3_COMMON_TOKEN    stop;   
    msc::MessageSequenceChart::virtuality_enum n;
}
    MscParser_virtuality_return;

typedef struct MscParser_instanceKind_return_struct
{
    /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
     */
    pANTLR3_COMMON_TOKEN    start;
    pANTLR3_COMMON_TOKEN    stop;   
    msc::String* kindDenominator;
    msc::Identifier* identifier;
}
    MscParser_instanceKind_return;

typedef struct MscParser_messageSequenceChartName_return_struct
{
    /** Generic return elements for ANTLR3 rules that are not in tree parsers or returning trees
     */
    pANTLR3_COMMON_TOKEN    start;
    pANTLR3_COMMON_TOKEN    stop;   
    msc::String* n;
}
    MscParser_messageSequenceChartName_return;



/** Context tracking structure for MscParser
 */
struct MscParser_Ctx_struct
{
    /** Built in ANTLR3 context tracker contains all the generic elements
     *  required for context tracking.
     */
    pANTLR3_PARSER   pParser;


     msc::Ast* (*parse)	(struct MscParser_Ctx_struct * ctx);
     msc::Ast* (*mscTextualFile)	(struct MscParser_Ctx_struct * ctx);
     void (*textualMSCDocument)	(struct MscParser_Ctx_struct * ctx);
     void (*documentHead)	(struct MscParser_Ctx_struct * ctx);
     void (*end)	(struct MscParser_Ctx_struct * ctx);
     void (*comment)	(struct MscParser_Ctx_struct * ctx);
     void (*textDefinition)	(struct MscParser_Ctx_struct * ctx);
     void (*textualDefiningPart)	(struct MscParser_Ctx_struct * ctx);
     void (*textualUtilityPart)	(struct MscParser_Ctx_struct * ctx);
     void (*definingMscReference)	(struct MscParser_Ctx_struct * ctx);
     MscParser_virtuality_return (*virtuality)	(struct MscParser_Ctx_struct * ctx);
     void (*usingClause)	(struct MscParser_Ctx_struct * ctx);
     void (*containingClause)	(struct MscParser_Ctx_struct * ctx);
     void (*instanceItem)	(struct MscParser_Ctx_struct * ctx);
     void (*inheritance)	(struct MscParser_Ctx_struct * ctx);
     void (*messageDeclClause)	(struct MscParser_Ctx_struct * ctx);
     void (*timerDeclClause)	(struct MscParser_Ctx_struct * ctx);
     void (*sdlReference)	(struct MscParser_Ctx_struct * ctx);
     msc::Identifier* (*identifier)	(struct MscParser_Ctx_struct * ctx);
     msc::MessageSequenceChart* (*messageSequenceChart)	(struct MscParser_Ctx_struct * ctx);
     msc::Msc* (*bmsc)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*mscHead)	(struct MscParser_Ctx_struct * ctx);
     void (*mscParameterDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*mscParmDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*mscParmDeclBlock)	(struct MscParser_Ctx_struct * ctx);
     void (*instanceParameterDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*instanceParmDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*instanceParameterName)	(struct MscParser_Ctx_struct * ctx);
     void (*messageParameterDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*messageParmDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*timerParameterDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*timerParmDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*mscInstInterface)	(struct MscParser_Ctx_struct * ctx);
     void (*mscGateInterface)	(struct MscParser_Ctx_struct * ctx);
     void (*mscGateDef)	(struct MscParser_Ctx_struct * ctx);
     void (*mscGate)	(struct MscParser_Ctx_struct * ctx);
     void (*methodCallGate)	(struct MscParser_Ctx_struct * ctx);
     void (*replyGate)	(struct MscParser_Ctx_struct * ctx);
     void (*createGate)	(struct MscParser_Ctx_struct * ctx);
     void (*orderGate)	(struct MscParser_Ctx_struct * ctx);
     std::vector<msc::Statement*> (*mscBody)	(struct MscParser_Ctx_struct * ctx);
     msc::Statement* (*mscStatement)	(struct MscParser_Ctx_struct * ctx);
     msc::Instance* (*msc92EventDefinition)	(struct MscParser_Ctx_struct * ctx);
     msc::InstanceHead* (*msc92InstanceHeadStatement)	(struct MscParser_Ctx_struct * ctx);
     msc::Instance* (*eventDefinition)	(struct MscParser_Ctx_struct * ctx);
     std::vector<msc::Event*> (*instanceEventList)	(struct MscParser_Ctx_struct * ctx);
     msc::Event* (*instanceEvent)	(struct MscParser_Ctx_struct * ctx);
     msc::Event* (*orderableEvent)	(struct MscParser_Ctx_struct * ctx);
     void (*orderDestList)	(struct MscParser_Ctx_struct * ctx);
     void (*timeDestList)	(struct MscParser_Ctx_struct * ctx);
     void (*timeDestination)	(struct MscParser_Ctx_struct * ctx);
     void (*timeDest)	(struct MscParser_Ctx_struct * ctx);
     msc::Event* (*nonOrderableEvent)	(struct MscParser_Ctx_struct * ctx);
     void (*instanceNameList)	(struct MscParser_Ctx_struct * ctx);
     void (*multiInstanceEventList)	(struct MscParser_Ctx_struct * ctx);
     void (*multiInstanceEvent)	(struct MscParser_Ctx_struct * ctx);
     msc::InstanceHead* (*instanceHeadStatement)	(struct MscParser_Ctx_struct * ctx);
     MscParser_instanceKind_return (*instanceKind)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*kindDenominator)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*decomposition)	(struct MscParser_Ctx_struct * ctx);
     void (*instanceEndStatement)	(struct MscParser_Ctx_struct * ctx);
     msc::Event* (*messageEvent)	(struct MscParser_Ctx_struct * ctx);
     msc::Message* (*messageOutput)	(struct MscParser_Ctx_struct * ctx);
     msc::Message* (*messageInput)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteMessageEvent)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteMessageOutput)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteMessageInput)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*msgIdentification)	(struct MscParser_Ctx_struct * ctx);
     msc::Instance* (*outputAddress)	(struct MscParser_Ctx_struct * ctx);
     void (*referenceIdentification)	(struct MscParser_Ctx_struct * ctx);
     msc::Instance* (*inputAddress)	(struct MscParser_Ctx_struct * ctx);
     void (*methodCallEvent)	(struct MscParser_Ctx_struct * ctx);
     void (*callOut)	(struct MscParser_Ctx_struct * ctx);
     void (*callIn)	(struct MscParser_Ctx_struct * ctx);
     void (*replyOut)	(struct MscParser_Ctx_struct * ctx);
     void (*replyIn)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteMethodCallEvent)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteCallOut)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteCallIn)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteReplyOut)	(struct MscParser_Ctx_struct * ctx);
     void (*incompleteReplyIn)	(struct MscParser_Ctx_struct * ctx);
     void (*startMethod)	(struct MscParser_Ctx_struct * ctx);
     void (*endMethod)	(struct MscParser_Ctx_struct * ctx);
     void (*startSuspension)	(struct MscParser_Ctx_struct * ctx);
     void (*endSuspension)	(struct MscParser_Ctx_struct * ctx);
     void (*actualOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inputDest)	(struct MscParser_Ctx_struct * ctx);
     void (*outputDest)	(struct MscParser_Ctx_struct * ctx);
     void (*defInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualOrderOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*orderDest)	(struct MscParser_Ctx_struct * ctx);
     void (*actualOrderInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defOrderInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defOrderOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualCreateOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualCreateInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*createTarget)	(struct MscParser_Ctx_struct * ctx);
     void (*defCreateInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defCreateOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineOutCallGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineInCallGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineOutReplyGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineInReplyGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineCreateOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineCreateInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*createSource)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineOrderOutGate)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineOrderInGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualOutCallGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualInCallGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defInCallGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defOutCallGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualOutReplyGate)	(struct MscParser_Ctx_struct * ctx);
     void (*actualInReplyGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defInReplyGate)	(struct MscParser_Ctx_struct * ctx);
     void (*defOutReplyGate)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedCondition)	(struct MscParser_Ctx_struct * ctx);
     void (*conditionIdentification)	(struct MscParser_Ctx_struct * ctx);
     void (*conditionText)	(struct MscParser_Ctx_struct * ctx);
     void (*conditionNameList)	(struct MscParser_Ctx_struct * ctx);
     void (*shared)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedInstanceList)	(struct MscParser_Ctx_struct * ctx);
     void (*condition)	(struct MscParser_Ctx_struct * ctx);
     void (*timerStatement)	(struct MscParser_Ctx_struct * ctx);
     void (*msc96set)	(struct MscParser_Ctx_struct * ctx);
     void (*msc96reset)	(struct MscParser_Ctx_struct * ctx);
     void (*starttimer)	(struct MscParser_Ctx_struct * ctx);
     void (*duration)	(struct MscParser_Ctx_struct * ctx);
     void (*durationlimit)	(struct MscParser_Ctx_struct * ctx);
     void (*stoptimer)	(struct MscParser_Ctx_struct * ctx);
     void (*timeout)	(struct MscParser_Ctx_struct * ctx);
     void (*action)	(struct MscParser_Ctx_struct * ctx);
     void (*actionStatement)	(struct MscParser_Ctx_struct * ctx);
     void (*informalAction)	(struct MscParser_Ctx_struct * ctx);
     void (*create)	(struct MscParser_Ctx_struct * ctx);
     void (*stop)	(struct MscParser_Ctx_struct * ctx);
     void (*parenthesisDeclaration)	(struct MscParser_Ctx_struct * ctx);
     void (*parDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*nestableParPair)	(struct MscParser_Ctx_struct * ctx);
     void (*nonNestableParPair)	(struct MscParser_Ctx_struct * ctx);
     void (*equalParDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*escapeDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*pairParList)	(struct MscParser_Ctx_struct * ctx);
     void (*pairPar)	(struct MscParser_Ctx_struct * ctx);
     void (*equalParList)	(struct MscParser_Ctx_struct * ctx);
     void (*delim)	(struct MscParser_Ctx_struct * ctx);
     void (*openPar)	(struct MscParser_Ctx_struct * ctx);
     void (*closePar)	(struct MscParser_Ctx_struct * ctx);
     void (*equalPar)	(struct MscParser_Ctx_struct * ctx);
     void (*par)	(struct MscParser_Ctx_struct * ctx);
     void (*escapechar)	(struct MscParser_Ctx_struct * ctx);
     void (*messageDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*messageDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*messageNameList)	(struct MscParser_Ctx_struct * ctx);
     void (*timerDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*timerDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*timerNameList)	(struct MscParser_Ctx_struct * ctx);
     void (*typeRefList)	(struct MscParser_Ctx_struct * ctx);
     void (*dynamicDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*variableDeclList)	(struct MscParser_Ctx_struct * ctx);
     void (*variableDeclItem)	(struct MscParser_Ctx_struct * ctx);
     void (*variableList)	(struct MscParser_Ctx_struct * ctx);
     void (*dataDefinition)	(struct MscParser_Ctx_struct * ctx);
     void (*wildcardDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*dataParameterDecl)	(struct MscParser_Ctx_struct * ctx);
     void (*actualDataParameters)	(struct MscParser_Ctx_struct * ctx);
     void (*actualDataParameterList)	(struct MscParser_Ctx_struct * ctx);
     void (*binding)	(struct MscParser_Ctx_struct * ctx);
     void (*leftBinding)	(struct MscParser_Ctx_struct * ctx);
     void (*leftBindSymbol)	(struct MscParser_Ctx_struct * ctx);
     void (*rightBinding)	(struct MscParser_Ctx_struct * ctx);
     void (*rightBindSymbol)	(struct MscParser_Ctx_struct * ctx);
     void (*expression)	(struct MscParser_Ctx_struct * ctx);
     void (*pattern)	(struct MscParser_Ctx_struct * ctx);
     void (*wildcard)	(struct MscParser_Ctx_struct * ctx);
     void (*parameterList)	(struct MscParser_Ctx_struct * ctx);
     void (*parameterDefn)	(struct MscParser_Ctx_struct * ctx);
     void (*dataStatementList)	(struct MscParser_Ctx_struct * ctx);
     void (*dataStatement)	(struct MscParser_Ctx_struct * ctx);
     void (*defineStatement)	(struct MscParser_Ctx_struct * ctx);
     void (*undefineStatement)	(struct MscParser_Ctx_struct * ctx);
     void (*timeOffset)	(struct MscParser_Ctx_struct * ctx);
     void (*timePoint)	(struct MscParser_Ctx_struct * ctx);
     void (*measurement)	(struct MscParser_Ctx_struct * ctx);
     void (*relMeasurement)	(struct MscParser_Ctx_struct * ctx);
     void (*absMeasurement)	(struct MscParser_Ctx_struct * ctx);
     void (*timeInterval)	(struct MscParser_Ctx_struct * ctx);
     void (*intervalLabel)	(struct MscParser_Ctx_struct * ctx);
     void (*singularTime)	(struct MscParser_Ctx_struct * ctx);
     void (*boundedTime)	(struct MscParser_Ctx_struct * ctx);
     void (*startCoregion)	(struct MscParser_Ctx_struct * ctx);
     void (*endCoregion)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedInlineExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*extraGlobal)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedLoopExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedOptExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedExcExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedAltExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedSeqExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedParExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*loopExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*optExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*excExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*altExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*seqExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*parExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*loopBoundary)	(struct MscParser_Ctx_struct * ctx);
     void (*infNatural)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineExprIdentification)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineGateInterface)	(struct MscParser_Ctx_struct * ctx);
     void (*inlineGate)	(struct MscParser_Ctx_struct * ctx);
     void (*sharedMSCReference)	(struct MscParser_Ctx_struct * ctx);
     void (*mscReference)	(struct MscParser_Ctx_struct * ctx);
     void (*mscReferenceIdentification)	(struct MscParser_Ctx_struct * ctx);
     void (*mscRefExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*mscRefParExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*mscRefSeqExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*mscRefIdentExpr)	(struct MscParser_Ctx_struct * ctx);
     void (*parameterSubstitution)	(struct MscParser_Ctx_struct * ctx);
     void (*substitutionList)	(struct MscParser_Ctx_struct * ctx);
     void (*substitution)	(struct MscParser_Ctx_struct * ctx);
     void (*replaceMessageInstanceMsc)	(struct MscParser_Ctx_struct * ctx);
     void (*actualParameters)	(struct MscParser_Ctx_struct * ctx);
     void (*actualParametersList)	(struct MscParser_Ctx_struct * ctx);
     void (*actualParametersBlock)	(struct MscParser_Ctx_struct * ctx);
     void (*actualInstanceParameters)	(struct MscParser_Ctx_struct * ctx);
     void (*actualInstanceParmList)	(struct MscParser_Ctx_struct * ctx);
     void (*actualInstanceParameter)	(struct MscParser_Ctx_struct * ctx);
     void (*actualMessageParameters)	(struct MscParser_Ctx_struct * ctx);
     void (*actualMessageList)	(struct MscParser_Ctx_struct * ctx);
     void (*actualTimerParameters)	(struct MscParser_Ctx_struct * ctx);
     void (*actualTimerList)	(struct MscParser_Ctx_struct * ctx);
     void (*parent)	(struct MscParser_Ctx_struct * ctx);
     void (*referenceGateInterface)	(struct MscParser_Ctx_struct * ctx);
     void (*refGate)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*substructureReference)	(struct MscParser_Ctx_struct * ctx);
     msc::Msc* (*hmsc)	(struct MscParser_Ctx_struct * ctx);
     void (*mscExpression)	(struct MscParser_Ctx_struct * ctx);
     void (*start)	(struct MscParser_Ctx_struct * ctx);
     void (*nodeExpression)	(struct MscParser_Ctx_struct * ctx);
     void (*labelNameList)	(struct MscParser_Ctx_struct * ctx);
     void (*timeableNode)	(struct MscParser_Ctx_struct * ctx);
     void (*node)	(struct MscParser_Ctx_struct * ctx);
     void (*parExpression)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*mscName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*instanceName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*actualInstanceParameterName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*eventName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*messageName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*messageInstanceName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*gateName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*conditionName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*durationName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*timerName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*timerInstanceName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*intervalName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*inlineExprName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*mscReferenceName)	(struct MscParser_Ctx_struct * ctx);
     MscParser_messageSequenceChartName_return (*messageSequenceChartName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*labelName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*dataLanguageName)	(struct MscParser_Ctx_struct * ctx);
     msc::String* (*kindName)	(struct MscParser_Ctx_struct * ctx);
     void (*sdlDocumentIdentifier)	(struct MscParser_Ctx_struct * ctx);
     void (*variableIdentifier)	(struct MscParser_Ctx_struct * ctx);
     void (*timeExpression)	(struct MscParser_Ctx_struct * ctx);
     void (*timePattern)	(struct MscParser_Ctx_struct * ctx);
     void (*minDurationlimit)	(struct MscParser_Ctx_struct * ctx);
     void (*maxDurationlimit)	(struct MscParser_Ctx_struct * ctx);
     void (*expressionString)	(struct MscParser_Ctx_struct * ctx);
     void (*typeRefString)	(struct MscParser_Ctx_struct * ctx);
     void (*variableString)	(struct MscParser_Ctx_struct * ctx);
     void (*dataDefinitionString)	(struct MscParser_Ctx_struct * ctx);
     void (*wildcardString)	(struct MscParser_Ctx_struct * ctx);
     void (*createGateIdentification)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred1_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred2_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred3_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred4_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred5_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred6_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred7_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred8_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred9_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred10_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred11_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred12_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred13_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred14_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred15_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred16_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred17_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred18_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred19_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred20_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred21_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred22_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred23_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred24_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred25_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred26_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred27_Msc)	(struct MscParser_Ctx_struct * ctx);
     ANTLR3_BOOLEAN (*synpred28_Msc)	(struct MscParser_Ctx_struct * ctx);
    // Delegated rules

    const char * (*getGrammarFileName)();
    void            (*reset)  (struct MscParser_Ctx_struct * ctx);
    void	    (*free)   (struct MscParser_Ctx_struct * ctx);
        
};

// Function protoypes for the constructor functions that external translation units
// such as delegators and delegates may wish to call.
//
ANTLR3_API pMscParser MscParserNew         (pANTLR3_COMMON_TOKEN_STREAM instream);
ANTLR3_API pMscParser MscParserNewSSD      (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state);

/** Symbolic definitions of all the tokens that the parser will work with.
 * \{
 *
 * Antlr will define EOF, but we can't use that as it it is too common in
 * in C header files and that would be confusing. There is no way to filter this out at the moment
 * so we just undef it here for now. That isn't the value we get back from C recognizers
 * anyway. We are looking for ANTLR3_TOKEN_EOF.
 */
#ifdef	EOF
#undef	EOF
#endif
#ifdef	Tokens
#undef	Tokens
#endif 
#define EOF      -1
#define T__24      24
#define T__25      25
#define T__26      26
#define T__27      27
#define T__28      28
#define T__29      29
#define T__30      30
#define T__31      31
#define T__32      32
#define T__33      33
#define T__34      34
#define T__35      35
#define T__36      36
#define T__37      37
#define T__38      38
#define T__39      39
#define T__40      40
#define T__41      41
#define T__42      42
#define T__43      43
#define T__44      44
#define T__45      45
#define T__46      46
#define T__47      47
#define T__48      48
#define T__49      49
#define T__50      50
#define T__51      51
#define T__52      52
#define T__53      53
#define T__54      54
#define T__55      55
#define T__56      56
#define T__57      57
#define T__58      58
#define T__59      59
#define T__60      60
#define T__61      61
#define T__62      62
#define T__63      63
#define T__64      64
#define T__65      65
#define T__66      66
#define T__67      67
#define T__68      68
#define T__69      69
#define T__70      70
#define T__71      71
#define T__72      72
#define T__73      73
#define T__74      74
#define T__75      75
#define T__76      76
#define T__77      77
#define T__78      78
#define T__79      79
#define T__80      80
#define T__81      81
#define T__82      82
#define T__83      83
#define T__84      84
#define T__85      85
#define T__86      86
#define T__87      87
#define T__88      88
#define T__89      89
#define T__90      90
#define T__91      91
#define T__92      92
#define T__93      93
#define T__94      94
#define T__95      95
#define T__96      96
#define T__97      97
#define T__98      98
#define T__99      99
#define T__100      100
#define T__101      101
#define T__102      102
#define T__103      103
#define T__104      104
#define T__105      105
#define T__106      106
#define T__107      107
#define T__108      108
#define T__109      109
#define T__110      110
#define T__111      111
#define T__112      112
#define T__113      113
#define T__114      114
#define T__115      115
#define T__116      116
#define T__117      117
#define T__118      118
#define T__119      119
#define T__120      120
#define T__121      121
#define T__122      122
#define T__123      123
#define T__124      124
#define T__125      125
#define T__126      126
#define T__127      127
#define T__128      128
#define Letter      4
#define Decimal_Digit      5
#define OtherCharacter      6
#define Special      7
#define Qualifier      8
#define DecimalDigit      9
#define Underline      10
#define FullStop      11
#define Name      12
#define Space      13
#define LeftCurlyBracket      14
#define VerticalLine      15
#define RightCurlyBracket      16
#define Overline      17
#define UpwardArrowHead      18
#define National      19
#define Apostrophe      20
#define Alphanumeric      21
#define CharacterString      22
#define Misc      23
#ifdef	EOF
#undef	EOF
#define	EOF	ANTLR3_TOKEN_EOF
#endif

#ifndef TOKENSOURCE
#define TOKENSOURCE(lxr) lxr->pLexer->rec->state->tokSource
#endif

/* End of token definitions for MscParser
 * =============================================================================
 */
/** \} */

#ifdef __cplusplus
}
#endif

#endif

/* END - Note:Keep extra line feed to satisfy UNIX systems */
