annotate ppc/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 (* ppc/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 (*
mike@0 7 The lexer is generated from a camllex script. It takes an input
mike@0 8 buffer, reads a token, and returns the |token| value that corresponds
mike@0 9 to it. The lexer maintains the current line number in |lineno| for
mike@0 10 producing error messages. Lexical errors result in the exception
mike@0 11 |Lex_error|, whose arguments are a format and argument list suitable
mike@0 12 for passing to |printf| to print the message.
mike@0 13 *)
mike@0 14
mike@0 15 (* |token| -- scan a token and return its code *)
mike@0 16 val token : Lexing.lexbuf -> Parser.token
mike@0 17
mike@0 18 (* |lineno| -- source line number *)
mike@0 19 val lineno : int ref
mike@0 20
mike@0 21 (* |string_table| -- fetch table of string constants *)
mike@0 22 val string_table : unit -> (Keiko.symbol * string) list