%{ #include "inferencerule_parser.tab.h" #include #include #include #include using namespace std; %} A [/] B [*] C [^/*] L [a-zA-Z_] Operators (ite)|\+|\-|"concat"|(CDFG_LOGICAL_NOT)|(CDFG_BITWISE_AND)|(CDFG_ARITHMETIC_ADDITION)|(CDFG_ARITHMETIC_SUBTRACTION)|(CDFG_GREATER_THAN)|(CDFG_GREATER_EQUAL)|(CDFG_LESS_THAN)|(CDFG_LESS_EQUAL)|(CDFG_MULTIPLY)|(CDFG_DIVIDE)|(CDFG_MODULUS) Type "SIGNED_INTEGER"|"UNSIGNED_INTEGER"|"SIGNED_BITVECTOR"|"UNSIGNED_BITVECTOR"|"REAL"|"BOOL" %% {A}({A}.*|{B}({A}|{C}|{B}+{C})*{B}+{A}) {/*cout<<"Comments in Lex\n";*/ return t_Comments;} "$operator:" {/*cout<<"Operator string\n"; */ return t_OperatorString; } {Operators} { yylval.string_value=strdup(yytext); yylval.string_value[yyleng]='\0'; /*cout<<"Operator:"<