-(* L3 Compiler
+(* L4 Compiler
* Parsing
* Author: Kaustuv Chaudhuri <kaustuv+@cs.cmu.edu>
* Modified: Frank Pfenning <fp@cs.cmu.edu>
structure Parse :> PARSE =
struct
- 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 L4LrVals = L4LrValsFn (structure Token = LrParser.Token)
+ structure L4Lex = L4LexFn (structure Tokens = L4LrVals.Tokens)
+ structure L4Parse = Join (structure ParserData = L4LrVals.ParserData
+ structure Lex = L4Lex
structure LrParser = LrParser)
(* Main parsing function *)
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
- (L3Lex.makeLexer (fn _ => TextIO.input instream))
+ (L4Lex.makeLexer (fn _ => TextIO.input instream))
(* 0 = no error correction, 15 = reasonable lookahead for correction *)
- val (absyn, _) = L3Parse.parse(0, lexer, parseerror, ())
+ val (absyn, _) = L4Parse.parse(0, lexer, parseerror, ())
val _ = if !ErrorMsg.anyErrors
then raise ErrorMsg.Error
else ()