diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-11-04 18:58:28 -0800 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-11-04 21:05:18 -0800 |
| commit | eaa183b7dfc841df75d42ace7a90ada1e40ff282 (patch) | |
| tree | 1d627b8088d5996a7bbf7c0a7439360e31de3dc3 /ShowSyntax.sml | |
| parent | c48a992a6ed6ebd79c344b37364a680ddd948dea (diff) | |
| download | sml-main.tar.zst | |
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 = |
