scale.frontend.c
Class C99Parser

java.lang.Object
  extended by antlr.Parser
      extended by antlr.LLkParser
          extended by scale.frontend.c.C99Parser
All Implemented Interfaces:
C99ParserTokenTypes

public class C99Parser
extends antlr.LLkParser
implements C99ParserTokenTypes

This class performs parsing of C99 programs..

$Id: c99.g,v 1.144 2007-09-20 18:49:43 burrill Exp $

Copyright 2007 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.

The grammer was developed from the grammar in Annex A of the INTERNATIONAL STANDARD ISO/IEC 9899 Second edition 1999-12-01 Programming languages - C


Field Summary
static java.lang.String[] _tokenNames
           
static antlr.collections.impl.BitSet _tokenSet_0
           
static antlr.collections.impl.BitSet _tokenSet_1
           
static antlr.collections.impl.BitSet _tokenSet_10
           
static antlr.collections.impl.BitSet _tokenSet_11
           
static antlr.collections.impl.BitSet _tokenSet_12
           
static antlr.collections.impl.BitSet _tokenSet_13
           
static antlr.collections.impl.BitSet _tokenSet_14
           
static antlr.collections.impl.BitSet _tokenSet_15
           
static antlr.collections.impl.BitSet _tokenSet_16
           
static antlr.collections.impl.BitSet _tokenSet_17
           
static antlr.collections.impl.BitSet _tokenSet_18
           
static antlr.collections.impl.BitSet _tokenSet_19
           
static antlr.collections.impl.BitSet _tokenSet_2
           
static antlr.collections.impl.BitSet _tokenSet_20
           
static antlr.collections.impl.BitSet _tokenSet_21
           
static antlr.collections.impl.BitSet _tokenSet_22
           
static antlr.collections.impl.BitSet _tokenSet_23
           
static antlr.collections.impl.BitSet _tokenSet_24
           
static antlr.collections.impl.BitSet _tokenSet_25
           
static antlr.collections.impl.BitSet _tokenSet_26
           
static antlr.collections.impl.BitSet _tokenSet_27
           
static antlr.collections.impl.BitSet _tokenSet_28
           
static antlr.collections.impl.BitSet _tokenSet_29
           
static antlr.collections.impl.BitSet _tokenSet_3
           
static antlr.collections.impl.BitSet _tokenSet_30
           
static antlr.collections.impl.BitSet _tokenSet_31
           
static antlr.collections.impl.BitSet _tokenSet_32
           
static antlr.collections.impl.BitSet _tokenSet_33
           
static antlr.collections.impl.BitSet _tokenSet_34
           
static antlr.collections.impl.BitSet _tokenSet_35
           
static antlr.collections.impl.BitSet _tokenSet_36
           
static antlr.collections.impl.BitSet _tokenSet_37
           
static antlr.collections.impl.BitSet _tokenSet_38
           
static antlr.collections.impl.BitSet _tokenSet_39
           
static antlr.collections.impl.BitSet _tokenSet_4
           
static antlr.collections.impl.BitSet _tokenSet_40
           
static antlr.collections.impl.BitSet _tokenSet_41
           
static antlr.collections.impl.BitSet _tokenSet_42
           
static antlr.collections.impl.BitSet _tokenSet_43
           
static antlr.collections.impl.BitSet _tokenSet_44
           
static antlr.collections.impl.BitSet _tokenSet_45
           
static antlr.collections.impl.BitSet _tokenSet_46
           
static antlr.collections.impl.BitSet _tokenSet_47
           
static antlr.collections.impl.BitSet _tokenSet_48
           
static antlr.collections.impl.BitSet _tokenSet_49
           
static antlr.collections.impl.BitSet _tokenSet_5
           
static antlr.collections.impl.BitSet _tokenSet_50
           
static antlr.collections.impl.BitSet _tokenSet_51
           
static antlr.collections.impl.BitSet _tokenSet_52
           
static antlr.collections.impl.BitSet _tokenSet_53
           
static antlr.collections.impl.BitSet _tokenSet_54
           
static antlr.collections.impl.BitSet _tokenSet_55
           
static antlr.collections.impl.BitSet _tokenSet_56
           
static antlr.collections.impl.BitSet _tokenSet_57
           
static antlr.collections.impl.BitSet _tokenSet_58
           
static antlr.collections.impl.BitSet _tokenSet_59
           
static antlr.collections.impl.BitSet _tokenSet_6
           
static antlr.collections.impl.BitSet _tokenSet_60
           
static antlr.collections.impl.BitSet _tokenSet_61
           
static antlr.collections.impl.BitSet _tokenSet_62
           
static antlr.collections.impl.BitSet _tokenSet_63
           
static antlr.collections.impl.BitSet _tokenSet_64
           
static antlr.collections.impl.BitSet _tokenSet_65
           
static antlr.collections.impl.BitSet _tokenSet_66
           
static antlr.collections.impl.BitSet _tokenSet_67
           
static antlr.collections.impl.BitSet _tokenSet_68
           
static antlr.collections.impl.BitSet _tokenSet_69
           
static antlr.collections.impl.BitSet _tokenSet_7
           
static antlr.collections.impl.BitSet _tokenSet_70
           
static antlr.collections.impl.BitSet _tokenSet_71
           
static antlr.collections.impl.BitSet _tokenSet_72
           
static antlr.collections.impl.BitSet _tokenSet_73
           
static antlr.collections.impl.BitSet _tokenSet_74
           
static antlr.collections.impl.BitSet _tokenSet_8
           
static antlr.collections.impl.BitSet _tokenSet_9
           
protected  boolean allowC99Extensions
          Set true if C99 extensions are allowed.
protected  boolean allowGNUExtensions
          Set true if GNU extensions are allowed.
static boolean classTrace
           
static boolean fullError
           
protected  boolean strictANSIC
          Set true if strict ANSI C is required
 
Fields inherited from class antlr.Parser
astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMap, traceDepth
 
Fields inherited from interface scale.frontend.c.C99ParserTokenTypes
And, AndAssign, AndCond, Assign, Att, Attributes, BinaryExponentPart, CChar, CCharSequence, CharacterConstant, Colon, Comma, Comp, Constant, Dec, DHatch, Digit, DigitSequence, Dot, DoubleValue, EOF, Equal, EscapeSequence, Exponent, ExponentPart, FloatingSuffix, FloatValue, GEqual, Hatch, HexadecimalDigit, HexDoubleValue, HexFloatValue, HexIntValue, HexLongDoubleValue, HexLongIntValue, HexLongLongIntValue, HexPrefix, HexQuad, HexUnsignedIntValue, HexUnsignedLongIntValue, HexUnsignedLongLongIntValue, Identifier, IdentifierNondigit, Inc, IntegerSuffix, IntValue, KEYWORD___const, KEYWORD___signed__, KEYWORD__Bool, KEYWORD__Complex, KEYWORD__Imaginary, KEYWORD__inline, KEYWORD__inline__, KEYWORD__volatile, KEYWORD_alignof, KEYWORD_auto, KEYWORD_break, KEYWORD_builtin_offsetof, KEYWORD_builtin_va_arg, KEYWORD_case, KEYWORD_char, KEYWORD_const, KEYWORD_continue, KEYWORD_default, KEYWORD_do, KEYWORD_double, KEYWORD_else, KEYWORD_enum, KEYWORD_Extension, KEYWORD_extern, KEYWORD_float, KEYWORD_for, KEYWORD_goto, KEYWORD_if, KEYWORD_inline, KEYWORD_int, KEYWORD_label, KEYWORD_long, KEYWORD_register, KEYWORD_restrict, KEYWORD_return, KEYWORD_short, KEYWORD_signed, KEYWORD_sizeof, KEYWORD_static, KEYWORD_struct, KEYWORD_switch, KEYWORD_typedef, KEYWORD_typeof, KEYWORD_union, KEYWORD_unsigned, KEYWORD_va_arg, KEYWORD_void, KEYWORD_volatile, KEYWORD_while, LAngle, LBrace, LBracket, LColon, LEqual, LineNumber, LITERAL___asm, LITERAL___asm__, LITERAL___restrict, LITERAL_asm, LMod, LongDoubleValue, LongIntValue, LongLongIntValue, LongLongSuffix, LongLongUnsignedSuffix, LongSuffix, LongUnsignedSuffix, LParen, LSAssign, LShift, MCMColon, MColon, Mod, ModAssign, Mult, MultAssign, NEqual, Nondigit, NonzeroDigit, Not, NULL_TREE_LOOKAHEAD, OctalConstant, OctalDigit, Or, OrAssign, OrCond, Plus, PlusAssign, PPError, PPLine, PPWarning, Pragma, QMark, RAngle, RBrace, RBracket, RColon, RMod, RParen, RSAssign, RShift, SChar, Select, Semi, Slash, SlashAssign, StdArg, StringLit, Sub, SubAssign, Text1, Text2, UniversalCharacterName, UnsignedIntValue, UnsignedLongIntValue, UnsignedLongLongIntValue, UnsignedLongLongSuffix, UnsignedLongSuffix, UnsignedSuffix, Varargs, WideCharacterConstant, WideStringLiteral, WS, Xor, XorAssign
 
Constructor Summary
  C99Parser(antlr.ParserSharedInputState state)
           
  C99Parser(antlr.TokenBuffer tokenBuf)
           
protected C99Parser(antlr.TokenBuffer tokenBuf, int k)
           
  C99Parser(antlr.TokenStream lexer)
           
protected C99Parser(antlr.TokenStream lexer, int k)
           
 
Method Summary
protected  Type abstractDeclarator(Type type)
           
protected  Expression additiveExpression()
           
protected  Expression aggregationExpr(Type type)
           
protected  Expression andConditionExpression()
           
protected  Expression andExpression()
           
protected  Vector<Expression> argumentExpressionList()
           
protected  Expression assignmentExpression()
           
protected  int assignmentOperator()
           
protected  Type bracketGroup(Type type, int pos)
           
protected  Expression castExpression()
           
protected  BlockStmt compoundStatement(boolean ftn)
           
protected  Expression conditionalExpression()
           
protected  Expression constantExpression()
           
protected  void declaration(BlockStmt block)
           
protected  Type declarationSpecifiers()
           
protected  Type declarationSpecifiersChk()
           
protected  Declaration declarator(Type type, int sc)
           
protected  Type declarator2(Type type)
           
protected  Vector<java.lang.Object> designation()
           
protected  void designator(Vector<java.lang.Object> v)
           
protected  Type directAbstractDeclarator(Type type)
           
protected  Type directArray(Type type, int pos)
           
protected  Type directDeclarator(Type type)
           
protected  Type directFunction(Type type)
           
protected  Expression enclosedExpression()
           
protected  EnumElementDecl enumerator(EnumElementDecl last)
           
protected  Vector<EnumElementDecl> enumeratorList()
           
protected  Type enumSpecifier()
           
protected  Expression equalityExpression()
           
protected  Expression expression()
           
protected  Statement expressionStatement()
           
protected  FormalDecl formalDeclarator(Type type)
           
protected  Expression ftnCall()
           
protected  void ftnDef(ProcedureType pt, java.lang.String name, java.lang.String attrs, int sc)
           
protected  void ftnOrDecl()
           
protected  void functionSpecifier()
           
protected  Type getAttributes(Type type)
           
protected  Vector<java.lang.String> identifierList()
           
protected  Declaration initDeclarator(Type type, int sc)
           
protected  void initDeclaratorList(Vector<Declaration> vars, Type type, int sc)
           
protected  Expression initializer(Type type)
           
protected  Vector<java.lang.Object> initializerList(Type type)
           
protected  int initializerListItem(Vector<java.lang.Object> v, int nposi, Type type)
           
protected  Statement iterationStatement()
           
protected  Statement jumpStatement()
           
protected  void krArg(ProcedureType pt)
           
protected  Expression memberDesignator(Type type)
           
protected  Expression multiplicativeExpression()
           
protected  Expression offsetof()
           
protected  Expression orConditionExpression()
           
protected  Expression orExpression()
           
protected  FormalDecl parameterDeclaration(int counter)
           
protected  void parameterList(Vector<FormalDecl> v)
           
protected  Vector<FormalDecl> parameterTypeList()
           
protected  Type parenGroup(Type type)
           
 CallGraph parse(CallGraph cg, CPreprocessor cpp, Vector<java.lang.String> warnings)
          This is the main routine for the C parser.
protected  Type pointer(Type type)
           
protected  Expression postfixExpression()
           
protected  Expression primaryExpression()
           
protected  Expression relationalExpression()
           
 void reportError(antlr.RecognitionException ex)
          Over-ride the default ANTLR report error method so that a "fatal error" flag may be set and so that we can format the error report to our taste.
 void reportError(antlr.TokenStreamRecognitionException tex)
          Over-ride the default ANTLR report error method so that a "fatal error" flag may be set and so that we can format the error report to our taste.
protected  Statement selectionStatement()
           
protected  Expression shiftExpression()
           
protected  Type singleType()
           
protected  Expression sizeof()
           
protected  Type specifierQualifierList()
           
protected  Statement statement()
           
protected  void storageClassSpecifier()
           
protected  void structDeclaration(Vector<FieldDecl> fields)
           
protected  void structDeclarationList(Vector<FieldDecl> fields)
           
protected  FieldDecl structDeclarator(Type type)
           
protected  Type structOrUnionSpecifier()
           
 void traceIn(java.lang.String msg)
          Over-ride the default traceIn() method so that the parser can be generated with tracing enabled but tracing only occurs if the user requests it.
 void traceOut(java.lang.String msg)
          Over-ride the default traceOut() method so that the parser can be generated with tracing enabled but tracing only occurs if the user requests it.
protected  void translationUnit()
           
protected  void typeDeclarator(Type type)
           
protected  void typedef()
           
protected  Type typeName()
           
protected  void typeQualifier()
           
protected  void typeQualifierList()
           
protected  void typeSpecifier()
           
protected  void typeSpecifierChk()
           
protected  Expression unaryExpression()
           
protected  Expression vaArg()
           
protected  Expression xorExpression()
           
 
Methods inherited from class antlr.LLkParser
consume, LA, LT
 
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, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, reportError, 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

classTrace

public static boolean classTrace

fullError

public static boolean fullError

allowGNUExtensions

protected boolean allowGNUExtensions
Set true if GNU extensions are allowed.


allowC99Extensions

protected boolean allowC99Extensions
Set true if C99 extensions are allowed.


strictANSIC

protected boolean strictANSIC
Set true if strict ANSI C is required


_tokenNames

public static final java.lang.String[] _tokenNames

_tokenSet_0

public static final antlr.collections.impl.BitSet _tokenSet_0

_tokenSet_1

public static final antlr.collections.impl.BitSet _tokenSet_1

_tokenSet_2

public static final antlr.collections.impl.BitSet _tokenSet_2

_tokenSet_3

public static final antlr.collections.impl.BitSet _tokenSet_3

_tokenSet_4

public static final antlr.collections.impl.BitSet _tokenSet_4

_tokenSet_5

public static final antlr.collections.impl.BitSet _tokenSet_5

_tokenSet_6

public static final antlr.collections.impl.BitSet _tokenSet_6

_tokenSet_7

public static final antlr.collections.impl.BitSet _tokenSet_7

_tokenSet_8

public static final antlr.collections.impl.BitSet _tokenSet_8

_tokenSet_9

public static final antlr.collections.impl.BitSet _tokenSet_9

_tokenSet_10

public static final antlr.collections.impl.BitSet _tokenSet_10

_tokenSet_11

public static final antlr.collections.impl.BitSet _tokenSet_11

_tokenSet_12

public static final antlr.collections.impl.BitSet _tokenSet_12

_tokenSet_13

public static final antlr.collections.impl.BitSet _tokenSet_13

_tokenSet_14

public static final antlr.collections.impl.BitSet _tokenSet_14

_tokenSet_15

public static final antlr.collections.impl.BitSet _tokenSet_15

_tokenSet_16

public static final antlr.collections.impl.BitSet _tokenSet_16

_tokenSet_17

public static final antlr.collections.impl.BitSet _tokenSet_17

_tokenSet_18

public static final antlr.collections.impl.BitSet _tokenSet_18

_tokenSet_19

public static final antlr.collections.impl.BitSet _tokenSet_19

_tokenSet_20

public static final antlr.collections.impl.BitSet _tokenSet_20

_tokenSet_21

public static final antlr.collections.impl.BitSet _tokenSet_21

_tokenSet_22

public static final antlr.collections.impl.BitSet _tokenSet_22

_tokenSet_23

public static final antlr.collections.impl.BitSet _tokenSet_23

_tokenSet_24

public static final antlr.collections.impl.BitSet _tokenSet_24

_tokenSet_25

public static final antlr.collections.impl.BitSet _tokenSet_25

_tokenSet_26

public static final antlr.collections.impl.BitSet _tokenSet_26

_tokenSet_27

public static final antlr.collections.impl.BitSet _tokenSet_27

_tokenSet_28

public static final antlr.collections.impl.BitSet _tokenSet_28

_tokenSet_29

public static final antlr.collections.impl.BitSet _tokenSet_29

_tokenSet_30

public static final antlr.collections.impl.BitSet _tokenSet_30

_tokenSet_31

public static final antlr.collections.impl.BitSet _tokenSet_31

_tokenSet_32

public static final antlr.collections.impl.BitSet _tokenSet_32

_tokenSet_33

public static final antlr.collections.impl.BitSet _tokenSet_33

_tokenSet_34

public static final antlr.collections.impl.BitSet _tokenSet_34

_tokenSet_35

public static final antlr.collections.impl.BitSet _tokenSet_35

_tokenSet_36

public static final antlr.collections.impl.BitSet _tokenSet_36

_tokenSet_37

public static final antlr.collections.impl.BitSet _tokenSet_37

_tokenSet_38

public static final antlr.collections.impl.BitSet _tokenSet_38

_tokenSet_39

public static final antlr.collections.impl.BitSet _tokenSet_39

_tokenSet_40

public static final antlr.collections.impl.BitSet _tokenSet_40

_tokenSet_41

public static final antlr.collections.impl.BitSet _tokenSet_41

_tokenSet_42

public static final antlr.collections.impl.BitSet _tokenSet_42

_tokenSet_43

public static final antlr.collections.impl.BitSet _tokenSet_43

_tokenSet_44

public static final antlr.collections.impl.BitSet _tokenSet_44

_tokenSet_45

public static final antlr.collections.impl.BitSet _tokenSet_45

_tokenSet_46

public static final antlr.collections.impl.BitSet _tokenSet_46

_tokenSet_47

public static final antlr.collections.impl.BitSet _tokenSet_47

_tokenSet_48

public static final antlr.collections.impl.BitSet _tokenSet_48

_tokenSet_49

public static final antlr.collections.impl.BitSet _tokenSet_49

_tokenSet_50

public static final antlr.collections.impl.BitSet _tokenSet_50

_tokenSet_51

public static final antlr.collections.impl.BitSet _tokenSet_51

_tokenSet_52

public static final antlr.collections.impl.BitSet _tokenSet_52

_tokenSet_53

public static final antlr.collections.impl.BitSet _tokenSet_53

_tokenSet_54

public static final antlr.collections.impl.BitSet _tokenSet_54

_tokenSet_55

public static final antlr.collections.impl.BitSet _tokenSet_55

_tokenSet_56

public static final antlr.collections.impl.BitSet _tokenSet_56

_tokenSet_57

public static final antlr.collections.impl.BitSet _tokenSet_57

_tokenSet_58

public static final antlr.collections.impl.BitSet _tokenSet_58

_tokenSet_59

public static final antlr.collections.impl.BitSet _tokenSet_59

_tokenSet_60

public static final antlr.collections.impl.BitSet _tokenSet_60

_tokenSet_61

public static final antlr.collections.impl.BitSet _tokenSet_61

_tokenSet_62

public static final antlr.collections.impl.BitSet _tokenSet_62

_tokenSet_63

public static final antlr.collections.impl.BitSet _tokenSet_63

_tokenSet_64

public static final antlr.collections.impl.BitSet _tokenSet_64

_tokenSet_65

public static final antlr.collections.impl.BitSet _tokenSet_65

_tokenSet_66

public static final antlr.collections.impl.BitSet _tokenSet_66

_tokenSet_67

public static final antlr.collections.impl.BitSet _tokenSet_67

_tokenSet_68

public static final antlr.collections.impl.BitSet _tokenSet_68

_tokenSet_69

public static final antlr.collections.impl.BitSet _tokenSet_69

_tokenSet_70

public static final antlr.collections.impl.BitSet _tokenSet_70

_tokenSet_71

public static final antlr.collections.impl.BitSet _tokenSet_71

_tokenSet_72

public static final antlr.collections.impl.BitSet _tokenSet_72

_tokenSet_73

public static final antlr.collections.impl.BitSet _tokenSet_73

_tokenSet_74

public static final antlr.collections.impl.BitSet _tokenSet_74
Constructor Detail

C99Parser

protected C99Parser(antlr.TokenBuffer tokenBuf,
                    int k)

C99Parser

public C99Parser(antlr.TokenBuffer tokenBuf)

C99Parser

protected C99Parser(antlr.TokenStream lexer,
                    int k)

C99Parser

public C99Parser(antlr.TokenStream lexer)

C99Parser

public C99Parser(antlr.ParserSharedInputState state)
Method Detail

parse

public CallGraph parse(CallGraph cg,
                       CPreprocessor cpp,
                       Vector<java.lang.String> warnings)
This is the main routine for the C parser.

Parameters:
cg - is the CallGraph to be populated from the source code
cpp - is the C pre-processor in use
warnings - is a vector in which any warning messages are added

traceIn

public void traceIn(java.lang.String msg)
             throws antlr.TokenStreamException
Over-ride the default traceIn() method so that the parser can be generated with tracing enabled but tracing only occurs if the user requests it.

Overrides:
traceIn in class antlr.LLkParser
Throws:
antlr.TokenStreamException

traceOut

public void traceOut(java.lang.String msg)
              throws antlr.TokenStreamException
Over-ride the default traceOut() method so that the parser can be generated with tracing enabled but tracing only occurs if the user requests it.

Overrides:
traceOut in class antlr.LLkParser
Throws:
antlr.TokenStreamException

reportError

public void reportError(antlr.TokenStreamRecognitionException tex)
Over-ride the default ANTLR report error method so that a "fatal error" flag may be set and so that we can format the error report to our taste.


reportError

public void reportError(antlr.RecognitionException ex)
Over-ride the default ANTLR report error method so that a "fatal error" flag may be set and so that we can format the error report to our taste.

Overrides:
reportError in class antlr.Parser

primaryExpression

protected final Expression primaryExpression()
                                      throws antlr.RecognitionException,
                                             antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

compoundStatement

protected final BlockStmt compoundStatement(boolean ftn)
                                     throws antlr.RecognitionException,
                                            antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

expression

protected final Expression expression()
                               throws antlr.RecognitionException,
                                      antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

postfixExpression

protected final Expression postfixExpression()
                                      throws antlr.RecognitionException,
                                             antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

typeName

protected final Type typeName()
                       throws antlr.RecognitionException,
                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

aggregationExpr

protected final Expression aggregationExpr(Type type)
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

ftnCall

protected final Expression ftnCall()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

vaArg

protected final Expression vaArg()
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

argumentExpressionList

protected final Vector<Expression> argumentExpressionList()
                                                   throws antlr.RecognitionException,
                                                          antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

singleType

protected final Type singleType()
                         throws antlr.RecognitionException,
                                antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

conditionalExpression

protected final Expression conditionalExpression()
                                          throws antlr.RecognitionException,
                                                 antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

assignmentExpression

protected final Expression assignmentExpression()
                                         throws antlr.RecognitionException,
                                                antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

unaryExpression

protected final Expression unaryExpression()
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

castExpression

protected final Expression castExpression()
                                   throws antlr.RecognitionException,
                                          antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

sizeof

protected final Expression sizeof()
                           throws antlr.RecognitionException,
                                  antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

offsetof

protected final Expression offsetof()
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

memberDesignator

protected final Expression memberDesignator(Type type)
                                     throws antlr.RecognitionException,
                                            antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

declarationSpecifiers

protected final Type declarationSpecifiers()
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

abstractDeclarator

protected final Type abstractDeclarator(Type type)
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

initializerList

protected final Vector<java.lang.Object> initializerList(Type type)
                                                  throws antlr.RecognitionException,
                                                         antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

multiplicativeExpression

protected final Expression multiplicativeExpression()
                                             throws antlr.RecognitionException,
                                                    antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

additiveExpression

protected final Expression additiveExpression()
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

shiftExpression

protected final Expression shiftExpression()
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

relationalExpression

protected final Expression relationalExpression()
                                         throws antlr.RecognitionException,
                                                antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

equalityExpression

protected final Expression equalityExpression()
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

andExpression

protected final Expression andExpression()
                                  throws antlr.RecognitionException,
                                         antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

xorExpression

protected final Expression xorExpression()
                                  throws antlr.RecognitionException,
                                         antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

orExpression

protected final Expression orExpression()
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

andConditionExpression

protected final Expression andConditionExpression()
                                           throws antlr.RecognitionException,
                                                  antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

orConditionExpression

protected final Expression orConditionExpression()
                                          throws antlr.RecognitionException,
                                                 antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

assignmentOperator

protected final int assignmentOperator()
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

constantExpression

protected final Expression constantExpression()
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

declaration

protected final void declaration(BlockStmt block)
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

initDeclaratorList

protected final void initDeclaratorList(Vector<Declaration> vars,
                                        Type type,
                                        int sc)
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

storageClassSpecifier

protected final void storageClassSpecifier()
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

typeQualifier

protected final void typeQualifier()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

functionSpecifier

protected final void functionSpecifier()
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

typeSpecifier

protected final void typeSpecifier()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

declarationSpecifiersChk

protected final Type declarationSpecifiersChk()
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

typeSpecifierChk

protected final void typeSpecifierChk()
                               throws antlr.RecognitionException,
                                      antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

initDeclarator

protected final Declaration initDeclarator(Type type,
                                           int sc)
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

declarator

protected final Declaration declarator(Type type,
                                       int sc)
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

initializer

protected final Expression initializer(Type type)
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

declarator2

protected final Type declarator2(Type type)
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

pointer

protected final Type pointer(Type type)
                      throws antlr.RecognitionException,
                             antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

directDeclarator

protected final Type directDeclarator(Type type)
                               throws antlr.RecognitionException,
                                      antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

parenGroup

protected final Type parenGroup(Type type)
                         throws antlr.RecognitionException,
                                antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

bracketGroup

protected final Type bracketGroup(Type type,
                                  int pos)
                           throws antlr.RecognitionException,
                                  antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

structOrUnionSpecifier

protected final Type structOrUnionSpecifier()
                                     throws antlr.RecognitionException,
                                            antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

enumSpecifier

protected final Type enumSpecifier()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

structDeclarationList

protected final void structDeclarationList(Vector<FieldDecl> fields)
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

structDeclaration

protected final void structDeclaration(Vector<FieldDecl> fields)
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

specifierQualifierList

protected final Type specifierQualifierList()
                                     throws antlr.RecognitionException,
                                            antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

structDeclarator

protected final FieldDecl structDeclarator(Type type)
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

getAttributes

protected final Type getAttributes(Type type)
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

enumeratorList

protected final Vector<EnumElementDecl> enumeratorList()
                                                throws antlr.RecognitionException,
                                                       antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

enumerator

protected final EnumElementDecl enumerator(EnumElementDecl last)
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

typeQualifierList

protected final void typeQualifierList()
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

identifierList

protected final Vector<java.lang.String> identifierList()
                                                 throws antlr.RecognitionException,
                                                        antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

parameterTypeList

protected final Vector<FormalDecl> parameterTypeList()
                                              throws antlr.RecognitionException,
                                                     antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

parameterList

protected final void parameterList(Vector<FormalDecl> v)
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

parameterDeclaration

protected final FormalDecl parameterDeclaration(int counter)
                                         throws antlr.RecognitionException,
                                                antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

formalDeclarator

protected final FormalDecl formalDeclarator(Type type)
                                     throws antlr.RecognitionException,
                                            antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

directAbstractDeclarator

protected final Type directAbstractDeclarator(Type type)
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

directFunction

protected final Type directFunction(Type type)
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

directArray

protected final Type directArray(Type type,
                                 int pos)
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

initializerListItem

protected final int initializerListItem(Vector<java.lang.Object> v,
                                        int nposi,
                                        Type type)
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

designation

protected final Vector<java.lang.Object> designation()
                                              throws antlr.RecognitionException,
                                                     antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

designator

protected final void designator(Vector<java.lang.Object> v)
                         throws antlr.RecognitionException,
                                antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

statement

protected final Statement statement()
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

expressionStatement

protected final Statement expressionStatement()
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

selectionStatement

protected final Statement selectionStatement()
                                      throws antlr.RecognitionException,
                                             antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

iterationStatement

protected final Statement iterationStatement()
                                      throws antlr.RecognitionException,
                                             antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

jumpStatement

protected final Statement jumpStatement()
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

typedef

protected final void typedef()
                      throws antlr.RecognitionException,
                             antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

enclosedExpression

protected final Expression enclosedExpression()
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

typeDeclarator

protected final void typeDeclarator(Type type)
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

translationUnit

protected final void translationUnit()
                              throws antlr.RecognitionException,
                                     antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

ftnOrDecl

protected final void ftnOrDecl()
                        throws antlr.RecognitionException,
                               antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

ftnDef

protected final void ftnDef(ProcedureType pt,
                            java.lang.String name,
                            java.lang.String attrs,
                            int sc)
                     throws antlr.RecognitionException,
                            antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException

krArg

protected final void krArg(ProcedureType pt)
                    throws antlr.RecognitionException,
                           antlr.TokenStreamException
Throws:
antlr.RecognitionException
antlr.TokenStreamException