annotate lab4/lexer.mli @ 0:bfdcc3820b32

Basis
author Mike Spivey <mike@cs.ox.ac.uk>
date Thu, 05 Oct 2017 08:04:15 +0100
parents
children
rev   line source
mike@0 1 (* lab4/lexer.mli *)
mike@0 2 (* Copyright (c) 2017 J. M. Spivey *)
mike@0 3
mike@0 4 open Dict
mike@0 5
mike@0 6 (* The lexer is generated from a camllex script. It takes an input
mike@0 7 buffer, reads a token, and returns the |token| value that corresponds
mike@0 8 to it. The lexer maintains the current line number in |lineno| for
mike@0 9 producing error messages. Lexical errors result in the exception
mike@0 10 |Lex_error|, whose arguments are a format and argument list suitable
mike@0 11 for passing to |printf| to print the message. *)
mike@0 12
mike@0 13 (* |token| -- scan a token and return its code *)
mike@0 14 val token : Lexing.lexbuf -> Parser.token
mike@0 15
mike@0 16 (* |lineno| -- source line number *)
mike@0 17 val lineno : int ref
mike@0 18
mike@0 19 (* |string_table| -- fetch table of string constants *)
mike@0 20 val string_table : unit -> (Optree.symbol * string) list