diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lab4/lexer.mli	Thu Oct 05 08:04:15 2017 +0100
@@ -0,0 +1,20 @@
+(* lab4/lexer.mli *)
+(* Copyright (c) 2017 J. M. Spivey *)
+
+open Dict
+
+(* The lexer is generated from a camllex script.  It takes an input
+buffer, reads a token, and returns the |token| value that corresponds
+to it.  The lexer maintains the current line number in |lineno| for
+producing error messages.  Lexical errors result in the exception
+|Lex_error|, whose arguments are a format and argument list suitable
+for passing to |printf| to print the message. *)
+
+(* |token| -- scan a token and return its code *)
+val token : Lexing.lexbuf -> Parser.token
+
+(* |lineno| -- source line number *)
+val lineno : int ref
+
+(* |string_table| -- fetch table of string constants *)
+val string_table : unit -> (Optree.symbol * string) list