@@ -284,7 +284,7 @@ static void new_module(YYSTYPE &module)
284284%left OR_Token
285285%left AND_Token
286286%left NOT_Token
287- %left EX_Token AX_Token EF_Token AF_Token EG_Token AG_Token E_Token A_Token U_Token R_Token V_Token F_Token G_Token X_Token
287+ %left EX_Token AX_Token EF_Token AF_Token EG_Token AG_Token E_Token A_Token U_Token R_Token V_Token F_Token G_Token H_Token O_Token S_Token T_Token X_Token Y_Token Z_Token
288288%left EQUAL_Token NOTEQUAL_Token LT_Token GT_Token LE_Token GE_Token
289289%left union_Token
290290%left IN_Token NOTIN_Token
@@ -704,6 +704,19 @@ term : variable_name
704704 | term union_Token term { binary ($$, $1 , ID_smv_union, $3 ); }
705705 | term IN_Token term { binary ($$, $1 , ID_smv_setin, $3 ); }
706706 | term NOTIN_Token term { binary ($$, $1 , ID_smv_setnotin, $3 ); }
707+ /* LTL PAST */
708+ | Y_Token term { $$ = $1 ; stack_expr ($$).id (ID_smv_Y); mto ($$, $2 ); }
709+ | Z_Token term { $$ = $1 ; stack_expr ($$).id (ID_smv_Z); mto ($$, $2 ); }
710+ | H_Token term { $$ = $1 ; stack_expr ($$).id (ID_smv_H); mto ($$, $2 ); }
711+ | H_Token bound term { $$ = $1 ; stack_expr ($$).id (ID_smv_bounded_H); mto ($$, $3 ); }
712+ | O_Token term { $$ = $1 ; stack_expr ($$).id (ID_smv_O); mto ($$, $2 ); }
713+ | O_Token bound term { $$ = $1 ; stack_expr ($$).id (ID_smv_bounded_O); mto ($$, $3 ); }
714+ | term S_Token term { $$ = $2 ; stack_expr ($$).id (ID_smv_S); mto ($$, $1 ); mto ($$, $3 ); }
715+ | term T_Token term { $$ = $2 ; stack_expr ($$).id (ID_smv_T); mto ($$, $1 ); mto ($$, $3 ); }
716+ ;
717+
718+ bound: ' [' NUMBER_Token ' ,' NUMBER_Token ' ]'
719+ { init ($$); mto ($$, $2 ); mto ($$, $4 ); }
707720 ;
708721
709722formula_list:
0 commit comments