From 60c23850bdbec0b9b167d1135ce8ab119f517be6 Mon Sep 17 00:00:00 2001 From: Christian Rinderknecht Date: Wed, 20 Mar 2019 09:26:24 +0100 Subject: [PATCH] Small refactoring of the AST. --- AST.ml | 22 +++++++++++----------- AST.mli | 12 ++++++------ Parser.mly | 8 ++++---- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/AST.ml b/AST.ml index 443f127d4..8a00b57e4 100644 --- a/AST.ml +++ b/AST.ml @@ -445,16 +445,16 @@ and expr = | ParExpr of expr par reg and map_expr = - MapLookUp of map_lookup reg + MapLookUp of map_lookup reg and map_lookup = { - map_path : map_path; - index : expr brackets reg + path : path; + index : expr brackets reg } -and map_path = - Map of map_name -| MapPath of record_projection reg +and path = + Name of variable +| RecordPath of record_projection reg and logic_expr = BoolExpr of bool_expr @@ -1081,16 +1081,16 @@ and print_expr = function and print_map_expr = function MapLookUp {value; _} -> - let {map_path; index} = value in + let {path; index} = value in let {lbracket; inside; rbracket} = index.value in - print_map_path map_path; + print_path path; print_token lbracket "["; print_expr inside; print_token rbracket "]" -and print_map_path = function - Map map_name -> print_var map_name -| MapPath path -> print_record_projection path +and print_path = function + Name var -> print_var var +| RecordPath path -> print_record_projection path and print_logic_expr = function BoolExpr e -> print_bool_expr e diff --git a/AST.mli b/AST.mli index 81ac55d66..890adfbd5 100644 --- a/AST.mli +++ b/AST.mli @@ -429,16 +429,16 @@ and expr = | ParExpr of expr par reg and map_expr = - MapLookUp of map_lookup reg + MapLookUp of map_lookup reg and map_lookup = { - map_path : map_path; - index : expr brackets reg + path : path; + index : expr brackets reg } -and map_path = - Map of map_name -| MapPath of record_projection reg +and path = + Name of variable +| RecordPath of record_projection reg and logic_expr = BoolExpr of bool_expr diff --git a/Parser.mly b/Parser.mly index 806bd05bd..9fde4a887 100644 --- a/Parser.mly +++ b/Parser.mly @@ -773,15 +773,15 @@ map_selection: map_name brackets(expr) { let region = cover $1.region $2.region in let value = { - map_path = Map $1; - index = $2} + path = Name $1; + index = $2} in {region; value} } | record_projection brackets(expr) { let region = cover $1.region $2.region in let value = { - map_path = MapPath $1; - index = $2} + path = RecordPath $1; + index = $2} in {region; value} }