Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/cxx-util/print-as-cxx.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/cxx-util/print-as-cxx.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3954, Sat Jun 11 17:59:55 2016 UTC revision 3955, Sun Jun 12 15:55:01 2016 UTC
# Line 34  Line 34 
34                    ppList' l                    ppList' l
35                  end                  end
36            fun ppTy (ty, optVar) = let            fun ppTy (ty, optVar) = let
37                  fun getBaseTy (CL.T_Num rty) = (case rty                  fun rawTy rty = (case rty
38                         of RawTypes.RT_Int8 => "int8_t"                         of RawTypes.RT_Int8 => "int8_t"
39                          | RawTypes.RT_UInt8 => "uint8_t"                          | RawTypes.RT_UInt8 => "uint8_t"
40                          | RawTypes.RT_Int16 => "int16_t"                          | RawTypes.RT_Int16 => "int16_t"
# Line 46  Line 46 
46                          | RawTypes.RT_Float => "float"                          | RawTypes.RT_Float => "float"
47                          | RawTypes.RT_Double => "double"                          | RawTypes.RT_Double => "double"
48                        (* end case *))                        (* end case *))
49                    fun getBaseTy (CL.T_Num rty) = rawTy rty
50                      | getBaseTy (CL.T_Const(CL.T_Num rty)) = "const " ^ rawTy rty
51                      | getBaseTy (CL.T_Const(CL.T_Named ty)) = "const " ^ ty
52                      | getBaseTy (CL.T_Const ty) = getBaseTy ty
53                    | getBaseTy (CL.T_Ptr ty) = getBaseTy ty                    | getBaseTy (CL.T_Ptr ty) = getBaseTy ty
54                    | getBaseTy (CL.T_RestrictPtr ty) = getBaseTy ty                    | getBaseTy (CL.T_RestrictPtr ty) = getBaseTy ty
55                    | getBaseTy (CL.T_Array(ty, _)) = getBaseTy ty                    | getBaseTy (CL.T_Array(ty, _)) = getBaseTy ty
# Line 56  Line 60 
60                        ]                        ]
61                    | getBaseTy (CL.T_Qual(attr, ty)) =                    | getBaseTy (CL.T_Qual(attr, ty)) =
62                        concat[attr, " ", getBaseTy ty]                        concat[attr, " ", getBaseTy ty]
63                  fun pp (isFirst, CL.T_Ptr ty, optVar) = (                  fun ppVar (isFirst, SOME x) = (
64                          if isFirst then sp() else ();
65                          str x)
66                      | ppVar _ = ()
67                    fun pp (isFirst, CL.T_Const(CL.T_Num _), optVar) = ppVar (isFirst, optVar)
68                      | pp (isFirst, CL.T_Const(CL.T_Named _), optVar) = ppVar (isFirst, optVar)
69                      | pp (isFirst, CL.T_Const ty, optVar) = raise Fail "FIXME"
70                      | pp (isFirst, CL.T_Ptr ty, optVar) = (
71                        if isFirst then sp() else ();                        if isFirst then sp() else ();
72                        case ty                        case ty
73                         of CL.T_Array _ => (                         of CL.T_Array _ => (
# Line 78  Line 89 
89                        (* end case *))                        (* end case *))
90                    | pp (isFirst, CL.T_Qual(_, ty), optVar) =                    | pp (isFirst, CL.T_Qual(_, ty), optVar) =
91                        pp (isFirst, ty, optVar)                        pp (isFirst, ty, optVar)
92                    | pp (isFirst, _, SOME x) = (                    | pp (isFirst, _, optVar) = ppVar (isFirst, optVar)
                       if isFirst then sp() else ();  
                       str x)  
                   | pp (_, _, NONE) = ()  
93                  in                  in
94                    str (getBaseTy ty);                    str (getBaseTy ty);
95                    pp (true, ty, optVar)                    pp (true, ty, optVar)

Legend:
Removed from v.3954  
changed lines
  Added in v.3955

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0