view lab4/lexer.mli @ 4:9f5c8e19f204 tip basis

Oops: fix for lab0
author Mike Spivey <>
date Mon, 15 Oct 2018 21:58:03 +0100
parents 5dd13b8deb54
line wrap: on
line source
(* 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