From d652155ae013f36a1ee17653a8e458baad2d9c2c Mon Sep 17 00:00:00 2001 From: Checkmate50 Date: Mon, 6 Jun 2016 23:14:18 -0600 Subject: Merging complete. Everything looks good *crosses fingers* --- Source/Forro/Ast.fs | 76 ++++++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) (limited to 'Source/Forro/Ast.fs') diff --git a/Source/Forro/Ast.fs b/Source/Forro/Ast.fs index 6c7ba65c..779beefb 100644 --- a/Source/Forro/Ast.fs +++ b/Source/Forro/Ast.fs @@ -1,38 +1,38 @@ -module Forro - -type Field = Head | Tail | Valid - -type Variable = Var of string - -let VarName v = - match v with Var(x) -> x - -type Operator = Eq | Neq | Plus | Minus | Times - | Less | AtMost | And | Or - -type Expression = - | Constant of int - | Null - | Identifier of Variable - | Not of Expression - | Binary of Operator * Expression * Expression - | Select of Expression * Field - | Old of Expression - -type Statement = - | Assign of Variable * Expression - | Update of Expression * Field * Expression - | Alloc of Variable * Expression * Expression - | IfStmt of Expression * StmtList * StmtList - | WhileStmt of Expression * Expression list * StmtList - | CallStmt of Variable list * string * Expression list - | Assert of Expression - -and StmtList = - Block of Statement list - -type Procedure = - Proc of string * Variable list * Variable list * Expression * Expression * StmtList - -type Program = - Prog of Procedure list +module Forro + +type Field = Head | Tail | Valid + +type Variable = Var of string + +let VarName v = + match v with Var(x) -> x + +type Operator = Eq | Neq | Plus | Minus | Times + | Less | AtMost | And | Or + +type Expression = + | Constant of int + | Null + | Identifier of Variable + | Not of Expression + | Binary of Operator * Expression * Expression + | Select of Expression * Field + | Old of Expression + +type Statement = + | Assign of Variable * Expression + | Update of Expression * Field * Expression + | Alloc of Variable * Expression * Expression + | IfStmt of Expression * StmtList * StmtList + | WhileStmt of Expression * Expression list * StmtList + | CallStmt of Variable list * string * Expression list + | Assert of Expression + +and StmtList = + Block of Statement list + +type Procedure = + Proc of string * Variable list * Variable list * Expression * Expression * StmtList + +type Program = + Prog of Procedure list -- cgit v1.2.3