let yyact = [|
(fun _ -> failwith "parser")
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 1 : 'formula) in
Obj.repr(
# 84 "src/aorai/ltlparser.mly"
((_1,observed_expressions))
# 332 "src/aorai/ltlparser.ml"
: (Ltlast.formula * (string, (Cil_types.exp* string*Cil_types.predicate)) Hashtbl.t)))
; (fun __caml_parser_env ->
Obj.repr(
# 90 "src/aorai/ltlparser.mly"
(Ltlast.LTrue)
# 338 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
Obj.repr(
# 92 "src/aorai/ltlparser.mly"
(Ltlast.LFalse)
# 344 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 1 : 'formula) in
Obj.repr(
# 94 "src/aorai/ltlparser.mly"
( _2 )
# 351 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 97 "src/aorai/ltlparser.mly"
( Ltlast.LGlobally(_2) )
# 358 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 99 "src/aorai/ltlparser.mly"
( Ltlast.LFatally(_2) )
# 365 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formula) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 101 "src/aorai/ltlparser.mly"
( Ltlast.LUntil(_1,_3) )
# 373 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formula) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 103 "src/aorai/ltlparser.mly"
( Ltlast.LRelease(_1,_3) )
# 381 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 105 "src/aorai/ltlparser.mly"
( Ltlast.LNext(_2) )
# 388 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formula) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 108 "src/aorai/ltlparser.mly"
( Ltlast.LOr(_1,_3) )
# 396 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formula) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 110 "src/aorai/ltlparser.mly"
( Ltlast.LAnd(_1,_3) )
# 404 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 112 "src/aorai/ltlparser.mly"
( Ltlast.LNot(_2) )
# 411 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formula) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 114 "src/aorai/ltlparser.mly"
( Ltlast.LImplies(_1,_3) )
# 419 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formula) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formula) in
Obj.repr(
# 116 "src/aorai/ltlparser.mly"
( Ltlast.LIff(_1,_3) )
# 427 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _3 = (Parsing.peek_val __caml_parser_env 1 : string) in
Obj.repr(
# 119 "src/aorai/ltlparser.mly"
( Ltlast.LCall(_3))
# 434 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _3 = (Parsing.peek_val __caml_parser_env 1 : string) in
Obj.repr(
# 121 "src/aorai/ltlparser.mly"
( Ltlast.LReturn(_3))
# 441 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _3 = (Parsing.peek_val __caml_parser_env 1 : string) in
Obj.repr(
# 123 "src/aorai/ltlparser.mly"
( Ltlast.LCallOrReturn(_3))
# 448 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : 'logic_relation) in
Obj.repr(
# 127 "src/aorai/ltlparser.mly"
(
let id = get_fresh_ident () in
let (pred,exp) = _1 in
Hashtbl.add observed_expressions id
(exp, (Pretty_utils.sfprintf "%a" Cil.d_exp exp), pred);
Ltlast.LIdent(id)
)
# 461 "src/aorai/ltlparser.ml"
: 'formula))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 140 "src/aorai/ltlparser.mly"
( ( Prel(Cil_types.Req, Logic_utils.expr_to_term ~cast:true _1 ,Logic_utils.expr_to_term ~cast:true _3),
new_exp (BinOp(Cil_types.Eq, _1 , _3 , Cil.intType)) )
)
# 471 "src/aorai/ltlparser.ml"
: 'logic_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 144 "src/aorai/ltlparser.mly"
( ( Prel(Cil_types.Rlt, Logic_utils.expr_to_term ~cast:true _1 , Logic_utils.expr_to_term ~cast:true _3),
new_exp (BinOp(Cil_types.Lt, _1 , _3 , Cil.intType)) )
)
# 481 "src/aorai/ltlparser.ml"
: 'logic_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 148 "src/aorai/ltlparser.mly"
( ( Prel(Cil_types.Rgt, Logic_utils.expr_to_term ~cast:true _1 , Logic_utils.expr_to_term ~cast:true _3),
new_exp(BinOp(Cil_types.Gt, _1 , _3 , Cil.intType)) )
)
# 491 "src/aorai/ltlparser.ml"
: 'logic_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 152 "src/aorai/ltlparser.mly"
( ( Prel(Cil_types.Rle, Logic_utils.expr_to_term ~cast:true _1 , Logic_utils.expr_to_term ~cast:true _3),
new_exp (BinOp(Cil_types.Le, _1 , _3 , Cil.intType) ))
)
# 501 "src/aorai/ltlparser.ml"
: 'logic_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 156 "src/aorai/ltlparser.mly"
( ( Prel(Cil_types.Rge, Logic_utils.expr_to_term ~cast:true _1 , Logic_utils.expr_to_term ~cast:true _3),
new_exp (BinOp(Cil_types.Ge, _1 , _3 , Cil.intType) ))
)
# 511 "src/aorai/ltlparser.ml"
: 'logic_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 160 "src/aorai/ltlparser.mly"
( ( Prel(Cil_types.Rneq,Logic_utils.expr_to_term ~cast:true _1 , Logic_utils.expr_to_term ~cast:true _3),
new_exp (BinOp(Cil_types.Ne , _1 , _3 , Cil.intType) ))
)
# 521 "src/aorai/ltlparser.ml"
: 'logic_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 164 "src/aorai/ltlparser.mly"
( ( Prel(Cil_types.Rneq,Logic_utils.expr_to_term ~cast:true _1 ,
Logic_const.term
(TConst( CInt64(Int64.of_int 0,IInt,Some("0"))))
(Ctype Cil.intType)),
_1)
)
# 533 "src/aorai/ltlparser.ml"
: 'logic_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation_mul) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 176 "src/aorai/ltlparser.mly"
( new_exp (BinOp(Cil_types.PlusA, _1 , _3 , Cil.intType)) )
# 541 "src/aorai/ltlparser.ml"
: 'arith_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation_mul) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation) in
Obj.repr(
# 178 "src/aorai/ltlparser.mly"
( new_exp (BinOp(Cil_types.MinusA, _1 , _3 , Cil.intType)) )
# 549 "src/aorai/ltlparser.ml"
: 'arith_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : 'arith_relation_mul) in
Obj.repr(
# 180 "src/aorai/ltlparser.mly"
( _1 )
# 556 "src/aorai/ltlparser.ml"
: 'arith_relation))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation_mul) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'access_or_const) in
Obj.repr(
# 186 "src/aorai/ltlparser.mly"
( new_exp (BinOp(Cil_types.Div, _1 , _3 , Cil.intType)) )
# 564 "src/aorai/ltlparser.ml"
: 'arith_relation_mul))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation_mul) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'access_or_const) in
Obj.repr(
# 188 "src/aorai/ltlparser.mly"
( new_exp (BinOp(Cil_types.Mult, _1 , _3 , Cil.intType)) )
# 572 "src/aorai/ltlparser.ml"
: 'arith_relation_mul))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arith_relation_mul) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'access_or_const) in
Obj.repr(
# 190 "src/aorai/ltlparser.mly"
( new_exp (BinOp(Cil_types.Mod, _1 , _3 , Cil.intType)) )
# 580 "src/aorai/ltlparser.ml"
: 'arith_relation_mul))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : 'access_or_const) in
Obj.repr(
# 192 "src/aorai/ltlparser.mly"
( _1 )
# 587 "src/aorai/ltlparser.ml"
: 'arith_relation_mul))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
# 198 "src/aorai/ltlparser.mly"
( new_exp (Const(CInt64(Int64.of_string _1,IInt, Some(_1)))))
# 594 "src/aorai/ltlparser.ml"
: 'access_or_const))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : 'access) in
Obj.repr(
# 200 "src/aorai/ltlparser.mly"
( new_exp (Lval(_1)) )
# 601 "src/aorai/ltlparser.ml"
: 'access_or_const))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 1 : 'arith_relation) in
Obj.repr(
# 202 "src/aorai/ltlparser.mly"
( _2 )
# 608 "src/aorai/ltlparser.ml"
: 'access_or_const))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'access_array) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : 'access) in
Obj.repr(
# 209 "src/aorai/ltlparser.mly"
( Aorai_option.fatal "NOT YET IMPLEMENTED : A->B pointed structure filed access." )
# 616 "src/aorai/ltlparser.ml"
: 'access))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : 'access) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
# 211 "src/aorai/ltlparser.mly"
( let (my_host,my_offset) = (_1) in
let new_offset = Utils_parser.add_offset my_offset (Utils_parser.get_new_offset my_host my_offset _3) in
(my_host,new_offset))
# 627 "src/aorai/ltlparser.ml"
: 'access))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : 'access_array) in
Obj.repr(
# 216 "src/aorai/ltlparser.mly"
(_1)
# 634 "src/aorai/ltlparser.ml"
: 'access))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 3 : 'access_array) in
let _3 = (Parsing.peek_val __caml_parser_env 1 : 'access_or_const) in
Obj.repr(
# 220 "src/aorai/ltlparser.mly"
( Cil.addOffsetLval (Index (_3,NoOffset)) _1)
# 642 "src/aorai/ltlparser.ml"
: 'access_array))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : 'access_leaf) in
Obj.repr(
# 222 "src/aorai/ltlparser.mly"
(_1)
# 649 "src/aorai/ltlparser.ml"
: 'access_array))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : 'access) in
Obj.repr(
# 227 "src/aorai/ltlparser.mly"
( Aorai_option.fatal "NOT YET IMPLEMENTED : &A 'address of' access." )
# 656 "src/aorai/ltlparser.ml"
: 'access_leaf))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : 'access) in
Obj.repr(
# 229 "src/aorai/ltlparser.mly"
( Aorai_option.fatal "NOT YET IMPLEMENTED : *A dereferencement access.")
# 663 "src/aorai/ltlparser.ml"
: 'access_leaf))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
# 231 "src/aorai/ltlparser.mly"
( Cil.var ( Data_for_aorai.get_varinfo _1) )
# 670 "src/aorai/ltlparser.ml"
: 'access_leaf))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 1 : 'access) in
Obj.repr(
# 233 "src/aorai/ltlparser.mly"
( _2 )
# 677 "src/aorai/ltlparser.ml"
: 'access_leaf))
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
|]