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

SCM Repository

[diderot] Diff of /branches/pure-cfg/src/compiler/typechecker/typechecker.sml
ViewVC logotype

Diff of /branches/pure-cfg/src/compiler/typechecker/typechecker.sml

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

revision 690, Fri Mar 25 00:23:10 2011 UTC revision 691, Fri Mar 25 01:31:46 2011 UTC
# Line 111  Line 111 
111                    dim = checkDim (cxt, dim),                    dim = checkDim (cxt, dim),
112                    shape = checkShape (cxt, shape)                    shape = checkShape (cxt, shape)
113                  }                  }
114              | PT.T_Array(ty, dims) => raise Fail "Array type not supported"              | PT.T_Seq(ty, dim) => Ty.T_Sequence(checkTy(cxt, ty), checkDim (cxt, dim))
115            (* end case *))            (* end case *))
116    
117      fun checkLit lit = (case lit      fun checkLit lit = (case lit
# Line 248  Line 248 
248                        ]);                        ]);
249                    (AST.E_Slice(e', indices', resultTy), resultTy)                    (AST.E_Slice(e', indices', resultTy), resultTy)
250                  end                  end
251              | PT.E_Tuple args => let              | PT.E_Subscript(e1, e2) => let
252                  val (args, tys) = checkExprList (env, cxt, args)                  val (e1', ty1) = checkExpr (env, cxt, e1)
253                    val (e2', ty2) = checkExpr (env, cxt, e2)
254                  in                  in
255                    raise Fail "E_Tuple not yet implemented"                    raise Fail "E_Subscript not yet implemented" (* FIXME *)
256                  end                  end
257              | PT.E_Apply(f, args) => let              | PT.E_Apply(f, args) => let
258                  val (args, tys) = checkExprList (env, cxt, args)                  val (args, tys) = checkExprList (env, cxt, args)
# Line 274  Line 275 
275                      | NONE => err(cxt, [S "unknown function ", A f])                      | NONE => err(cxt, [S "unknown function ", A f])
276                    (* end case *)                    (* end case *)
277                  end                  end
278                | PT.E_Tuple args => let
279                    val (args, tys) = checkExprList (env, cxt, args)
280                    in
281                      raise Fail "E_Tuple not yet implemented" (* FIXME *)
282                    end
283                | PT.E_Sequence args => let
284                    val (args, tys) = checkExprList (env, cxt, args)
285                    in
286                      raise Fail "E_Sequence not yet implemented" (* FIXME *)
287                    end
288              | PT.E_Cons args => let              | PT.E_Cons args => let
289                  val (args, ty::tys) = checkExprList (env, cxt, args)                  val (args, ty::tys) = checkExprList (env, cxt, args)
290                  in                  in

Legend:
Removed from v.690  
changed lines
  Added in v.691

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