diff options
Diffstat (limited to 'ShowSyntax.sml')
| -rw-r--r-- | ShowSyntax.sml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ShowSyntax.sml b/ShowSyntax.sml index 519fb2b..70f082b 100644 --- a/ShowSyntax.sml +++ b/ShowSyntax.sml @@ -44,6 +44,8 @@ and patToStringI (indent : string) (Syntax.PWild : Syntax.pat) : string = "PTuple " ^ listToString (patToStringI) indent x | patToStringI (indent : string) (Syntax.PCon x : Syntax.pat) : string = "PCon " ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ listToString (stringToStringI) indent' x0 ^ ",\n" ^ indent' ^ patToStringI indent' x1 ^ "\n" ^ indent ^ ")" end) indent x + | patToStringI (indent : string) (Syntax.PList x : Syntax.pat) : string = + "PList " ^ listToString (patToStringI) indent x and patToString (x : Syntax.pat) : string = patToStringI "" x and identTypeToStringI (indent : string) (Syntax.ITVar : Syntax.identType) : string = @@ -140,6 +142,8 @@ and typedPatToStringI (indent : string) (Syntax.TPWild : Syntax.typedPat) : stri "TPTuple " ^ listToString ((fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ typedPatToStringI indent' x0 ^ ",\n" ^ indent' ^ tyToStringI indent' x1 ^ "\n" ^ indent ^ ")" end)) indent x | typedPatToStringI (indent : string) (Syntax.TPCon x : Syntax.typedPat) : string = "TPCon " ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ listToString (stringToStringI) indent' x0 ^ ",\n" ^ indent' ^ (fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ typedPatToStringI indent' x0 ^ ",\n" ^ indent' ^ tyToStringI indent' x1 ^ "\n" ^ indent ^ ")" end) indent' x1 ^ "\n" ^ indent ^ ")" end) indent x + | typedPatToStringI (indent : string) (Syntax.TPList x : Syntax.typedPat) : string = + "TPList " ^ listToString ((fn indent => fn (x0, x1) => let val indent' = indent ^ " " in "(\n" ^ indent' ^ typedPatToStringI indent' x0 ^ ",\n" ^ indent' ^ tyToStringI indent' x1 ^ "\n" ^ indent ^ ")" end)) indent x and typedPatToString (x : Syntax.typedPat) : string = typedPatToStringI "" x and typedExprToStringI (indent : string) (Syntax.TEIdent x : Syntax.typedExpr) : string = |
