diff src/source_print.sml @ 34:44b5405e74c7

Elaborating module projection
author Adam Chlipala <adamc@hcoop.net>
date Tue, 17 Jun 2008 16:38:54 -0400
parents e6ccf961d8a3
children e3d3c2791105
line wrap: on
line diff
--- a/src/source_print.sml	Thu Jun 12 17:41:32 2008 -0400
+++ b/src/source_print.sml	Tue Jun 17 16:38:54 2008 -0400
@@ -88,7 +88,7 @@
       | TRecord c => box [string "$",
                           p_con' true c]
 
-      | CVar s => string s
+      | CVar (ss, s) => p_list_sep (string ".") string (ss @ [s])
       | CApp (c1, c2) => parenIf par (box [p_con c1,
                                            space,
                                            p_con' true c2])
@@ -143,7 +143,7 @@
                               string ")"]        
 
       | EPrim p => Prim.p_t p
-      | EVar s => string s
+      | EVar (ss, s) => p_list_sep (string ".") string (ss @ [s])
       | EApp (e1, e2) => parenIf par (box [p_exp e1,
                                            space,
                                            p_exp' true e2])
@@ -321,6 +321,9 @@
                             newline,
                             string "end"]
       | StrVar x => string x
+      | StrProj (str, x) => box [p_str str,
+                                 string ".",
+                                 string x]
 
 val p_file = p_list_sep newline p_decl