PreviousUpNext

15.4.36  src/app/future-lex/src/frontends/lex/mythryl-lex-input.pkg

## mythryl-lex-input.pkg
## John Reppy (http://www.cs.uchicago.edu/~jhr)
## Aaron Turon (adrassi@gmail.com)
## All rights reserved.

# Compiled by:
#     src/app/future-lex/src/lexgen.lib



# Driver for mythryl-lex input format.

package mllex_input {

    package mllex_lr_vals
        =
        ml_lex_lr_vals_fun (package token = lr_parser::token;);

    package mllex_lex
        = 
        mllex_lex_g (package tok = mllex_lr_vals::tokens;);

    package mllex_parser
        =
        make_complete_yacc_parser_g (
            package parser_data = mllex_lr_vals::parser_data;
            package lex = mllex_lex;
            package lr_parser = lr_parser;
        );

    fun parse_file fname
        =
        {   fun parse_err (msg, line, _)
                = 
                {   print (int::to_string line);
                    print ": ";
                    print msg;
                    print "\n";
                };

            stream = file::open_for_read fname;

            lexer =
                    mllex_parser::make_lexer (fn n => file::read_n (stream, n); end );

             #1 (mllex_parser::parse (15, lexer, parse_err, ()))
             before
                 file::close_input stream;
        };

};


## COPYRIGHT (c) 2005 
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext