// // openmapi.org - CompactTeaSharp - MLog - Rules.cs // // Copyright 2009 Topalis AG // // Author: Johannes Roith // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // using System; namespace CompactTeaSharp.Mlog { /// /// Enumeration of the rules used by the parser. /// enum Rules : int { Specification = 0, // ::= DefinitionsRecursive = 1, // ::= DefinitionsSimple = 2, // ::= DefinitionTypeDef = 3, // ::= DefinitionConst = 4, // ::= TypeDef_TypeDef = 5, // ::= typedef ';' TypeDef_Enum_Identifier = 6, // ::= enum identifier ';' TypeDef_Struct_Identifier = 7, // ::= struct identifier ';' TypeDef_Union_Identifier = 8, // ::= union identifier ';' ConstantDef = 9, // ::= const identifier '=' const ';' Case = 10, // ::= case ':' ';' CasesRecursive = 11, // ::= CasesSimple = 12, // ::= CaseDefault = 13, // ::= default ':' ';' CaseDefaultNone = 14, // ::= UnionBody = 15, // ::= switch '(' ')' '{' '}' UnionTypeSpec = 16, // ::= union union body StructBody = 17, // ::= '{' '}' StructTypeSpec = 18, // ::= struct Assignment = 19, // ::= identifier '=' AssignmentsRecursive = 20, // ::= ',' AssignmentsSimple = 21, // ::= IdentifiersRecursive = 22, // ::= identifier ',' IdentifiersSimple = 23, // ::= identifier EnumBodyAssignments = 24, // ::= '{' '}' EnumBodyIdentifiers = 25, // ::= '{' '}' EnumTypeSpec = 26, // ::= enum OptionalUnsignedUnsigned = 27, // ::= unsigned OptionalUnsignedNone = 28, // ::= TypeSpecifier_Int = 29, // ::= int TypeSpecifier_UInt = 30, // ::= 'u_int' TypeSpecifier_Hyper = 31, // ::= hyper TypeSpecifier_Long = 32, // ::= long TypeSpecifier_ULong = 33, // ::= 'u_long' TypeSpecifier_Char = 34, // ::= char TypeSpecifier_Short = 35, // ::= short TypeSpecifier_UShort = 36, // ::= 'u_short' TypeSpecifier_Float = 37, // ::= float TypeSpecifier_Double = 38, // ::= double TypeSpecifier_Quadruple = 39, // ::= quadruple TypeSpecifier_Bool = 40, // ::= bool TypeSpecifier_BoolT = 41, // ::= 'bool_t' TypeSpecifier_EnumComplex = 42, // ::= TypeSpecifier_StructComplex = 43, // ::= TypeSpecifier_StructIdentifier = 44, // ::= struct identifier TypeSpecifier_UnionComplex = 45, // ::= TypeSpecifier_Identifier = 46, // ::= identifier Value_Constant = 47, // ::= constant Value_Identifier = 48, // ::= identifier OptionalValue = 49, // ::= OptionalValueEmpty = 50, // ::= DeclarationComplexType = 51, // ::= identifier DeclarationComplexTypeFixedArray = 52, // ::= identifier '[' ']' DeclarationComplexTypeCountedArray = 53, // ::= identifier '<' '>' DeclarationFixedOpaqueArray = 54, // ::= opaque identifier '[' ']' DeclarationCountedOpaqueArray = 55, // ::= opaque identifier '<' '>' DeclarationCountedStringArray = 56, // ::= string identifier '<' '>' DeclarationPointer = 57, // ::= '*' identifier DeclarationVoid = 58, // ::= void DeclarationsRecursive = 59, // ::= ';' DeclarationsSimple = 60, // ::= ';' Program = 61, // ::= program identifier '{' '}' '=' constant ';' Call = 62, // ::= identifier identifier '(' identifier ')' '=' constant ';' CallsRecursive = 63, // ::= CallsSimple = 64, // ::= Version = 65, // ::= version identifier '{' '}' '=' constant ';' VersionsRecursive = 66, // ::= VersionsSimple = 67 // ::= }; }