diff --git a/infer/src/llvm/lAst.ml b/infer/src/llvm/lAst.ml index b63403f4e..10d54b12c 100644 --- a/infer/src/llvm/lAst.ml +++ b/infer/src/llvm/lAst.ml @@ -42,6 +42,7 @@ type instr = | Store of operand * typ * variable | Alloc of variable * typ * int * int (* return variable, element type, number of elements, alignment *) + | Binop type func_def = FuncDef of variable * typ option * (typ * string) list * instr list diff --git a/infer/src/llvm/lParser.mly b/infer/src/llvm/lParser.mly index 72e15dc91..6362f9446 100644 --- a/infer/src/llvm/lParser.mly +++ b/infer/src/llvm/lParser.mly @@ -195,6 +195,7 @@ instr: | var = variable EQUALS LOAD tp = ptr_typ ptr = variable { Load (var, tp, ptr) } | STORE val_tp = typ value = operand COMMA ptr_tp = ptr_typ var = variable { Store (value, val_tp, var) } (* don't yet know why val_tp and ptr_tp would be different *) + | variable EQUALS binop { Binop } binop: | ADD arith_options binop_args { () }