ansi_c

package
v0.0.0-...-dd1d5c9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2023 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CIdentifierToken    = CSymbolId(256)
	CConstantToken      = CSymbolId(257)
	CStringLiteralToken = CSymbolId(258)
	CSizeofToken        = CSymbolId(259)
	CPtrOpToken         = CSymbolId(260)
	CIncOpToken         = CSymbolId(261)
	CDecOpToken         = CSymbolId(262)
	CLeftOpToken        = CSymbolId(263)
	CRightOpToken       = CSymbolId(264)
	CLeOpToken          = CSymbolId(265)
	CGeOpToken          = CSymbolId(266)
	CEqOpToken          = CSymbolId(267)
	CNeOpToken          = CSymbolId(268)
	CAndOpToken         = CSymbolId(269)
	COrOpToken          = CSymbolId(270)
	CMulAssignToken     = CSymbolId(271)
	CDivAssignToken     = CSymbolId(272)
	CModAssignToken     = CSymbolId(273)
	CAddAssignToken     = CSymbolId(274)
	CSubAssignToken     = CSymbolId(275)
	CLeftAssignToken    = CSymbolId(276)
	CRightAssignToken   = CSymbolId(277)
	CAndAssignToken     = CSymbolId(278)
	CXorAssignToken     = CSymbolId(279)
	COrAssignToken      = CSymbolId(280)
	CTypeNameToken      = CSymbolId(281)
	CTypedefToken       = CSymbolId(282)
	CExternToken        = CSymbolId(283)
	CStaticToken        = CSymbolId(284)
	CAutoToken          = CSymbolId(285)
	CRegisterToken      = CSymbolId(286)
	CCharToken          = CSymbolId(287)
	CShortToken         = CSymbolId(288)
	CIntToken           = CSymbolId(289)
	CLongToken          = CSymbolId(290)
	CSignedToken        = CSymbolId(291)
	CUnsignedToken      = CSymbolId(292)
	CFloatToken         = CSymbolId(293)
	CDoubleToken        = CSymbolId(294)
	CConstToken         = CSymbolId(295)
	CVolatileToken      = CSymbolId(296)
	CVoidToken          = CSymbolId(297)
	CStructToken        = CSymbolId(298)
	CUnionToken         = CSymbolId(299)
	CEnumToken          = CSymbolId(300)
	CEllipsisToken      = CSymbolId(301)
	CCaseToken          = CSymbolId(302)
	CDefaultToken       = CSymbolId(303)
	CIfToken            = CSymbolId(304)
	CElseToken          = CSymbolId(305)
	CSwitchToken        = CSymbolId(306)
	CWhileToken         = CSymbolId(307)
	CDoToken            = CSymbolId(308)
	CForToken           = CSymbolId(309)
	CGotoToken          = CSymbolId(310)
	CContinueToken      = CSymbolId(311)
	CBreakToken         = CSymbolId(312)
	CReturnToken        = CSymbolId(313)
)
View Source
const (
	CPrimaryExpressionType        = CSymbolId(338)
	CPostfixExpressionType        = CSymbolId(339)
	CArgumentExpressionListType   = CSymbolId(340)
	CUnaryExpressionType          = CSymbolId(341)
	CUnaryOperatorType            = CSymbolId(342)
	CCastExpressionType           = CSymbolId(343)
	CMultiplicativeExpressionType = CSymbolId(344)
	CAdditiveExpressionType       = CSymbolId(345)
	CShiftExpressionType          = CSymbolId(346)
	CRelationalExpressionType     = CSymbolId(347)
	CEqualityExpressionType       = CSymbolId(348)
	CAndExpressionType            = CSymbolId(349)
	CExclusiveOrExpressionType    = CSymbolId(350)
	CInclusiveOrExpressionType    = CSymbolId(351)
	CLogicalAndExpressionType     = CSymbolId(352)
	CLogicalOrExpressionType      = CSymbolId(353)
	CConditionalExpressionType    = CSymbolId(354)
	CAssignmentExpressionType     = CSymbolId(355)
	CAssignmentOperatorType       = CSymbolId(356)
	CExpressionType               = CSymbolId(357)
	CConstantExpressionType       = CSymbolId(358)
	CDeclarationType              = CSymbolId(359)
	CDeclarationSpecifiersType    = CSymbolId(360)
	CInitDeclaratorListType       = CSymbolId(361)
	CInitDeclaratorType           = CSymbolId(362)
	CStorageClassSpecifierType    = CSymbolId(363)
	CTypeSpecifierType            = CSymbolId(364)
	CStructOrUnionSpecifierType   = CSymbolId(365)
	CStructOrUnionType            = CSymbolId(366)
	CStructDeclarationListType    = CSymbolId(367)
	CStructDeclarationType        = CSymbolId(368)
	CSpecifierQualifierListType   = CSymbolId(369)
	CStructDeclaratorListType     = CSymbolId(370)
	CStructDeclaratorType         = CSymbolId(371)
	CEnumSpecifierType            = CSymbolId(372)
	CEnumeratorListType           = CSymbolId(373)
	CEnumeratorType               = CSymbolId(374)
	CTypeQualifierType            = CSymbolId(375)
	CDeclaratorType               = CSymbolId(376)
	CDirectDeclaratorType         = CSymbolId(377)
	CPointerType                  = CSymbolId(378)
	CTypeQualifierListType        = CSymbolId(379)
	CParameterTypeListType        = CSymbolId(380)
	CParameterListType            = CSymbolId(381)
	CParameterDeclarationType     = CSymbolId(382)
	CIdentifierListType           = CSymbolId(383)
	CTypeNameType                 = CSymbolId(384)
	CAbstractDeclaratorType       = CSymbolId(385)
	CDirectAbstractDeclaratorType = CSymbolId(386)
	CInitializerType              = CSymbolId(387)
	CInitializerListType          = CSymbolId(388)
	CStatementType                = CSymbolId(389)
	CLabeledStatementType         = CSymbolId(390)
	CCompoundStatementType        = CSymbolId(391)
	CDeclarationListType          = CSymbolId(392)
	CStatementListType            = CSymbolId(393)
	CExpressionStatementType      = CSymbolId(394)
	CSelectionStatementType       = CSymbolId(395)
	CIterationStatementType       = CSymbolId(396)
	CJumpStatementType            = CSymbolId(397)
	CTranslationUnitType          = CSymbolId(398)
	CExternalDeclarationType      = CSymbolId(399)
	CFunctionDefinitionType       = CSymbolId(400)
)
View Source
const ADD_ASSIGN = 57364
View Source
const AND_ASSIGN = 57368
View Source
const AND_OP = 57359
View Source
const AUTO = 57375
View Source
const BREAK = 57402
View Source
const CASE = 57392
View Source
const CHAR = 57377
View Source
const CONST = 57385
View Source
const CONSTANT = 57347
View Source
const CONTINUE = 57401
View Source
const DEC_OP = 57352
View Source
const DEFAULT = 57393
View Source
const DIV_ASSIGN = 57362
View Source
const DO = 57398
View Source
const DOUBLE = 57384
View Source
const ELLIPSIS = 57391
View Source
const ELSE = 57395
View Source
const ENUM = 57390
View Source
const EQ_OP = 57357
View Source
const EXTERN = 57373
View Source
const FLOAT = 57383
View Source
const FOR = 57399
View Source
const GE_OP = 57356
View Source
const GOTO = 57400
View Source
const IDENTIFIER = 57346
View Source
const IF = 57394
View Source
const INC_OP = 57351
View Source
const INT = 57379
View Source
const LEFT_ASSIGN = 57366
View Source
const LEFT_OP = 57353
View Source
const LE_OP = 57355
View Source
const LONG = 57380
View Source
const MOD_ASSIGN = 57363
View Source
const MUL_ASSIGN = 57361
View Source
const NE_OP = 57358
View Source
const OR_ASSIGN = 57370
View Source
const OR_OP = 57360
View Source
const PTR_OP = 57350
View Source
const REGISTER = 57376
View Source
const RETURN = 57403
View Source
const RIGHT_ASSIGN = 57367
View Source
const RIGHT_OP = 57354
View Source
const SHORT = 57378
View Source
const SIGNED = 57381
View Source
const SIZEOF = 57349
View Source
const STATIC = 57374
View Source
const STRING_LITERAL = 57348
View Source
const STRUCT = 57388
View Source
const SUB_ASSIGN = 57365
View Source
const SWITCH = 57396
View Source
const TYPEDEF = 57372
View Source
const TYPE_NAME = 57371
View Source
const UNION = 57389
View Source
const UNSIGNED = 57382
View Source
const VOID = 57387
View Source
const VOLATILE = 57386
View Source
const WHILE = 57397
View Source
const XOR_ASSIGN = 57369
View Source
const YCEofCode = 1
View Source
const YCErrCode = 2
View Source
const YCFlag = -1000
View Source
const YCInitialStackSize = 16
View Source
const YCLast = 1280
View Source
const YCPrivate = 57344

Variables

View Source
var (
	YCDebug        = 0
	YCErrorVerbose = false
)
View Source
var YCAct = [...]int{}/* 1280 elements not displayed */
View Source
var YCChk = [...]int{}/* 349 elements not displayed */
View Source
var YCDef = [...]int{}/* 349 elements not displayed */
View Source
var YCErrorMessages = [...]struct {
	state int
	token int
	msg   string
}{}
View Source
var YCExca = [...]int{
	-1, 1,
	1, -1,
	-2, 0,
}
View Source
var YCPact = [...]int{}/* 349 elements not displayed */
View Source
var YCPgo = [...]int{
	0, 428, 427, 34, 426, 419, 7, 1, 418, 8,
	24, 35, 44, 51, 45, 18, 23, 64, 67, 80,
	417, 2, 416, 17, 301, 12, 415, 405, 50, 236,
	269, 5, 10, 401, 378, 374, 28, 25, 179, 371,
	6, 27, 4, 26, 19, 3, 370, 369, 368, 16,
	31, 15, 366, 0, 365, 742, 9, 364, 363, 360,
	106, 505, 353, 354,
}
View Source
var YCR1 = [...]int{}/* 212 elements not displayed */
View Source
var YCR2 = [...]int{}/* 212 elements not displayed */
View Source
var YCStatenames = [...]string{}
View Source
var YCTok1 = [...]int{}/* 127 elements not displayed */
View Source
var YCTok2 = [...]int{
	2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
	12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
	22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
	32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
	42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
	52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
}
View Source
var YCTok3 = [...]int{
	0,
}
View Source
var YCToknames = [...]string{
	"$end",
	"error",
	"$unk",
	"IDENTIFIER",
	"CONSTANT",
	"STRING_LITERAL",
	"SIZEOF",
	"PTR_OP",
	"INC_OP",
	"DEC_OP",
	"LEFT_OP",
	"RIGHT_OP",
	"LE_OP",
	"GE_OP",
	"EQ_OP",
	"NE_OP",
	"AND_OP",
	"OR_OP",
	"MUL_ASSIGN",
	"DIV_ASSIGN",
	"MOD_ASSIGN",
	"ADD_ASSIGN",
	"SUB_ASSIGN",
	"LEFT_ASSIGN",
	"RIGHT_ASSIGN",
	"AND_ASSIGN",
	"XOR_ASSIGN",
	"OR_ASSIGN",
	"TYPE_NAME",
	"TYPEDEF",
	"EXTERN",
	"STATIC",
	"AUTO",
	"REGISTER",
	"CHAR",
	"SHORT",
	"INT",
	"LONG",
	"SIGNED",
	"UNSIGNED",
	"FLOAT",
	"DOUBLE",
	"CONST",
	"VOLATILE",
	"VOID",
	"STRUCT",
	"UNION",
	"ENUM",
	"ELLIPSIS",
	"CASE",
	"DEFAULT",
	"IF",
	"ELSE",
	"SWITCH",
	"WHILE",
	"DO",
	"FOR",
	"GOTO",
	"CONTINUE",
	"BREAK",
	"RETURN",
	"'('",
	"')'",
	"'['",
	"']'",
	"'.'",
	"','",
	"'&'",
	"'*'",
	"'+'",
	"'-'",
	"'~'",
	"'!'",
	"'/'",
	"'%'",
	"'<'",
	"'>'",
	"'^'",
	"'|'",
	"'?'",
	"':'",
	"'='",
	"';'",
	"'{'",
	"'}'",
}

Functions

func YCErrorMessage

func YCErrorMessage(state, lookAhead int) string

func YCParse

func YCParse(YClex YCLexer) int

func YCStatname

func YCStatname(s int) string

func YCTokname

func YCTokname(c int) string

func YClex1

func YClex1(lex YCLexer, lval *YCSymType) (char, token int)

Types

type CDefaultParseErrorHandler

type CDefaultParseErrorHandler struct{}

func (CDefaultParseErrorHandler) Error

func (CDefaultParseErrorHandler) Error(nextToken CToken, stack _CStack) error

type CGenericSymbol

type CGenericSymbol struct {
	CSymbolId
	CLocation
}

func CParse

func CParse(lexer CLexer, reducer CReducer) (*CGenericSymbol, error)

func CParseWithCustomErrorHandler

func CParseWithCustomErrorHandler(
	lexer CLexer,
	reducer CReducer,
	errHandler CParseErrorHandler) (
	*CGenericSymbol,
	error)

func (*CGenericSymbol) Id

func (t *CGenericSymbol) Id() CSymbolId

func (*CGenericSymbol) Loc

func (t *CGenericSymbol) Loc() CLocation

type CLexer

type CLexer interface {
	// Note: Return io.EOF to indicate end of stream
	// Token with unspecified value type should return *CGenericSymbol
	Next() (CToken, error)

	CurrentLocation() CLocation
}

type CLocation

type CLocation struct {
	FileName string
	Line     int
	Column   int
}

func (CLocation) ShortString

func (l CLocation) ShortString() string

func (CLocation) String

func (l CLocation) String() string

type CParseErrorHandler

type CParseErrorHandler interface {
	Error(nextToken CToken, parseStack _CStack) error
}

type CReducer

type CReducer interface {
	// 83:4: primary_expression -> a: ...
	AToPrimaryExpression(Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 84:4: primary_expression -> b: ...
	BToPrimaryExpression(Constant_ *CGenericSymbol) (*CGenericSymbol, error)

	// 85:4: primary_expression -> c: ...
	CToPrimaryExpression(StringLiteral_ *CGenericSymbol) (*CGenericSymbol, error)

	// 86:4: primary_expression -> d: ...
	DToPrimaryExpression(char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 89:4: postfix_expression -> a: ...
	AToPostfixExpression(PrimaryExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 90:4: postfix_expression -> b: ...
	BToPostfixExpression(PostfixExpression_ *CGenericSymbol, char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 91:4: postfix_expression -> c: ...
	CToPostfixExpression(PostfixExpression_ *CGenericSymbol, char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 92:4: postfix_expression -> d: ...
	DToPostfixExpression(PostfixExpression_ *CGenericSymbol, char *CGenericSymbol, ArgumentExpressionList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 93:4: postfix_expression -> e: ...
	EToPostfixExpression(PostfixExpression_ *CGenericSymbol, char *CGenericSymbol, Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 94:4: postfix_expression -> f: ...
	FToPostfixExpression(PostfixExpression_ *CGenericSymbol, PtrOp_ *CGenericSymbol, Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 95:4: postfix_expression -> g: ...
	GToPostfixExpression(PostfixExpression_ *CGenericSymbol, IncOp_ *CGenericSymbol) (*CGenericSymbol, error)

	// 96:4: postfix_expression -> h: ...
	HToPostfixExpression(PostfixExpression_ *CGenericSymbol, DecOp_ *CGenericSymbol) (*CGenericSymbol, error)

	// 99:4: argument_expression_list -> a: ...
	AToArgumentExpressionList(AssignmentExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 100:4: argument_expression_list -> b: ...
	BToArgumentExpressionList(ArgumentExpressionList_ *CGenericSymbol, char *CGenericSymbol, AssignmentExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 103:4: unary_expression -> a: ...
	AToUnaryExpression(PostfixExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 104:4: unary_expression -> b: ...
	BToUnaryExpression(IncOp_ *CGenericSymbol, UnaryExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 105:4: unary_expression -> c: ...
	CToUnaryExpression(DecOp_ *CGenericSymbol, UnaryExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 106:4: unary_expression -> d: ...
	DToUnaryExpression(UnaryOperator_ *CGenericSymbol, CastExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 107:4: unary_expression -> e: ...
	EToUnaryExpression(Sizeof_ *CGenericSymbol, UnaryExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 108:4: unary_expression -> f: ...
	FToUnaryExpression(Sizeof_ *CGenericSymbol, char *CGenericSymbol, TypeName_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 111:4: unary_operator -> a: ...
	AToUnaryOperator(char *CGenericSymbol) (*CGenericSymbol, error)

	// 112:4: unary_operator -> b: ...
	BToUnaryOperator(char *CGenericSymbol) (*CGenericSymbol, error)

	// 113:4: unary_operator -> c: ...
	CToUnaryOperator(char *CGenericSymbol) (*CGenericSymbol, error)

	// 114:4: unary_operator -> d: ...
	DToUnaryOperator(char *CGenericSymbol) (*CGenericSymbol, error)

	// 115:4: unary_operator -> e: ...
	EToUnaryOperator(char *CGenericSymbol) (*CGenericSymbol, error)

	// 116:4: unary_operator -> f: ...
	FToUnaryOperator(char *CGenericSymbol) (*CGenericSymbol, error)

	// 119:4: cast_expression -> a: ...
	AToCastExpression(UnaryExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 120:4: cast_expression -> b: ...
	BToCastExpression(char *CGenericSymbol, TypeName_ *CGenericSymbol, char2 *CGenericSymbol, CastExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 123:4: multiplicative_expression -> a: ...
	AToMultiplicativeExpression(CastExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 124:4: multiplicative_expression -> b: ...
	BToMultiplicativeExpression(MultiplicativeExpression_ *CGenericSymbol, char *CGenericSymbol, CastExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 125:4: multiplicative_expression -> c: ...
	CToMultiplicativeExpression(MultiplicativeExpression_ *CGenericSymbol, char *CGenericSymbol, CastExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 126:4: multiplicative_expression -> d: ...
	DToMultiplicativeExpression(MultiplicativeExpression_ *CGenericSymbol, char *CGenericSymbol, CastExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 129:4: additive_expression -> a: ...
	AToAdditiveExpression(MultiplicativeExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 130:4: additive_expression -> b: ...
	BToAdditiveExpression(AdditiveExpression_ *CGenericSymbol, char *CGenericSymbol, MultiplicativeExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 131:4: additive_expression -> c: ...
	CToAdditiveExpression(AdditiveExpression_ *CGenericSymbol, char *CGenericSymbol, MultiplicativeExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 134:4: shift_expression -> a: ...
	AToShiftExpression(AdditiveExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 135:4: shift_expression -> b: ...
	BToShiftExpression(ShiftExpression_ *CGenericSymbol, LeftOp_ *CGenericSymbol, AdditiveExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 136:4: shift_expression -> c: ...
	CToShiftExpression(ShiftExpression_ *CGenericSymbol, RightOp_ *CGenericSymbol, AdditiveExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 139:4: relational_expression -> a: ...
	AToRelationalExpression(ShiftExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 140:4: relational_expression -> b: ...
	BToRelationalExpression(RelationalExpression_ *CGenericSymbol, char *CGenericSymbol, ShiftExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 141:4: relational_expression -> c: ...
	CToRelationalExpression(RelationalExpression_ *CGenericSymbol, char *CGenericSymbol, ShiftExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 142:4: relational_expression -> d: ...
	DToRelationalExpression(RelationalExpression_ *CGenericSymbol, LeOp_ *CGenericSymbol, ShiftExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 143:4: relational_expression -> e: ...
	EToRelationalExpression(RelationalExpression_ *CGenericSymbol, GeOp_ *CGenericSymbol, ShiftExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 146:4: equality_expression -> a: ...
	AToEqualityExpression(RelationalExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 147:4: equality_expression -> b: ...
	BToEqualityExpression(EqualityExpression_ *CGenericSymbol, EqOp_ *CGenericSymbol, RelationalExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 148:4: equality_expression -> c: ...
	CToEqualityExpression(EqualityExpression_ *CGenericSymbol, NeOp_ *CGenericSymbol, RelationalExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 151:4: and_expression -> a: ...
	AToAndExpression(EqualityExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 152:4: and_expression -> b: ...
	BToAndExpression(AndExpression_ *CGenericSymbol, char *CGenericSymbol, EqualityExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 155:4: exclusive_or_expression -> a: ...
	AToExclusiveOrExpression(AndExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 156:4: exclusive_or_expression -> b: ...
	BToExclusiveOrExpression(ExclusiveOrExpression_ *CGenericSymbol, char *CGenericSymbol, AndExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 159:4: inclusive_or_expression -> a: ...
	AToInclusiveOrExpression(ExclusiveOrExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 160:4: inclusive_or_expression -> b: ...
	BToInclusiveOrExpression(InclusiveOrExpression_ *CGenericSymbol, char *CGenericSymbol, ExclusiveOrExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 163:4: logical_and_expression -> a: ...
	AToLogicalAndExpression(InclusiveOrExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 164:4: logical_and_expression -> b: ...
	BToLogicalAndExpression(LogicalAndExpression_ *CGenericSymbol, AndOp_ *CGenericSymbol, InclusiveOrExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 167:4: logical_or_expression -> a: ...
	AToLogicalOrExpression(LogicalAndExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 168:4: logical_or_expression -> b: ...
	BToLogicalOrExpression(LogicalOrExpression_ *CGenericSymbol, OrOp_ *CGenericSymbol, LogicalAndExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 171:4: conditional_expression -> a: ...
	AToConditionalExpression(LogicalOrExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 172:4: conditional_expression -> b: ...
	BToConditionalExpression(LogicalOrExpression_ *CGenericSymbol, char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol, ConditionalExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 175:4: assignment_expression -> a: ...
	AToAssignmentExpression(ConditionalExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 176:4: assignment_expression -> b: ...
	BToAssignmentExpression(UnaryExpression_ *CGenericSymbol, AssignmentOperator_ *CGenericSymbol, AssignmentExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 179:4: assignment_operator -> a: ...
	AToAssignmentOperator(char *CGenericSymbol) (*CGenericSymbol, error)

	// 180:4: assignment_operator -> b: ...
	BToAssignmentOperator(MulAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 181:4: assignment_operator -> c: ...
	CToAssignmentOperator(DivAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 182:4: assignment_operator -> d: ...
	DToAssignmentOperator(ModAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 183:4: assignment_operator -> e: ...
	EToAssignmentOperator(AddAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 184:4: assignment_operator -> f: ...
	FToAssignmentOperator(SubAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 185:4: assignment_operator -> g: ...
	GToAssignmentOperator(LeftAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 186:4: assignment_operator -> h: ...
	HToAssignmentOperator(RightAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 187:4: assignment_operator -> i: ...
	IToAssignmentOperator(AndAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 188:4: assignment_operator -> j: ...
	JToAssignmentOperator(XorAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 189:4: assignment_operator -> k: ...
	KToAssignmentOperator(OrAssign_ *CGenericSymbol) (*CGenericSymbol, error)

	// 192:4: expression -> a: ...
	AToExpression(AssignmentExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 193:4: expression -> b: ...
	BToExpression(Expression_ *CGenericSymbol, char *CGenericSymbol, AssignmentExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 196:4: constant_expression -> a: ...
	AToConstantExpression(ConditionalExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 199:4: declaration -> a: ...
	AToDeclaration(DeclarationSpecifiers_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 200:4: declaration -> b: ...
	BToDeclaration(DeclarationSpecifiers_ *CGenericSymbol, InitDeclaratorList_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 203:4: declaration_specifiers -> a: ...
	AToDeclarationSpecifiers(StorageClassSpecifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 204:4: declaration_specifiers -> b: ...
	BToDeclarationSpecifiers(StorageClassSpecifier_ *CGenericSymbol, DeclarationSpecifiers_ *CGenericSymbol) (*CGenericSymbol, error)

	// 205:4: declaration_specifiers -> c: ...
	CToDeclarationSpecifiers(TypeSpecifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 206:4: declaration_specifiers -> d: ...
	DToDeclarationSpecifiers(TypeSpecifier_ *CGenericSymbol, DeclarationSpecifiers_ *CGenericSymbol) (*CGenericSymbol, error)

	// 207:4: declaration_specifiers -> e: ...
	EToDeclarationSpecifiers(TypeQualifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 208:4: declaration_specifiers -> f: ...
	FToDeclarationSpecifiers(TypeQualifier_ *CGenericSymbol, DeclarationSpecifiers_ *CGenericSymbol) (*CGenericSymbol, error)

	// 211:4: init_declarator_list -> a: ...
	AToInitDeclaratorList(InitDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 212:4: init_declarator_list -> b: ...
	BToInitDeclaratorList(InitDeclaratorList_ *CGenericSymbol, char *CGenericSymbol, InitDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 215:4: init_declarator -> a: ...
	AToInitDeclarator(Declarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 216:4: init_declarator -> b: ...
	BToInitDeclarator(Declarator_ *CGenericSymbol, char *CGenericSymbol, Initializer_ *CGenericSymbol) (*CGenericSymbol, error)

	// 219:4: storage_class_specifier -> a: ...
	AToStorageClassSpecifier(Typedef_ *CGenericSymbol) (*CGenericSymbol, error)

	// 220:4: storage_class_specifier -> b: ...
	BToStorageClassSpecifier(Extern_ *CGenericSymbol) (*CGenericSymbol, error)

	// 221:4: storage_class_specifier -> c: ...
	CToStorageClassSpecifier(Static_ *CGenericSymbol) (*CGenericSymbol, error)

	// 222:4: storage_class_specifier -> d: ...
	DToStorageClassSpecifier(Auto_ *CGenericSymbol) (*CGenericSymbol, error)

	// 223:4: storage_class_specifier -> e: ...
	EToStorageClassSpecifier(Register_ *CGenericSymbol) (*CGenericSymbol, error)

	// 226:4: type_specifier -> a: ...
	AToTypeSpecifier(Void_ *CGenericSymbol) (*CGenericSymbol, error)

	// 227:4: type_specifier -> b: ...
	BToTypeSpecifier(Char_ *CGenericSymbol) (*CGenericSymbol, error)

	// 228:4: type_specifier -> c: ...
	CToTypeSpecifier(Short_ *CGenericSymbol) (*CGenericSymbol, error)

	// 229:4: type_specifier -> d: ...
	DToTypeSpecifier(Int_ *CGenericSymbol) (*CGenericSymbol, error)

	// 230:4: type_specifier -> e: ...
	EToTypeSpecifier(Long_ *CGenericSymbol) (*CGenericSymbol, error)

	// 231:4: type_specifier -> f: ...
	FToTypeSpecifier(Float_ *CGenericSymbol) (*CGenericSymbol, error)

	// 232:4: type_specifier -> g: ...
	GToTypeSpecifier(Double_ *CGenericSymbol) (*CGenericSymbol, error)

	// 233:4: type_specifier -> h: ...
	HToTypeSpecifier(Signed_ *CGenericSymbol) (*CGenericSymbol, error)

	// 234:4: type_specifier -> i: ...
	IToTypeSpecifier(Unsigned_ *CGenericSymbol) (*CGenericSymbol, error)

	// 235:4: type_specifier -> j: ...
	JToTypeSpecifier(StructOrUnionSpecifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 236:4: type_specifier -> k: ...
	KToTypeSpecifier(EnumSpecifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 237:4: type_specifier -> l: ...
	LToTypeSpecifier(TypeName_ *CGenericSymbol) (*CGenericSymbol, error)

	// 240:4: struct_or_union_specifier -> a: ...
	AToStructOrUnionSpecifier(StructOrUnion_ *CGenericSymbol, Identifier_ *CGenericSymbol, char *CGenericSymbol, StructDeclarationList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 241:4: struct_or_union_specifier -> b: ...
	BToStructOrUnionSpecifier(StructOrUnion_ *CGenericSymbol, char *CGenericSymbol, StructDeclarationList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 242:4: struct_or_union_specifier -> c: ...
	CToStructOrUnionSpecifier(StructOrUnion_ *CGenericSymbol, Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 245:4: struct_or_union -> a: ...
	AToStructOrUnion(Struct_ *CGenericSymbol) (*CGenericSymbol, error)

	// 246:4: struct_or_union -> b: ...
	BToStructOrUnion(Union_ *CGenericSymbol) (*CGenericSymbol, error)

	// 249:4: struct_declaration_list -> a: ...
	AToStructDeclarationList(StructDeclaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 250:4: struct_declaration_list -> b: ...
	BToStructDeclarationList(StructDeclarationList_ *CGenericSymbol, StructDeclaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 253:4: struct_declaration -> a: ...
	AToStructDeclaration(SpecifierQualifierList_ *CGenericSymbol, StructDeclaratorList_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 256:4: specifier_qualifier_list -> a: ...
	AToSpecifierQualifierList(TypeSpecifier_ *CGenericSymbol, SpecifierQualifierList_ *CGenericSymbol) (*CGenericSymbol, error)

	// 257:4: specifier_qualifier_list -> b: ...
	BToSpecifierQualifierList(TypeSpecifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 258:4: specifier_qualifier_list -> c: ...
	CToSpecifierQualifierList(TypeQualifier_ *CGenericSymbol, SpecifierQualifierList_ *CGenericSymbol) (*CGenericSymbol, error)

	// 259:4: specifier_qualifier_list -> d: ...
	DToSpecifierQualifierList(TypeQualifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 262:4: struct_declarator_list -> a: ...
	AToStructDeclaratorList(StructDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 263:4: struct_declarator_list -> b: ...
	BToStructDeclaratorList(StructDeclaratorList_ *CGenericSymbol, char *CGenericSymbol, StructDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 266:4: struct_declarator -> a: ...
	AToStructDeclarator(Declarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 267:4: struct_declarator -> b: ...
	BToStructDeclarator(char *CGenericSymbol, ConstantExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 268:4: struct_declarator -> c: ...
	CToStructDeclarator(Declarator_ *CGenericSymbol, char *CGenericSymbol, ConstantExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 271:4: enum_specifier -> a: ...
	AToEnumSpecifier(Enum_ *CGenericSymbol, char *CGenericSymbol, EnumeratorList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 272:4: enum_specifier -> b: ...
	BToEnumSpecifier(Enum_ *CGenericSymbol, Identifier_ *CGenericSymbol, char *CGenericSymbol, EnumeratorList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 273:4: enum_specifier -> c: ...
	CToEnumSpecifier(Enum_ *CGenericSymbol, Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 276:4: enumerator_list -> a: ...
	AToEnumeratorList(Enumerator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 277:4: enumerator_list -> b: ...
	BToEnumeratorList(EnumeratorList_ *CGenericSymbol, char *CGenericSymbol, Enumerator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 280:4: enumerator -> a: ...
	AToEnumerator(Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 281:4: enumerator -> b: ...
	BToEnumerator(Identifier_ *CGenericSymbol, char *CGenericSymbol, ConstantExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 284:4: type_qualifier -> a: ...
	AToTypeQualifier(Const_ *CGenericSymbol) (*CGenericSymbol, error)

	// 285:4: type_qualifier -> b: ...
	BToTypeQualifier(Volatile_ *CGenericSymbol) (*CGenericSymbol, error)

	// 288:4: declarator -> a: ...
	AToDeclarator(Pointer_ *CGenericSymbol, DirectDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 289:4: declarator -> b: ...
	BToDeclarator(DirectDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 292:4: direct_declarator -> a: ...
	AToDirectDeclarator(Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 293:4: direct_declarator -> b: ...
	BToDirectDeclarator(char *CGenericSymbol, Declarator_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 294:4: direct_declarator -> c: ...
	CToDirectDeclarator(DirectDeclarator_ *CGenericSymbol, char *CGenericSymbol, ConstantExpression_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 295:4: direct_declarator -> d: ...
	DToDirectDeclarator(DirectDeclarator_ *CGenericSymbol, char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 296:4: direct_declarator -> e: ...
	EToDirectDeclarator(DirectDeclarator_ *CGenericSymbol, char *CGenericSymbol, ParameterTypeList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 297:4: direct_declarator -> f: ...
	FToDirectDeclarator(DirectDeclarator_ *CGenericSymbol, char *CGenericSymbol, IdentifierList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 298:4: direct_declarator -> g: ...
	GToDirectDeclarator(DirectDeclarator_ *CGenericSymbol, char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 301:4: pointer -> a: ...
	AToPointer(char *CGenericSymbol) (*CGenericSymbol, error)

	// 302:4: pointer -> b: ...
	BToPointer(char *CGenericSymbol, TypeQualifierList_ *CGenericSymbol) (*CGenericSymbol, error)

	// 303:4: pointer -> c: ...
	CToPointer(char *CGenericSymbol, Pointer_ *CGenericSymbol) (*CGenericSymbol, error)

	// 304:4: pointer -> d: ...
	DToPointer(char *CGenericSymbol, TypeQualifierList_ *CGenericSymbol, Pointer_ *CGenericSymbol) (*CGenericSymbol, error)

	// 307:4: type_qualifier_list -> a: ...
	AToTypeQualifierList(TypeQualifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 308:4: type_qualifier_list -> b: ...
	BToTypeQualifierList(TypeQualifierList_ *CGenericSymbol, TypeQualifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 312:4: parameter_type_list -> a: ...
	AToParameterTypeList(ParameterList_ *CGenericSymbol) (*CGenericSymbol, error)

	// 313:4: parameter_type_list -> b: ...
	BToParameterTypeList(ParameterList_ *CGenericSymbol, char *CGenericSymbol, Ellipsis_ *CGenericSymbol) (*CGenericSymbol, error)

	// 316:4: parameter_list -> a: ...
	AToParameterList(ParameterDeclaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 317:4: parameter_list -> b: ...
	BToParameterList(ParameterList_ *CGenericSymbol, char *CGenericSymbol, ParameterDeclaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 320:4: parameter_declaration -> a: ...
	AToParameterDeclaration(DeclarationSpecifiers_ *CGenericSymbol, Declarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 321:4: parameter_declaration -> b: ...
	BToParameterDeclaration(DeclarationSpecifiers_ *CGenericSymbol, AbstractDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 322:4: parameter_declaration -> c: ...
	CToParameterDeclaration(DeclarationSpecifiers_ *CGenericSymbol) (*CGenericSymbol, error)

	// 325:4: identifier_list -> a: ...
	AToIdentifierList(Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 326:4: identifier_list -> b: ...
	BToIdentifierList(IdentifierList_ *CGenericSymbol, char *CGenericSymbol, Identifier_ *CGenericSymbol) (*CGenericSymbol, error)

	// 329:4: type_name -> a: ...
	AToTypeName(SpecifierQualifierList_ *CGenericSymbol) (*CGenericSymbol, error)

	// 330:4: type_name -> b: ...
	BToTypeName(SpecifierQualifierList_ *CGenericSymbol, AbstractDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 333:4: abstract_declarator -> a: ...
	AToAbstractDeclarator(Pointer_ *CGenericSymbol) (*CGenericSymbol, error)

	// 334:4: abstract_declarator -> b: ...
	BToAbstractDeclarator(DirectAbstractDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 335:4: abstract_declarator -> c: ...
	CToAbstractDeclarator(Pointer_ *CGenericSymbol, DirectAbstractDeclarator_ *CGenericSymbol) (*CGenericSymbol, error)

	// 338:4: direct_abstract_declarator -> a: ...
	AToDirectAbstractDeclarator(char *CGenericSymbol, AbstractDeclarator_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 339:4: direct_abstract_declarator -> b: ...
	BToDirectAbstractDeclarator(char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 340:4: direct_abstract_declarator -> c: ...
	CToDirectAbstractDeclarator(char *CGenericSymbol, ConstantExpression_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 341:4: direct_abstract_declarator -> d: ...
	DToDirectAbstractDeclarator(DirectAbstractDeclarator_ *CGenericSymbol, char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 342:4: direct_abstract_declarator -> e: ...
	EToDirectAbstractDeclarator(DirectAbstractDeclarator_ *CGenericSymbol, char *CGenericSymbol, ConstantExpression_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 343:4: direct_abstract_declarator -> f: ...
	FToDirectAbstractDeclarator(char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 344:4: direct_abstract_declarator -> g: ...
	GToDirectAbstractDeclarator(char *CGenericSymbol, ParameterTypeList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 345:4: direct_abstract_declarator -> h: ...
	HToDirectAbstractDeclarator(DirectAbstractDeclarator_ *CGenericSymbol, char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 346:4: direct_abstract_declarator -> i: ...
	IToDirectAbstractDeclarator(DirectAbstractDeclarator_ *CGenericSymbol, char *CGenericSymbol, ParameterTypeList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 349:4: initializer -> a: ...
	AToInitializer(AssignmentExpression_ *CGenericSymbol) (*CGenericSymbol, error)

	// 350:4: initializer -> b: ...
	BToInitializer(char *CGenericSymbol, InitializerList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 351:4: initializer -> c: ...
	CToInitializer(char *CGenericSymbol, InitializerList_ *CGenericSymbol, char2 *CGenericSymbol, char3 *CGenericSymbol) (*CGenericSymbol, error)

	// 354:4: initializer_list -> a: ...
	AToInitializerList(Initializer_ *CGenericSymbol) (*CGenericSymbol, error)

	// 355:4: initializer_list -> b: ...
	BToInitializerList(InitializerList_ *CGenericSymbol, char *CGenericSymbol, Initializer_ *CGenericSymbol) (*CGenericSymbol, error)

	// 358:4: statement -> a: ...
	AToStatement(LabeledStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 359:4: statement -> b: ...
	BToStatement(CompoundStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 360:4: statement -> c: ...
	CToStatement(ExpressionStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 361:4: statement -> d: ...
	DToStatement(SelectionStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 362:4: statement -> e: ...
	EToStatement(IterationStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 363:4: statement -> f: ...
	FToStatement(JumpStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 366:4: labeled_statement -> a: ...
	AToLabeledStatement(Identifier_ *CGenericSymbol, char *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 367:4: labeled_statement -> b: ...
	BToLabeledStatement(Case_ *CGenericSymbol, ConstantExpression_ *CGenericSymbol, char *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 368:4: labeled_statement -> c: ...
	CToLabeledStatement(Default_ *CGenericSymbol, char *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 371:4: compound_statement -> a: ...
	AToCompoundStatement(char *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 372:4: compound_statement -> b: ...
	BToCompoundStatement(char *CGenericSymbol, StatementList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 373:4: compound_statement -> c: ...
	CToCompoundStatement(char *CGenericSymbol, DeclarationList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 374:4: compound_statement -> d: ...
	DToCompoundStatement(char *CGenericSymbol, DeclarationList_ *CGenericSymbol, StatementList_ *CGenericSymbol, char2 *CGenericSymbol) (*CGenericSymbol, error)

	// 377:4: declaration_list -> a: ...
	AToDeclarationList(Declaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 378:4: declaration_list -> b: ...
	BToDeclarationList(DeclarationList_ *CGenericSymbol, Declaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 381:4: statement_list -> a: ...
	AToStatementList(Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 382:4: statement_list -> b: ...
	BToStatementList(StatementList_ *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 385:4: expression_statement -> a: ...
	AToExpressionStatement(char *CGenericSymbol) (*CGenericSymbol, error)

	// 386:4: expression_statement -> b: ...
	BToExpressionStatement(Expression_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 389:4: selection_statement -> a: ...
	AToSelectionStatement(If_ *CGenericSymbol, char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 390:4: selection_statement -> b: ...
	BToSelectionStatement(If_ *CGenericSymbol, char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol, Statement_ *CGenericSymbol, Else_ *CGenericSymbol, Statement_2 *CGenericSymbol) (*CGenericSymbol, error)

	// 391:4: selection_statement -> c: ...
	CToSelectionStatement(Switch_ *CGenericSymbol, char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 394:4: iteration_statement -> a: ...
	AToIterationStatement(While_ *CGenericSymbol, char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 395:4: iteration_statement -> b: ...
	BToIterationStatement(Do_ *CGenericSymbol, Statement_ *CGenericSymbol, While_ *CGenericSymbol, char *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol, char3 *CGenericSymbol) (*CGenericSymbol, error)

	// 396:4: iteration_statement -> c: ...
	CToIterationStatement(For_ *CGenericSymbol, char *CGenericSymbol, ExpressionStatement_ *CGenericSymbol, ExpressionStatement_2 *CGenericSymbol, char2 *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 397:4: iteration_statement -> d: ...
	DToIterationStatement(For_ *CGenericSymbol, char *CGenericSymbol, ExpressionStatement_ *CGenericSymbol, ExpressionStatement_2 *CGenericSymbol, Expression_ *CGenericSymbol, char2 *CGenericSymbol, Statement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 400:4: jump_statement -> a: ...
	AToJumpStatement(Goto_ *CGenericSymbol, Identifier_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 401:4: jump_statement -> b: ...
	BToJumpStatement(Continue_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 402:4: jump_statement -> c: ...
	CToJumpStatement(Break_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 403:4: jump_statement -> d: ...
	DToJumpStatement(Return_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 404:4: jump_statement -> e: ...
	EToJumpStatement(Return_ *CGenericSymbol, Expression_ *CGenericSymbol, char *CGenericSymbol) (*CGenericSymbol, error)

	// 407:4: translation_unit -> a: ...
	AToTranslationUnit(ExternalDeclaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 408:4: translation_unit -> b: ...
	BToTranslationUnit(TranslationUnit_ *CGenericSymbol, ExternalDeclaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 411:4: external_declaration -> a: ...
	AToExternalDeclaration(FunctionDefinition_ *CGenericSymbol) (*CGenericSymbol, error)

	// 412:4: external_declaration -> b: ...
	BToExternalDeclaration(Declaration_ *CGenericSymbol) (*CGenericSymbol, error)

	// 415:4: function_definition -> a: ...
	AToFunctionDefinition(DeclarationSpecifiers_ *CGenericSymbol, Declarator_ *CGenericSymbol, DeclarationList_ *CGenericSymbol, CompoundStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 416:4: function_definition -> b: ...
	BToFunctionDefinition(DeclarationSpecifiers_ *CGenericSymbol, Declarator_ *CGenericSymbol, CompoundStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 417:4: function_definition -> c: ...
	CToFunctionDefinition(Declarator_ *CGenericSymbol, DeclarationList_ *CGenericSymbol, CompoundStatement_ *CGenericSymbol) (*CGenericSymbol, error)

	// 418:4: function_definition -> d: ...
	DToFunctionDefinition(Declarator_ *CGenericSymbol, CompoundStatement_ *CGenericSymbol) (*CGenericSymbol, error)
}

type CSymbol

type CSymbol struct {
	SymbolId_ CSymbolId

	Generic_ *CGenericSymbol
}

func NewSymbol

func NewSymbol(token CToken) (*CSymbol, error)

func (*CSymbol) Id

func (s *CSymbol) Id() CSymbolId

func (*CSymbol) Loc

func (s *CSymbol) Loc() CLocation

type CSymbolId

type CSymbolId int

func CExpectedTerminals

func CExpectedTerminals(id _CStateId) []CSymbolId

func (CSymbolId) String

func (i CSymbolId) String() string

type CToken

type CToken interface {
	Id() CSymbolId
	Loc() CLocation
}

type Symbol

type Symbol string

func (Symbol) Id

func (Symbol) Id() CSymbolId

func (Symbol) Loc

func (Symbol) Loc() CLocation

type YCLexer

type YCLexer interface {
	Lex(lval *YCSymType) int
	Error(s string)
}

type YCParser

type YCParser interface {
	Parse(YCLexer) int
	Lookahead() int
}

func YCNewParser

func YCNewParser() YCParser

type YCParserImpl

type YCParserImpl struct {
	// contains filtered or unexported fields
}

func (*YCParserImpl) Lookahead

func (p *YCParserImpl) Lookahead() int

func (*YCParserImpl) Parse

func (YCrcvr *YCParserImpl) Parse(YClex YCLexer) int

type YCSymType

type YCSymType struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL