OpenASIP 2.2
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
OperationDAGLanguageGrammar::definition< ScannerT > Struct Template Reference

#include <OperationDAGLanguageParser.hh>

Collaboration diagram for OperationDAGLanguageGrammar::definition< ScannerT >:
Collaboration graph

Public Member Functions

 definition (OperationDAGLanguageGrammar const &self)
 
rule< ScannerT > const & start () const
 

Public Attributes

symbols keywords
 
strlit ELLIPSIS
 
strlit RIGHT_ASSIGN
 
strlit LEFT_ASSIGN
 
strlit ADD_ASSIGN
 
strlit SUB_ASSIGN
 
strlit MUL_ASSIGN
 
strlit DIV_ASSIGN
 
strlit MOD_ASSIGN
 
strlit AND_ASSIGN
 
strlit XOR_ASSIGN
 
strlit OR_ASSIGN
 
strlit RIGHT_OP
 
strlit LEFT_OP
 
strlit INC_OP
 
strlit DEC_OP
 
strlit PTR_OP
 
strlit AND_OP
 
strlit OR_OP
 
strlit LE_OP
 
strlit GE_OP
 
strlit EQ_OP
 
strlit NE_OP
 
strlit SEMICOLON
 
strlit COMMA
 
strlit COLON
 
strlit ASSIGN
 
strlit LEFT_PAREN
 
strlit RIGHT_PAREN
 
strlit DOT
 
strlit ADDROF
 
strlit BANG
 
strlit TILDE
 
strlit MINUS
 
strlit PLUS
 
strlit STAR
 
strlit SLASH
 
strlit PERCENT
 
strlit LT_OP
 
strlit GT_OP
 
strlit XOR
 
strlit OR
 
strlit QUEST
 
rule< ScannerT > LEFT_BRACE
 
rule< ScannerT > RIGHT_BRACE
 
rule< ScannerT > LEFT_BRACKET
 
rule< ScannerT > RIGHT_BRACKET
 
rule< ScannerT > AUTO
 
rule< ScannerT > BREAK
 
rule< ScannerT > CASE
 
rule< ScannerT > CHAR
 
rule< ScannerT > CONST
 
rule< ScannerT > CONTINUE
 
rule< ScannerT > DEFAULT
 
rule< ScannerT > DO
 
rule< ScannerT > DOUBLE
 
rule< ScannerT > ELSE
 
rule< ScannerT > ENUM
 
rule< ScannerT > EXTERN
 
rule< ScannerT > FOR
 
rule< ScannerT > FLOAT
 
rule< ScannerT > GOTO
 
rule< ScannerT > IF
 
rule< ScannerT > INT
 
rule< ScannerT > LONG
 
rule< ScannerT > REGISTER
 
rule< ScannerT > RETURN
 
rule< ScannerT > SHORT
 
rule< ScannerT > SIGNED
 
rule< ScannerT > SIZEOF
 
rule< ScannerT > STATIC
 
rule< ScannerT > STRUCT
 
rule< ScannerT > SWITCH
 
rule< ScannerT > TYPEDEF
 
rule< ScannerT > UNION
 
rule< ScannerT > UNSIGNED
 
rule< ScannerT > VOID
 
rule< ScannerT > VOLATILE
 
rule< ScannerT > WHILE
 
rule< ScannerT > IDENTIFIER
 
rule< ScannerT > STRING_LITERAL_PART
 
rule< ScannerT > STRING_LITERAL
 
rule< ScannerT > INT_CONSTANT_HEX
 
rule< ScannerT > INT_CONSTANT
 
rule< ScannerT > INT_CONSTANT_OCT
 
rule< ScannerT > INT_CONSTANT_DEC
 
rule< ScannerT > INT_CONSTANT_CHAR
 
rule< ScannerT > FLOAT_CONSTANT
 
rule< ScannerT > FLOAT_CONSTANT_1
 
rule< ScannerT > FLOAT_CONSTANT_2
 
rule< ScannerT > FLOAT_CONSTANT_3
 
rule< ScannerT > CONSTANT
 
rule< ScannerT > primary_expression
 
rule< ScannerT > postfix_expression
 
rule< ScannerT > postfix_expression_helper
 
rule< ScannerT > argument_expression_list
 
rule< ScannerT > unary_expression
 
rule< ScannerT > unary_operator
 
rule< ScannerT > cast_expression
 
rule< ScannerT > multiplicative_expression
 
rule< ScannerT > multiplicative_expression_helper
 
rule< ScannerT > additive_expression
 
rule< ScannerT > additive_expression_helper
 
rule< ScannerT > shift_expression
 
rule< ScannerT > shift_expression_helper
 
rule< ScannerT > relational_expression
 
rule< ScannerT > relational_expression_helper
 
rule< ScannerT > equality_expression
 
rule< ScannerT > equality_expression_helper
 
rule< ScannerT > and_expression
 
rule< ScannerT > and_expression_helper
 
rule< ScannerT > exclusive_or_expression
 
rule< ScannerT > exclusive_or_expression_helper
 
rule< ScannerT > inclusive_or_expression
 
rule< ScannerT > inclusive_or_expression_helper
 
rule< ScannerT > logical_and_expression
 
rule< ScannerT > logical_and_expression_helper
 
rule< ScannerT > logical_or_expression
 
rule< ScannerT > logical_or_expression_helper
 
rule< ScannerT > conditional_expression
 
rule< ScannerT > conditional_expression_helper
 
rule< ScannerT > assignment_expression
 
rule< ScannerT > assignment_operator
 
rule< ScannerT > expression
 
rule< ScannerT > expression_helper
 
rule< ScannerT > constant_expression
 
rule< ScannerT > declaration
 
rule< ScannerT > declaration_specifiers
 
rule< ScannerT > init_declarator_list
 
rule< ScannerT > init_declarator
 
rule< ScannerT > storage_class_specifier
 
rule< ScannerT > type_specifier
 
rule< ScannerT > struct_or_union_specifier
 
rule< ScannerT > struct_or_union
 
rule< ScannerT > struct_declaration_list
 
rule< ScannerT > struct_declaration
 
rule< ScannerT > specifier_qualifier_list
 
rule< ScannerT > struct_declarator_list
 
rule< ScannerT > struct_declarator
 
rule< ScannerT > enum_specifier
 
rule< ScannerT > enumerator_list
 
rule< ScannerT > enumerator
 
rule< ScannerT > type_qualifier
 
rule< ScannerT > declarator
 
rule< ScannerT > direct_declarator
 
rule< ScannerT > direct_declarator_helper
 
rule< ScannerT > pointer
 
rule< ScannerT > type_qualifier_list
 
rule< ScannerT > parameter_type_list
 
rule< ScannerT > parameter_list
 
rule< ScannerT > parameter_declaration
 
rule< ScannerT > identifier_list
 
rule< ScannerT > type_name
 
rule< ScannerT > abstract_declarator
 
rule< ScannerT > direct_abstract_declarator
 
rule< ScannerT > direct_abstract_declarator_helper
 
rule< ScannerT > initializer
 
rule< ScannerT > initializer_list
 
rule< ScannerT > statement
 
rule< ScannerT > labeled_statement
 
rule< ScannerT > compound_statement
 
rule< ScannerT > declaration_list
 
rule< ScannerT > statement_list
 
rule< ScannerT > expression_statement
 
rule< ScannerT > selection_statement
 
rule< ScannerT > iteration_statement
 
rule< ScannerT > jump_statement
 
rule< ScannerT > translation_unit
 
rule< ScannerT > external_declaration
 
rule< ScannerT > function_definition
 
rule< ScannerT > last_comment_spirit_bugfix
 

Detailed Description

template<typename ScannerT>
struct OperationDAGLanguageGrammar::definition< ScannerT >

Definition at line 791 of file OperationDAGLanguageParser.hh.

Constructor & Destructor Documentation

◆ definition()

template<typename ScannerT >
OperationDAGLanguageGrammar::definition< ScannerT >::definition ( OperationDAGLanguageGrammar const &  self)
inline

Definition at line 792 of file OperationDAGLanguageParser.hh.

792 :
793 ELLIPSIS("..."), RIGHT_ASSIGN(">>="), LEFT_ASSIGN("<<="),
794 ADD_ASSIGN("+="), SUB_ASSIGN("-="), MUL_ASSIGN("*="),
795 DIV_ASSIGN("/="), MOD_ASSIGN("%="), AND_ASSIGN("&="),
796 XOR_ASSIGN("^="), OR_ASSIGN("|="), RIGHT_OP(">>"), LEFT_OP("<<"),
797 INC_OP("++"), DEC_OP("--"), PTR_OP("->"), AND_OP("&&"),
798 OR_OP("||"), LE_OP("<="), GE_OP(">="), EQ_OP("=="), NE_OP("!="),
799// SEMICOLON(';'),
800// COMMA(','), COLON(':'), ASSIGN('='), LEFT_PAREN('('),
801// RIGHT_PAREN(')'), DOT('.'), ADDROF('&'), BANG('!'), TILDE('~'),
802// MINUS('-'), PLUS('+'), STAR('*'), SLASH('/'), PERCENT('%'),
803// LT_OP('<'), GT_OP('>'), XOR('^'), OR('|'), QUEST('?') {
804 SEMICOLON(";"),
805 COMMA(","), COLON(":"), ASSIGN("="), LEFT_PAREN("("),
806 RIGHT_PAREN(")"), DOT("."), ADDROF("&"), BANG("!"), TILDE("~"),
807 MINUS("-"), PLUS("+"), STAR("*"), SLASH("/"), PERCENT("%"),
808 LT_OP("<"), GT_OP(">"), XOR("^"), OR("|"), QUEST("?") {
809
810 // C keywords
811 keywords =
812 "auto", "break", "case", "char", "const", "continue",
813 "default", "do", "double", "else", "enum", "extern",
814 "float", "for", "goto", "if", "int", "long", "register",
815 "return", "short", "signed", "sizeof", "static", "struct",
816 "switch", "typedef", "union", "unsigned", "void",
817 "volatile", "while";
818
819 // C operators
820// LEFT_BRACE = chlit<>('{') | strlit<>("<%");
821// RIGHT_BRACE = chlit<>('}') | strlit<>("%>");
822// LEFT_BRACKET = chlit<>('[') | strlit<>("<:");
823// RIGHT_BRACKET = chlit<>(']') | strlit<>(":>");
824 LEFT_BRACE = strlit<>("{") | strlit<>("<%");
825 RIGHT_BRACE = strlit<>("}") | strlit<>("%>");
826 LEFT_BRACKET = strlit<>("[") | strlit<>("<:");
827 RIGHT_BRACKET = strlit<>("]") | strlit<>(":>");
828
829 // Tokens
830 AUTO = strlit<>("auto");
831 BREAK = strlit<>("break");
832 CASE = strlit<>("case");
833 CHAR = strlit<>("char");
834 CONST = strlit<>("const");
835 CONTINUE = strlit<>("continue");
836 DEFAULT = strlit<>("default");
837 DO = strlit<>("do");
838 DOUBLE = strlit<>("double");
839 ELSE = strlit<>("else");
840 ENUM = strlit<>("enum");
841 EXTERN = strlit<>("extern");
842 FOR = strlit<>("for");
843 FLOAT = strlit<>("float");
844 GOTO = strlit<>("goto");
845 IF = strlit<>("if");
846 INT = strlit<>("int");
847 LONG = strlit<>("long");
848 REGISTER = strlit<>("register");
849 RETURN = strlit<>("return");
850 SHORT = strlit<>("short");
851 SIGNED = strlit<>("signed");
852 SIZEOF = strlit<>("sizeof");
853 STATIC = strlit<>("static");
854 STRUCT = strlit<>("struct");
855 SWITCH = strlit<>("switch");
856 TYPEDEF = strlit<>("typedef");
857 UNION = strlit<>("union");
858 UNSIGNED = strlit<>("unsigned");
859 VOID = strlit<>("void");
860 VOLATILE = strlit<>("volatile");
861 WHILE = strlit<>("while");
862
863 // C identifiers
864 IDENTIFIER =
865 (lexeme_d[
866 ((alpha_p | '_' | '$') >> *(alnum_p | '_' | '$'))
867 - (keywords >> (anychar_p - (alnum_p | '_' | '$')))
868 ])
869 [TokenizerActor(self.tokenData_,
871
872 ;
873
874 // string literals
876 lexeme_d[
877 !chlit<>('L') >> chlit<>('\"') >>
878 *( strlit<>("\\\"") | ( anychar_p - chlit<>('\"') )) >>
879 chlit<>('\"')
880 ]
881 ;
882
885 [TokenizerActor(self.tokenData_,
887 ;
888
889 // integer constants
891 lexeme_d[
892 chlit<>('0') >>
893 as_lower_d[chlit<>('x')] >>
894 +xdigit_p >>
895 !as_lower_d[chlit<>('l') | chlit<>('u')]
896 ]
897 ;
898
900 = lexeme_d[
901 chlit<>('0')
902 >> +range<>('0', '7')
903 >> !as_lower_d[chlit<>('l') | chlit<>('u')]
904 ]
905 ;
906
908 = lexeme_d[
909 +digit_p
910 >> !as_lower_d[chlit<>('l') | chlit<>('u')]
911 ]
912 ;
913
915 = lexeme_d[
916 !chlit<>('L') >> chlit<>('\'') >>
917 longest_d[
918 anychar_p
919 | ( chlit<>('\\')
920 >> chlit<>('0')
921 >> repeat_p(0, 2)[range<>('0', '7')]
922 )
923 | (chlit<>('\\') >> anychar_p)
924 ] >>
925 chlit<>('\'')
926 ]
927 ;
928
934 [TokenizerActor(self.tokenData_,
936 ;
937
938 // float constants
939 FLOAT_CONSTANT_1 // 12345[eE][+-]123[lLfF]?
940 = lexeme_d[
941 +digit_p
942 >> (chlit<>('e') | chlit<>('E'))
943 >> !(chlit<>('+') | chlit<>('-'))
944 >> +digit_p
945 >> !as_lower_d[chlit<>('l') | chlit<>('f')]
946 ]
947 ;
948
949 FLOAT_CONSTANT_2 // .123([[eE][+-]123)?[lLfF]?
950 = lexeme_d[
951 *digit_p
952 >> chlit<>('.')
953 >> +digit_p
954 >> !((chlit<>('e') | chlit<>('E'))
955 >> !(chlit<>('+') | chlit<>('-'))
956 >> +digit_p
957 )
958 >> !as_lower_d[chlit<>('l') | chlit<>('f')]
959 ]
960 ;
961
962 FLOAT_CONSTANT_3 // 12345.([[eE][+-]123)?[lLfF]?
963 = lexeme_d[
964 +digit_p
965 >> chlit<>('.')
966 >> *digit_p
967 >> !((chlit<>('e') | chlit<>('E'))
968 >> !(chlit<>('+') | chlit<>('-'))
969 >> +digit_p
970 )
971 >> !as_lower_d[chlit<>('l') | chlit<>('f')]
972 ]
973 ;
974
979 [TokenizerActor(self.tokenData_,
981 ;
982
983 CONSTANT =
984 (longest_d[FLOAT_CONSTANT | INT_CONSTANT])
985 ;
986
987 // debug support for terminals
988 BOOST_SPIRIT_DEBUG_RULE(AUTO);
989 BOOST_SPIRIT_DEBUG_RULE(BREAK);
990 BOOST_SPIRIT_DEBUG_RULE(CASE);
991 BOOST_SPIRIT_DEBUG_RULE(CHAR);
992 BOOST_SPIRIT_DEBUG_RULE(CONST);
993 BOOST_SPIRIT_DEBUG_RULE(CONTINUE);
994 BOOST_SPIRIT_DEBUG_RULE(DEFAULT);
995 BOOST_SPIRIT_DEBUG_RULE(DO);
996 BOOST_SPIRIT_DEBUG_RULE(DOUBLE);
997 BOOST_SPIRIT_DEBUG_RULE(ELSE);
998 BOOST_SPIRIT_DEBUG_RULE(ENUM);
999 BOOST_SPIRIT_DEBUG_RULE(EXTERN);
1000 BOOST_SPIRIT_DEBUG_RULE(FOR);
1001 BOOST_SPIRIT_DEBUG_RULE(FLOAT);
1002 BOOST_SPIRIT_DEBUG_RULE(GOTO);
1003 BOOST_SPIRIT_DEBUG_RULE(IF);
1004 BOOST_SPIRIT_DEBUG_RULE(INT);
1005 BOOST_SPIRIT_DEBUG_RULE(LONG);
1006 BOOST_SPIRIT_DEBUG_RULE(REGISTER);
1007 BOOST_SPIRIT_DEBUG_RULE(RETURN);
1008 BOOST_SPIRIT_DEBUG_RULE(SHORT);
1009 BOOST_SPIRIT_DEBUG_RULE(SIGNED);
1010 BOOST_SPIRIT_DEBUG_RULE(SIZEOF);
1011 BOOST_SPIRIT_DEBUG_RULE(STATIC);
1012 BOOST_SPIRIT_DEBUG_RULE(STRUCT);
1013 BOOST_SPIRIT_DEBUG_RULE(SWITCH);
1014 BOOST_SPIRIT_DEBUG_RULE(TYPEDEF);
1015 BOOST_SPIRIT_DEBUG_RULE(UNION);
1016 BOOST_SPIRIT_DEBUG_RULE(UNSIGNED);
1017 BOOST_SPIRIT_DEBUG_RULE(VOID);
1018 BOOST_SPIRIT_DEBUG_RULE(VOLATILE);
1019 BOOST_SPIRIT_DEBUG_RULE(WHILE);
1020 BOOST_SPIRIT_DEBUG_RULE(IDENTIFIER);
1021 BOOST_SPIRIT_DEBUG_RULE(STRING_LITERAL);
1022 BOOST_SPIRIT_DEBUG_RULE(INT_CONSTANT_HEX);
1023 BOOST_SPIRIT_DEBUG_RULE(INT_CONSTANT_OCT);
1024 BOOST_SPIRIT_DEBUG_RULE(INT_CONSTANT_DEC);
1025 BOOST_SPIRIT_DEBUG_RULE(INT_CONSTANT_CHAR);
1026 BOOST_SPIRIT_DEBUG_RULE(INT_CONSTANT);
1027 BOOST_SPIRIT_DEBUG_RULE(FLOAT_CONSTANT_1);
1028 BOOST_SPIRIT_DEBUG_RULE(FLOAT_CONSTANT_2);
1029 BOOST_SPIRIT_DEBUG_RULE(FLOAT_CONSTANT_3);
1030 BOOST_SPIRIT_DEBUG_RULE(FLOAT_CONSTANT);
1031 BOOST_SPIRIT_DEBUG_RULE(CONSTANT);
1032
1033 // debug support for non terminals
1034 BOOST_SPIRIT_DEBUG_RULE(primary_expression);
1035 BOOST_SPIRIT_DEBUG_RULE(postfix_expression);
1036 BOOST_SPIRIT_DEBUG_RULE(postfix_expression_helper);
1037 BOOST_SPIRIT_DEBUG_RULE(argument_expression_list);
1038 BOOST_SPIRIT_DEBUG_RULE(unary_expression);
1039 BOOST_SPIRIT_DEBUG_RULE(unary_operator);
1040 BOOST_SPIRIT_DEBUG_RULE(cast_expression);
1041 BOOST_SPIRIT_DEBUG_RULE(multiplicative_expression);
1042 BOOST_SPIRIT_DEBUG_RULE(multiplicative_expression_helper);
1043 BOOST_SPIRIT_DEBUG_RULE(additive_expression);
1044 BOOST_SPIRIT_DEBUG_RULE(additive_expression_helper);
1045 BOOST_SPIRIT_DEBUG_RULE(shift_expression);
1046 BOOST_SPIRIT_DEBUG_RULE(shift_expression_helper);
1047 BOOST_SPIRIT_DEBUG_RULE(relational_expression);
1048 BOOST_SPIRIT_DEBUG_RULE(relational_expression_helper);
1049 BOOST_SPIRIT_DEBUG_RULE(equality_expression);
1050 BOOST_SPIRIT_DEBUG_RULE(equality_expression_helper);
1051 BOOST_SPIRIT_DEBUG_RULE(and_expression);
1052 BOOST_SPIRIT_DEBUG_RULE(and_expression_helper);
1053 BOOST_SPIRIT_DEBUG_RULE(exclusive_or_expression);
1054 BOOST_SPIRIT_DEBUG_RULE(exclusive_or_expression_helper);
1055 BOOST_SPIRIT_DEBUG_RULE(inclusive_or_expression);
1056 BOOST_SPIRIT_DEBUG_RULE(inclusive_or_expression_helper);
1057 BOOST_SPIRIT_DEBUG_RULE(logical_and_expression);
1058 BOOST_SPIRIT_DEBUG_RULE(logical_and_expression_helper);
1059 BOOST_SPIRIT_DEBUG_RULE(logical_or_expression);
1060 BOOST_SPIRIT_DEBUG_RULE(logical_or_expression_helper);
1061 BOOST_SPIRIT_DEBUG_RULE(conditional_expression);
1062 BOOST_SPIRIT_DEBUG_RULE(conditional_expression_helper);
1063 BOOST_SPIRIT_DEBUG_RULE(assignment_expression);
1064 BOOST_SPIRIT_DEBUG_RULE(assignment_operator);
1065 BOOST_SPIRIT_DEBUG_RULE(expression);
1066 BOOST_SPIRIT_DEBUG_RULE(constant_expression);
1067 BOOST_SPIRIT_DEBUG_RULE(declaration);
1068 BOOST_SPIRIT_DEBUG_RULE(declaration_specifiers);
1069 BOOST_SPIRIT_DEBUG_RULE(init_declarator_list);
1070 BOOST_SPIRIT_DEBUG_RULE(init_declarator);
1071 BOOST_SPIRIT_DEBUG_RULE(storage_class_specifier);
1072 BOOST_SPIRIT_DEBUG_RULE(type_specifier);
1073 BOOST_SPIRIT_DEBUG_RULE(struct_or_union_specifier);
1074 BOOST_SPIRIT_DEBUG_RULE(struct_or_union);
1075 BOOST_SPIRIT_DEBUG_RULE(struct_declaration_list);
1076 BOOST_SPIRIT_DEBUG_RULE(struct_declaration);
1077 BOOST_SPIRIT_DEBUG_RULE(specifier_qualifier_list);
1078 BOOST_SPIRIT_DEBUG_RULE(struct_declarator_list);
1079 BOOST_SPIRIT_DEBUG_RULE(struct_declarator);
1080 BOOST_SPIRIT_DEBUG_RULE(enum_specifier);
1081 BOOST_SPIRIT_DEBUG_RULE(enumerator_list);
1082 BOOST_SPIRIT_DEBUG_RULE(enumerator);
1083 BOOST_SPIRIT_DEBUG_RULE(type_qualifier);
1084 BOOST_SPIRIT_DEBUG_RULE(declarator);
1085 BOOST_SPIRIT_DEBUG_RULE(direct_declarator);
1086 BOOST_SPIRIT_DEBUG_RULE(direct_declarator_helper);
1087 BOOST_SPIRIT_DEBUG_RULE(pointer);
1088 BOOST_SPIRIT_DEBUG_RULE(type_qualifier_list);
1089 BOOST_SPIRIT_DEBUG_RULE(parameter_type_list);
1090 BOOST_SPIRIT_DEBUG_RULE(parameter_list);
1091 BOOST_SPIRIT_DEBUG_RULE(parameter_declaration);
1092 BOOST_SPIRIT_DEBUG_RULE(identifier_list);
1093 BOOST_SPIRIT_DEBUG_RULE(type_name);
1094 BOOST_SPIRIT_DEBUG_RULE(abstract_declarator);
1095 BOOST_SPIRIT_DEBUG_RULE(direct_abstract_declarator);
1096 BOOST_SPIRIT_DEBUG_RULE(direct_abstract_declarator_helper);
1097 BOOST_SPIRIT_DEBUG_RULE(initializer);
1098 BOOST_SPIRIT_DEBUG_RULE(initializer_list);
1099 BOOST_SPIRIT_DEBUG_RULE(statement);
1100 BOOST_SPIRIT_DEBUG_RULE(labeled_statement);
1101 BOOST_SPIRIT_DEBUG_RULE(compound_statement);
1102 BOOST_SPIRIT_DEBUG_RULE(declaration_list);
1103 BOOST_SPIRIT_DEBUG_RULE(statement_list);
1104 BOOST_SPIRIT_DEBUG_RULE(expression_statement);
1105 BOOST_SPIRIT_DEBUG_RULE(selection_statement);
1106 BOOST_SPIRIT_DEBUG_RULE(iteration_statement);
1107 BOOST_SPIRIT_DEBUG_RULE(jump_statement);
1108 BOOST_SPIRIT_DEBUG_RULE(translation_unit);
1109 BOOST_SPIRIT_DEBUG_RULE(external_declaration);
1110 BOOST_SPIRIT_DEBUG_RULE(function_definition);
1111
1112 // Rules
1114 (IDENTIFIER
1115 | CONSTANT
1118 [TokenizerActor(self.tokenData_,
1120 ;
1121
1122 // left recursion --> right recursion
1123 // postfix_expression
1124 // = primary_expression
1125 // | postfix_expression >>
1126 // (
1127 // LEFT_BRACKET >> expression >> RIGHT_BRACKET
1128 // | LEFT_PAREN >> !argument_expression_list >> RIGHT_PAREN
1129 // | DOT >> IDENTIFIER
1130 // | PTR_OP >> IDENTIFIER
1131 // | INC_OP
1132 // | DEC_OP
1133 // )
1134 // ;
1137 ;
1138
1142 | DOT >> IDENTIFIER
1143 | PTR_OP >> IDENTIFIER
1144 | INC_OP
1145 | DEC_OP) >>
1147 [TokenizerActor(self.tokenData_,
1149 | epsilon_p
1150 ;
1151
1154
1160 | SIZEOF >>
1161
1164 [TokenizerActor(self.tokenData_,
1166 ;
1167
1169 ADDROF
1170 [TokenizerActor(self.tokenData_,
1172
1173 | STAR
1174 [TokenizerActor(self.tokenData_,
1176
1177 | PLUS
1178 [TokenizerActor(self.tokenData_,
1180
1181 | MINUS
1182 [TokenizerActor(self.tokenData_,
1184
1185 | TILDE
1186 [TokenizerActor(self.tokenData_,
1188
1189 | BANG
1190 [TokenizerActor(self.tokenData_,
1192
1193 ;
1194
1199 [TokenizerActor(self.tokenData_,
1201
1202 ;
1203
1204 // left recursion --> right recursion
1205 // multiplicative_expression
1206 // = cast_expression
1207 // | multiplicative_expression >>
1208 // (
1209 // STAR >> cast_expression
1210 // | SLASH >> cast_expression
1211 // | PERCENT >> cast_expression
1212 // )
1213 // ;
1216 ;
1217
1221 | PERCENT >> cast_expression) >>
1223 [TokenizerActor(self.tokenData_,
1225 | epsilon_p
1226 ;
1227
1228 // left recursion --> right recursion
1229 // additive_expression
1230 // = multiplicative_expression
1231 // | additive_expression >>
1232 // (
1233 // PLUS >> multiplicative_expression
1234 // | MINUS >> multiplicative_expression
1235 // )
1236 // ;
1239 ;
1240
1245 [TokenizerActor(self.tokenData_,
1247
1248 | epsilon_p
1249 ;
1250
1251 // left recursion --> right recursion
1252 // shift_expression
1253 // = additive_expression
1254 // | shift_expression >>
1255 // (
1256 // LEFT_OP >> additive_expression
1257 // | RIGHT_OP >> additive_expression
1258 // )
1259 // ;
1262 ;
1263
1268 [TokenizerActor(self.tokenData_,
1270 | epsilon_p
1271 ;
1272
1273 // left recursion --> right recursion
1274 // relational_expression
1275 // = shift_expression
1276 // | relational_expression >>
1277 // (
1278 // LT_OP >> shift_expression
1279 // | GT_OP >> shift_expression
1280 // | LE_OP >> shift_expression
1281 // | GE_OP >> shift_expression
1282 // )
1283 // ;
1286 ;
1287
1292 | GE_OP >> shift_expression) >>
1294 [TokenizerActor(self.tokenData_,
1296 | epsilon_p
1297 ;
1298
1299 // left recursion --> right recursion
1300 // equality_expression
1301 // = relational_expression
1302 // | equality_expression >>
1303 // (
1304 // EQ_OP >> relational_expression
1305 // | NE_OP >> relational_expression
1306 // )
1307 // ;
1310 ;
1311
1316 [TokenizerActor(self.tokenData_,
1318 | epsilon_p
1319 ;
1320
1321 // left recursion --> right recursion
1322 // and_expression
1323 // = equality_expression
1324 // | and_expression >> ADDROF >> equality_expression
1325 // ;
1328 ;
1329
1333 [TokenizerActor(self.tokenData_,
1335 | epsilon_p
1336 ;
1337
1338 // left recursion --> right recursion
1339 // exclusive_or_expression
1340 // = and_expression
1341 // | exclusive_or_expression >> XOR >> and_expression
1342 // ;
1345 ;
1346
1348 (XOR >> and_expression >>
1350 [TokenizerActor(self.tokenData_,
1352 | epsilon_p
1353 ;
1354
1355 // left recursion --> right recursion
1356 // inclusive_or_expression
1357 // = exclusive_or_expression
1358 // | inclusive_or_expression >> OR >> exclusive_or_expression
1359 // ;
1362 ;
1363
1367 [TokenizerActor(self.tokenData_,
1369 | epsilon_p
1370 ;
1371
1372 // left recursion --> right recursion
1373 // logical_and_expression
1374 // = inclusive_or_expression
1375 // | logical_and_expression >> AND_OP >> inclusive_or_expression
1376 // ;
1379 ;
1380
1384 [TokenizerActor(self.tokenData_,
1386 | epsilon_p
1387 ;
1388
1389 // left recursion --> right recursion
1390 // logical_or_expression
1391 // = logical_and_expression
1392 // | logical_or_expression >> OR_OP >> logical_and_expression
1393 // ;
1396 ;
1397
1401 [TokenizerActor(self.tokenData_,
1403 | epsilon_p
1404 ;
1405
1406 // left recursion --> right recursion
1407 // conditional_expression
1408 // = logical_or_expression
1409 // | logical_or_expression >> QUEST >> expression >> COLON >>
1410 // conditional_expression
1411 // ;
1414 ;
1415
1417 (QUEST >> expression >> COLON >>
1419 [TokenizerActor(self.tokenData_,
1421 | epsilon_p
1422 ;
1423
1424 // assignment_expression =
1425 // (unary_expression >>
1426 // assignment_operator >>
1427 // assignment_expression
1428 // | conditional_expression)
1429 // [TokenizerActor(self.tokenData_,
1430 // TokenizerData::ASSIGNMENT_EXPRESSION)]
1431 // ;
1432
1434 (unary_expression >>
1438 [TokenizerActor(self.tokenData_,
1440 ;
1441
1443 (ASSIGN
1444 | MUL_ASSIGN
1445 | DIV_ASSIGN
1446 | MOD_ASSIGN
1447 | ADD_ASSIGN
1448 | SUB_ASSIGN
1449 | LEFT_ASSIGN
1450 | RIGHT_ASSIGN
1451 | AND_ASSIGN
1452 | XOR_ASSIGN
1453 | OR_ASSIGN)
1454 [TokenizerActor(self.tokenData_,
1456 ;
1457
1458 // left recursion --> right recursion
1459 // expression
1460 // = assignment_expression
1461 // | expression >> COMMA >> assignment_expression
1462 // ;
1463 expression =
1465 ;
1466
1469 [TokenizerActor(self.tokenData_,
1471 | epsilon_p
1472 ;
1473
1476 [TokenizerActor(self.tokenData_,
1478 ;
1479
1480 declaration =
1482 [TokenizerActor(self.tokenData_,
1484 ;
1485
1489 | type_qualifier) >>
1490
1492 [TokenizerActor(self.tokenData_,
1494 ;
1495
1498
1500 (declarator >> !(ASSIGN >> initializer))
1501 [TokenizerActor(self.tokenData_,
1503 ;
1504
1507 [TokenizerActor(self.tokenData_,
1509 ;
1510
1511 // type_specifier =
1512 // (VOID
1513 // | CHAR
1514 // | SHORT
1515 // | INT
1516 // | LONG
1517 // | FLOAT
1518 // | DOUBLE
1519 // | SIGNED
1520 // | UNSIGNED
1521 // | struct_or_union_specifier
1522 // | enum_specifier
1523 // // | TYPE_NAME
1524 // )
1525 // [TokenizerActor(self.tokenData_,
1526 // TokenizerData::TYPE_SPECIFIER)]
1527 // ;
1528
1530 (str_p("IntWord")
1531 | str_p("FloatWord")
1532 | str_p("DoubleWord")
1533 | str_p("SimValue")
1534 | str_p("Var")
1537 [TokenizerActor(self.tokenData_,
1539 ;
1540
1542 (struct_or_union >>
1543 (IDENTIFIER >>
1547 [TokenizerActor(self.tokenData_,
1549 ;
1550
1552 (STRUCT | UNION)
1553 [TokenizerActor(self.tokenData_,
1555 ;
1556
1559
1562 SEMICOLON)
1563 [TokenizerActor(self.tokenData_,
1565
1569
1572 ;
1573
1576 [TokenizerActor(self.tokenData_,
1578 ;
1579
1581 (ENUM >> !IDENTIFIER >> LEFT_BRACE >>
1582 enumerator_list >>
1584 [TokenizerActor(self.tokenData_,
1586 ;
1587
1589 enumerator >> *(COMMA >> enumerator)
1590 ;
1591
1592 enumerator =
1594 [TokenizerActor(self.tokenData_,
1596 ;
1597
1599 (CONST
1600 [TokenizerActor(self.tokenData_,
1602
1603 | VOLATILE
1604 [TokenizerActor(self.tokenData_,
1606
1607 [TokenizerActor(self.tokenData_,
1609 ;
1610
1611 declarator =
1613 [TokenizerActor(self.tokenData_, TokenizerData::DECLARATOR)]
1614 ;
1615
1616 // left recursion --> right recursion
1617 // direct_declarator
1618 // = IDENTIFIER
1619 // | LEFT_PAREN >> declarator >> RIGHT_PAREN
1620 // | direct_declarator >>
1621 // (
1622 // LEFT_BRACKET >> !constant_expression >> RIGHT_BRACKET
1623 // | LEFT_PAREN >>
1624 // (
1625 // parameter_type_list >> RIGHT_PAREN
1626 // | identifier_list >> RIGHT_PAREN
1627 // | RIGHT_PAREN
1628 // )
1629 // )
1630 // ;
1632 ((IDENTIFIER
1635 ;
1636
1639 | LEFT_PAREN >>
1641 | identifier_list) >>
1642 RIGHT_PAREN) >>
1644 [TokenizerActor(self.tokenData_,
1646 | epsilon_p
1647 ;
1648
1649 pointer =
1651 [TokenizerActor(self.tokenData_,
1653 ;
1654
1657 ;
1658
1660 (parameter_list >> !(COMMA >> ELLIPSIS))
1661 [TokenizerActor(self.tokenData_,
1663 ;
1664
1667 [TokenizerActor(self.tokenData_,
1669 ;
1670
1674 [TokenizerActor(self.tokenData_,
1676 ;
1677
1679 (IDENTIFIER >> *(COMMA >> IDENTIFIER))
1680 [TokenizerActor(self.tokenData_,
1682 ;
1683
1684 type_name =
1686 [TokenizerActor(self.tokenData_,
1688 ;
1689
1692 [TokenizerActor(self.tokenData_,
1694 ;
1695
1696 // left recursion --> right recursion
1697 // direct_abstract_declarator
1698 // = LEFT_PAREN >>
1699 // (
1700 // abstract_declarator >> RIGHT_PAREN
1701 // | !parameter_type_list >> RIGHT_PAREN
1702 // )
1703 // | LEFT_BRACKET >> !constant_expression >> RIGHT_BRACKET
1704 // | direct_abstract_declarator >>
1705 // (
1706 // LEFT_BRACKET >> !constant_expression >> RIGHT_BRACKET
1707 // | LEFT_PAREN >> !parameter_type_list >> RIGHT_PAREN
1708 // )
1709 // ;
1711 ((LEFT_PAREN >>
1712
1715
1717
1719 ;
1720
1725 [TokenizerActor(self.tokenData_,
1727 | epsilon_p
1728 ;
1729
1730 initializer =
1733 [TokenizerActor(self.tokenData_,
1735 ;
1736
1738 (initializer >> *(COMMA >> initializer))
1739 [TokenizerActor(self.tokenData_,
1741 ;
1742
1743 statement =
1750 [TokenizerActor(self.tokenData_,
1752
1753 ;
1754
1758 | DEFAULT >> COLON >> statement)
1759 [TokenizerActor(self.tokenData_,
1761 ;
1762
1764 (LEFT_BRACE >>
1767 [TokenizerActor(self.tokenData_,
1769 ;
1770
1772 ;
1773
1775 (+statement)
1776 [TokenizerActor(self.tokenData_,
1778 ;
1779
1781 (!expression >> SEMICOLON)
1782 [TokenizerActor(self.tokenData_,
1784 ;
1785
1787 (IF >> LEFT_PAREN >> expression >> RIGHT_PAREN >>
1788 statement >> !(ELSE >> statement)
1789
1791 statement)
1792 [TokenizerActor(self.tokenData_,
1794 ;
1795
1797 (WHILE >>
1799
1800 | DO >> statement >> WHILE >>
1801 LEFT_PAREN >> expression >>
1803
1804 | FOR >> LEFT_PAREN >>
1808 [TokenizerActor(self.tokenData_,
1810 ;
1811
1814 | CONTINUE >> SEMICOLON
1815 | BREAK >> SEMICOLON
1816 | RETURN >> !expression >> SEMICOLON)
1817 [TokenizerActor(self.tokenData_,
1819
1820 ;
1821
1824 declarator >>
1825 !declaration_list >>
1827 [TokenizerActor(self.tokenData_,
1829 ;
1830
1833 [TokenizerActor(self.tokenData_,
1835 ;
1836
1837 // Original..
1838 // parser start symbol
1839 // translation_unit = *external_declaration ;
1840 //
1841
1842 // We are only interested about expressions ended with semicolon
1844 ;
1845 }

References TokenizerData::ABSTRACT_DECLARATOR, OperationDAGLanguageGrammar::definition< ScannerT >::abstract_declarator, OperationDAGLanguageGrammar::definition< ScannerT >::ADD_ASSIGN, TokenizerData::ADDITIVE_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::additive_expression, OperationDAGLanguageGrammar::definition< ScannerT >::additive_expression_helper, OperationDAGLanguageGrammar::definition< ScannerT >::ADDROF, OperationDAGLanguageGrammar::definition< ScannerT >::AND_ASSIGN, TokenizerData::AND_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::and_expression, OperationDAGLanguageGrammar::definition< ScannerT >::and_expression_helper, OperationDAGLanguageGrammar::definition< ScannerT >::AND_OP, OperationDAGLanguageGrammar::definition< ScannerT >::argument_expression_list, OperationDAGLanguageGrammar::definition< ScannerT >::ASSIGN, TokenizerData::ASSIGNMENT_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::assignment_expression, TokenizerData::ASSIGNMENT_OPERATOR, OperationDAGLanguageGrammar::definition< ScannerT >::assignment_operator, OperationDAGLanguageGrammar::definition< ScannerT >::AUTO, OperationDAGLanguageGrammar::definition< ScannerT >::BANG, OperationDAGLanguageGrammar::definition< ScannerT >::BREAK, OperationDAGLanguageGrammar::definition< ScannerT >::CASE, TokenizerData::CAST_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::cast_expression, OperationDAGLanguageGrammar::definition< ScannerT >::CHAR, OperationDAGLanguageGrammar::definition< ScannerT >::COLON, OperationDAGLanguageGrammar::definition< ScannerT >::COMMA, TokenizerData::COMPOUND_STATEMENT, OperationDAGLanguageGrammar::definition< ScannerT >::compound_statement, TokenizerData::CONDITIONAL_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::conditional_expression, OperationDAGLanguageGrammar::definition< ScannerT >::conditional_expression_helper, OperationDAGLanguageGrammar::definition< ScannerT >::CONST, TokenizerData::CONST_QUALIFER, OperationDAGLanguageGrammar::definition< ScannerT >::CONSTANT, TokenizerData::CONSTANT_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::constant_expression, OperationDAGLanguageGrammar::definition< ScannerT >::CONTINUE, OperationDAGLanguageGrammar::definition< ScannerT >::DEC_OP, TokenizerData::DECLARATION, OperationDAGLanguageGrammar::definition< ScannerT >::declaration, OperationDAGLanguageGrammar::definition< ScannerT >::declaration_list, TokenizerData::DECLARATION_SPECIFIERS, OperationDAGLanguageGrammar::definition< ScannerT >::declaration_specifiers, TokenizerData::DECLARATOR, OperationDAGLanguageGrammar::definition< ScannerT >::declarator, OperationDAGLanguageGrammar::definition< ScannerT >::DEFAULT, TokenizerData::DIRECT_ABSTRACT_DECLARATOR, OperationDAGLanguageGrammar::definition< ScannerT >::direct_abstract_declarator, OperationDAGLanguageGrammar::definition< ScannerT >::direct_abstract_declarator_helper, TokenizerData::DIRECT_DECLARATOR, OperationDAGLanguageGrammar::definition< ScannerT >::direct_declarator, OperationDAGLanguageGrammar::definition< ScannerT >::direct_declarator_helper, OperationDAGLanguageGrammar::definition< ScannerT >::DIV_ASSIGN, OperationDAGLanguageGrammar::definition< ScannerT >::DO, OperationDAGLanguageGrammar::definition< ScannerT >::DOT, OperationDAGLanguageGrammar::definition< ScannerT >::DOUBLE, OperationDAGLanguageGrammar::definition< ScannerT >::ELLIPSIS, OperationDAGLanguageGrammar::definition< ScannerT >::ELSE, OperationDAGLanguageGrammar::definition< ScannerT >::ENUM, TokenizerData::ENUM_SPECIFIER, OperationDAGLanguageGrammar::definition< ScannerT >::enum_specifier, TokenizerData::ENUMERATOR, OperationDAGLanguageGrammar::definition< ScannerT >::enumerator, OperationDAGLanguageGrammar::definition< ScannerT >::enumerator_list, OperationDAGLanguageGrammar::definition< ScannerT >::EQ_OP, TokenizerData::EQUALITY_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::equality_expression, OperationDAGLanguageGrammar::definition< ScannerT >::equality_expression_helper, TokenizerData::EXCLUSIVE_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::exclusive_or_expression, OperationDAGLanguageGrammar::definition< ScannerT >::exclusive_or_expression_helper, TokenizerData::EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::expression, OperationDAGLanguageGrammar::definition< ScannerT >::expression_helper, TokenizerData::EXPRESSION_STATEMENT, OperationDAGLanguageGrammar::definition< ScannerT >::expression_statement, OperationDAGLanguageGrammar::definition< ScannerT >::EXTERN, TokenizerData::EXTERNAL_DECLARATION, OperationDAGLanguageGrammar::definition< ScannerT >::external_declaration, OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT, OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT, OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT_1, OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT_2, OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT_3, TokenizerData::FLOAT_LITERAL, OperationDAGLanguageGrammar::definition< ScannerT >::FOR, TokenizerData::FUNCTION_DEFINITION, OperationDAGLanguageGrammar::definition< ScannerT >::function_definition, OperationDAGLanguageGrammar::definition< ScannerT >::GE_OP, OperationDAGLanguageGrammar::definition< ScannerT >::GOTO, OperationDAGLanguageGrammar::definition< ScannerT >::GT_OP, TokenizerData::IDENTIFIER, OperationDAGLanguageGrammar::definition< ScannerT >::IDENTIFIER, TokenizerData::IDENTIFIER_LIST, OperationDAGLanguageGrammar::definition< ScannerT >::identifier_list, OperationDAGLanguageGrammar::definition< ScannerT >::IF, OperationDAGLanguageGrammar::definition< ScannerT >::INC_OP, TokenizerData::INCLUSIVE_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::inclusive_or_expression, OperationDAGLanguageGrammar::definition< ScannerT >::inclusive_or_expression_helper, TokenizerData::INIT_DECLARATOR, OperationDAGLanguageGrammar::definition< ScannerT >::init_declarator, OperationDAGLanguageGrammar::definition< ScannerT >::init_declarator_list, TokenizerData::INITIALIZER, OperationDAGLanguageGrammar::definition< ScannerT >::initializer, TokenizerData::INITIALIZER_LIST, OperationDAGLanguageGrammar::definition< ScannerT >::initializer_list, OperationDAGLanguageGrammar::definition< ScannerT >::INT, OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT, OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_CHAR, OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_DEC, OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_HEX, OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_OCT, TokenizerData::INTEGER_LITERAL, TokenizerData::ITERATION_STATEMENT, OperationDAGLanguageGrammar::definition< ScannerT >::iteration_statement, TokenizerData::JUMP_STATEMENT, OperationDAGLanguageGrammar::definition< ScannerT >::jump_statement, OperationDAGLanguageGrammar::definition< ScannerT >::keywords, TokenizerData::LABELED_STATEMENT, OperationDAGLanguageGrammar::definition< ScannerT >::labeled_statement, OperationDAGLanguageGrammar::definition< ScannerT >::LE_OP, OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_ASSIGN, OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_BRACE, OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_BRACKET, OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_OP, OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_PAREN, TokenizerData::LOGICAL_AND_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::logical_and_expression, OperationDAGLanguageGrammar::definition< ScannerT >::logical_and_expression_helper, TokenizerData::LOGICAL_OR_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::logical_or_expression, OperationDAGLanguageGrammar::definition< ScannerT >::logical_or_expression_helper, OperationDAGLanguageGrammar::definition< ScannerT >::LONG, OperationDAGLanguageGrammar::definition< ScannerT >::LT_OP, OperationDAGLanguageGrammar::definition< ScannerT >::MINUS, OperationDAGLanguageGrammar::definition< ScannerT >::MOD_ASSIGN, OperationDAGLanguageGrammar::definition< ScannerT >::MUL_ASSIGN, TokenizerData::MULTIPLICATIVE_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::multiplicative_expression, OperationDAGLanguageGrammar::definition< ScannerT >::multiplicative_expression_helper, OperationDAGLanguageGrammar::definition< ScannerT >::NE_OP, OperationDAGLanguageGrammar::definition< ScannerT >::OR, OperationDAGLanguageGrammar::definition< ScannerT >::OR_ASSIGN, OperationDAGLanguageGrammar::definition< ScannerT >::OR_OP, TokenizerData::PARAMETER_DECLARATION, OperationDAGLanguageGrammar::definition< ScannerT >::parameter_declaration, TokenizerData::PARAMETER_LIST, OperationDAGLanguageGrammar::definition< ScannerT >::parameter_list, TokenizerData::PARAMETER_TYPE_LIST, OperationDAGLanguageGrammar::definition< ScannerT >::parameter_type_list, OperationDAGLanguageGrammar::definition< ScannerT >::PERCENT, OperationDAGLanguageGrammar::definition< ScannerT >::PLUS, TokenizerData::POINTER, OperationDAGLanguageGrammar::definition< ScannerT >::pointer, TokenizerData::POSTFIX_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::postfix_expression, OperationDAGLanguageGrammar::definition< ScannerT >::postfix_expression_helper, TokenizerData::PRIMARY_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::primary_expression, OperationDAGLanguageGrammar::definition< ScannerT >::PTR_OP, OperationDAGLanguageGrammar::definition< ScannerT >::QUEST, OperationDAGLanguageGrammar::definition< ScannerT >::REGISTER, TokenizerData::RELATIONAL_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::relational_expression, OperationDAGLanguageGrammar::definition< ScannerT >::relational_expression_helper, OperationDAGLanguageGrammar::definition< ScannerT >::RETURN, OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_ASSIGN, OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_BRACE, OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_BRACKET, OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_OP, OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_PAREN, TokenizerData::SELECTION_STATEMENT, OperationDAGLanguageGrammar::definition< ScannerT >::selection_statement, OperationDAGLanguageGrammar::definition< ScannerT >::SEMICOLON, TokenizerData::SHIFT_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::shift_expression, OperationDAGLanguageGrammar::definition< ScannerT >::shift_expression_helper, OperationDAGLanguageGrammar::definition< ScannerT >::SHORT, OperationDAGLanguageGrammar::definition< ScannerT >::SIGNED, OperationDAGLanguageGrammar::definition< ScannerT >::SIZEOF, OperationDAGLanguageGrammar::definition< ScannerT >::SLASH, OperationDAGLanguageGrammar::definition< ScannerT >::specifier_qualifier_list, OperationDAGLanguageGrammar::definition< ScannerT >::STAR, TokenizerData::STATEMENT, OperationDAGLanguageGrammar::definition< ScannerT >::statement, TokenizerData::STATEMENT_LIST, OperationDAGLanguageGrammar::definition< ScannerT >::statement_list, OperationDAGLanguageGrammar::definition< ScannerT >::STATIC, TokenizerData::STORAGE_CLASS_SPECIFIER, OperationDAGLanguageGrammar::definition< ScannerT >::storage_class_specifier, TokenizerData::STRING_LITERAL, OperationDAGLanguageGrammar::definition< ScannerT >::STRING_LITERAL, OperationDAGLanguageGrammar::definition< ScannerT >::STRING_LITERAL_PART, OperationDAGLanguageGrammar::definition< ScannerT >::STRUCT, TokenizerData::STRUCT_DECLARATION, OperationDAGLanguageGrammar::definition< ScannerT >::struct_declaration, OperationDAGLanguageGrammar::definition< ScannerT >::struct_declaration_list, TokenizerData::STRUCT_DECLARATOR, OperationDAGLanguageGrammar::definition< ScannerT >::struct_declarator, OperationDAGLanguageGrammar::definition< ScannerT >::struct_declarator_list, TokenizerData::STRUCT_OR_UNION, OperationDAGLanguageGrammar::definition< ScannerT >::struct_or_union, TokenizerData::STRUCT_OR_UNION_SPECIFIER, OperationDAGLanguageGrammar::definition< ScannerT >::struct_or_union_specifier, OperationDAGLanguageGrammar::definition< ScannerT >::SUB_ASSIGN, OperationDAGLanguageGrammar::definition< ScannerT >::SWITCH, OperationDAGLanguageGrammar::definition< ScannerT >::TILDE, OperationDAGLanguageGrammar::tokenData_, OperationDAGLanguageGrammar::definition< ScannerT >::translation_unit, TokenizerData::TYPE_NAME, OperationDAGLanguageGrammar::definition< ScannerT >::type_name, TokenizerData::TYPE_QUALIFER, OperationDAGLanguageGrammar::definition< ScannerT >::type_qualifier, OperationDAGLanguageGrammar::definition< ScannerT >::type_qualifier_list, TokenizerData::TYPE_SPECIFIER, OperationDAGLanguageGrammar::definition< ScannerT >::type_specifier, OperationDAGLanguageGrammar::definition< ScannerT >::TYPEDEF, TokenizerData::UNARY_ADDROF, TokenizerData::UNARY_BANG, TokenizerData::UNARY_EXPRESSION, OperationDAGLanguageGrammar::definition< ScannerT >::unary_expression, TokenizerData::UNARY_MINUS, OperationDAGLanguageGrammar::definition< ScannerT >::unary_operator, TokenizerData::UNARY_PLUS, TokenizerData::UNARY_STAR, TokenizerData::UNARY_TILDE, OperationDAGLanguageGrammar::definition< ScannerT >::UNION, OperationDAGLanguageGrammar::definition< ScannerT >::UNSIGNED, OperationDAGLanguageGrammar::definition< ScannerT >::VOID, OperationDAGLanguageGrammar::definition< ScannerT >::VOLATILE, TokenizerData::VOLATILE_QUALIFER, OperationDAGLanguageGrammar::definition< ScannerT >::WHILE, OperationDAGLanguageGrammar::definition< ScannerT >::XOR, and OperationDAGLanguageGrammar::definition< ScannerT >::XOR_ASSIGN.

Member Function Documentation

◆ start()

template<typename ScannerT >
rule< ScannerT > const & OperationDAGLanguageGrammar::definition< ScannerT >::start ( ) const
inline

Member Data Documentation

◆ abstract_declarator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::abstract_declarator

◆ ADD_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::ADD_ASSIGN

◆ additive_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::additive_expression

◆ additive_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::additive_expression_helper

◆ ADDROF

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::ADDROF

◆ AND_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::AND_ASSIGN

◆ and_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::and_expression

◆ and_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::and_expression_helper

◆ AND_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::AND_OP

◆ argument_expression_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::argument_expression_list

◆ ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::ASSIGN

◆ assignment_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::assignment_expression

◆ assignment_operator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::assignment_operator

◆ AUTO

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::AUTO

◆ BANG

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::BANG

◆ BREAK

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::BREAK

◆ CASE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::CASE

◆ cast_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::cast_expression

◆ CHAR

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::CHAR

◆ COLON

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::COLON

◆ COMMA

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::COMMA

◆ compound_statement

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::compound_statement

◆ conditional_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::conditional_expression

◆ conditional_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::conditional_expression_helper

◆ CONST

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::CONST

◆ CONSTANT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::CONSTANT

◆ constant_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::constant_expression

◆ CONTINUE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::CONTINUE

◆ DEC_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::DEC_OP

◆ declaration

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::declaration

◆ declaration_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::declaration_list

◆ declaration_specifiers

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::declaration_specifiers

◆ declarator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::declarator

◆ DEFAULT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::DEFAULT

◆ direct_abstract_declarator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::direct_abstract_declarator

◆ direct_abstract_declarator_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::direct_abstract_declarator_helper

◆ direct_declarator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::direct_declarator

◆ direct_declarator_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::direct_declarator_helper

◆ DIV_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::DIV_ASSIGN

◆ DO

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::DO

◆ DOT

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::DOT

◆ DOUBLE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::DOUBLE

◆ ELLIPSIS

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::ELLIPSIS

◆ ELSE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::ELSE

◆ ENUM

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::ENUM

◆ enum_specifier

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::enum_specifier

◆ enumerator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::enumerator

◆ enumerator_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::enumerator_list

◆ EQ_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::EQ_OP

◆ equality_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::equality_expression

◆ equality_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::equality_expression_helper

◆ exclusive_or_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::exclusive_or_expression

◆ exclusive_or_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::exclusive_or_expression_helper

◆ expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::expression

◆ expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::expression_helper

◆ expression_statement

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::expression_statement

◆ EXTERN

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::EXTERN

◆ external_declaration

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::external_declaration

◆ FLOAT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT

◆ FLOAT_CONSTANT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT

◆ FLOAT_CONSTANT_1

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT_1

◆ FLOAT_CONSTANT_2

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT_2

◆ FLOAT_CONSTANT_3

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::FLOAT_CONSTANT_3

◆ FOR

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::FOR

◆ function_definition

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::function_definition

◆ GE_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::GE_OP

◆ GOTO

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::GOTO

◆ GT_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::GT_OP

◆ IDENTIFIER

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::IDENTIFIER

◆ identifier_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::identifier_list

◆ IF

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::IF

◆ INC_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::INC_OP

◆ inclusive_or_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::inclusive_or_expression

◆ inclusive_or_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::inclusive_or_expression_helper

◆ init_declarator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::init_declarator

◆ init_declarator_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::init_declarator_list

◆ initializer

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::initializer

◆ initializer_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::initializer_list

◆ INT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::INT

◆ INT_CONSTANT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT

◆ INT_CONSTANT_CHAR

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_CHAR

◆ INT_CONSTANT_DEC

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_DEC

◆ INT_CONSTANT_HEX

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_HEX

◆ INT_CONSTANT_OCT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::INT_CONSTANT_OCT

◆ iteration_statement

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::iteration_statement

◆ jump_statement

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::jump_statement

◆ keywords

template<typename ScannerT >
symbols OperationDAGLanguageGrammar::definition< ScannerT >::keywords

◆ labeled_statement

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::labeled_statement

◆ last_comment_spirit_bugfix

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::last_comment_spirit_bugfix

Definition at line 1910 of file OperationDAGLanguageParser.hh.

◆ LE_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::LE_OP

◆ LEFT_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_ASSIGN

◆ LEFT_BRACE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_BRACE

◆ LEFT_BRACKET

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_BRACKET

◆ LEFT_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_OP

◆ LEFT_PAREN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::LEFT_PAREN

◆ logical_and_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::logical_and_expression

◆ logical_and_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::logical_and_expression_helper

◆ logical_or_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::logical_or_expression

◆ logical_or_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::logical_or_expression_helper

◆ LONG

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::LONG

◆ LT_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::LT_OP

◆ MINUS

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::MINUS

◆ MOD_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::MOD_ASSIGN

◆ MUL_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::MUL_ASSIGN

◆ multiplicative_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::multiplicative_expression

◆ multiplicative_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::multiplicative_expression_helper

◆ NE_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::NE_OP

◆ OR

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::OR

◆ OR_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::OR_ASSIGN

◆ OR_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::OR_OP

◆ parameter_declaration

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::parameter_declaration

◆ parameter_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::parameter_list

◆ parameter_type_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::parameter_type_list

◆ PERCENT

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::PERCENT

◆ PLUS

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::PLUS

◆ pointer

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::pointer

◆ postfix_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::postfix_expression

◆ postfix_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::postfix_expression_helper

◆ primary_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::primary_expression

◆ PTR_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::PTR_OP

◆ QUEST

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::QUEST

◆ REGISTER

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::REGISTER

◆ relational_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::relational_expression

◆ relational_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::relational_expression_helper

◆ RETURN

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::RETURN

◆ RIGHT_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_ASSIGN

◆ RIGHT_BRACE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_BRACE

◆ RIGHT_BRACKET

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_BRACKET

◆ RIGHT_OP

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_OP

◆ RIGHT_PAREN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::RIGHT_PAREN

◆ selection_statement

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::selection_statement

◆ SEMICOLON

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::SEMICOLON

◆ shift_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::shift_expression

◆ shift_expression_helper

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::shift_expression_helper

◆ SHORT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::SHORT

◆ SIGNED

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::SIGNED

◆ SIZEOF

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::SIZEOF

◆ SLASH

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::SLASH

◆ specifier_qualifier_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::specifier_qualifier_list

◆ STAR

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::STAR

◆ statement

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::statement

◆ statement_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::statement_list

◆ STATIC

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::STATIC

◆ storage_class_specifier

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::storage_class_specifier

◆ STRING_LITERAL

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::STRING_LITERAL

◆ STRING_LITERAL_PART

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::STRING_LITERAL_PART

◆ STRUCT

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::STRUCT

◆ struct_declaration

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::struct_declaration

◆ struct_declaration_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::struct_declaration_list

◆ struct_declarator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::struct_declarator

◆ struct_declarator_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::struct_declarator_list

◆ struct_or_union

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::struct_or_union

◆ struct_or_union_specifier

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::struct_or_union_specifier

◆ SUB_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::SUB_ASSIGN

◆ SWITCH

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::SWITCH

◆ TILDE

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::TILDE

◆ translation_unit

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::translation_unit

◆ type_name

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::type_name

◆ type_qualifier

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::type_qualifier

◆ type_qualifier_list

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::type_qualifier_list

◆ type_specifier

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::type_specifier

◆ TYPEDEF

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::TYPEDEF

◆ unary_expression

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::unary_expression

◆ unary_operator

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::unary_operator

◆ UNION

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::UNION

◆ UNSIGNED

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::UNSIGNED

◆ VOID

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::VOID

◆ VOLATILE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::VOLATILE

◆ WHILE

template<typename ScannerT >
rule<ScannerT> OperationDAGLanguageGrammar::definition< ScannerT >::WHILE

◆ XOR

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::XOR

◆ XOR_ASSIGN

template<typename ScannerT >
strlit OperationDAGLanguageGrammar::definition< ScannerT >::XOR_ASSIGN

The documentation for this struct was generated from the following file: