]> Joshua Wise's Git repositories - snipe.git/blobdiff - parse/parse.sml
Initial import of l3c
[snipe.git] / parse / parse.sml
index 5981be1131aba92d1647216e40291925104a8609..aa701c41c89903b298b0f40d0c8aae4d3fb544d0 100644 (file)
@@ -1,4 +1,4 @@
-(* L1 Compiler
+(* L3 Compiler
  * Parsing
  * Author: Kaustuv Chaudhuri <kaustuv+@cs.cmu.edu>
  * Modified: Frank Pfenning <fp@cs.cmu.edu>
@@ -17,10 +17,10 @@ end
 structure Parse :> PARSE =
 struct 
 
-  structure L1LrVals = L1LrValsFn (structure Token = LrParser.Token)
-  structure L1Lex = L1LexFn (structure Tokens = L1LrVals.Tokens)
-  structure L1Parse = Join (structure ParserData = L1LrVals.ParserData
-                            structure Lex = L1Lex
+  structure L3LrVals = L3LrValsFn (structure Token = LrParser.Token)
+  structure L3Lex = L3LexFn (structure Tokens = L3LrVals.Tokens)
+  structure L3Parse = Join (structure ParserData = L3LrVals.ParserData
+                            structure Lex = L3Lex
                             structure LrParser = LrParser)
 
   (* Main parsing function *)
@@ -31,17 +31,17 @@ struct
          val _ = ParseState.setfile filename (* start at position 0 in filename *)
          fun parseerror (s, p1, p2) = ErrorMsg.error (ParseState.ext (p1,p2)) s
          val lexer = LrParser.Stream.streamify
-                         (L1Lex.makeLexer (fn _ => TextIO.input instream))
+                         (L3Lex.makeLexer (fn _ => TextIO.input instream))
          (* 0 = no error correction, 15 = reasonable lookahead for correction *)
-         val (absyn, _) = L1Parse.parse(0, lexer, parseerror, ())
+         val (absyn, _) = L3Parse.parse(0, lexer, parseerror, ())
           val _ = if !ErrorMsg.anyErrors
                  then raise ErrorMsg.Error
                  else ()
        in
          absyn
        end)
-      handle L1Lex.LexError => ( ErrorMsg.error NONE "lexer error" ;
-                              raise ErrorMsg.Error )
+      handle Fail s => ( ErrorMsg.error NONE ("lexer error: "^s) ;
+                        raise ErrorMsg.Error )
           | LrParser.ParseError => raise ErrorMsg.Error (* always preceded by msg *)
            | e as IO.Io _ => ( ErrorMsg.error NONE (exnMessage e);
                                raise ErrorMsg.Error )
This page took 0.027934 seconds and 4 git commands to generate.