language-Modula2-0.1: examples/Modula-2_Libraries/C.-Lins_Modula-2_Software_Component_Library/Vol3/EBNF/EBNFSCAN.DEF
DEFINITION MODULE EBNFScanner;
(*====================================================================
Version : 1.00 04 Feb 1989 C. Lins
Compiler : Bob Campbell's MPW Modula-2 Compiler
Component: EBNFScanner
INTRODUCTION
This module defines a scanner for EBNF.
REVISION HISTORY
v1.00 04 Feb 1989 C. Lins:
Initial implementation derived from Wirth's Programming in
Modula-2, 4th edition, pp 96-100.
====================================================================*)
FROM StrCSUMI IMPORT
(*--type*) String;
FROM FIO IMPORT
(*--type*) File;
TYPE Symbol = (identifier,
literal,
lparen,
lbraket,
lbrace,
bar,
eql,
period,
rparen,
rbraket,
rbrace,
other
);
VAR theSymbol : Symbol; (*-- current symbol *)
lineNo : INTEGER; (*-- current line number *)
theIdent : String; (*-- current identifier *)
source : File;
errorsFound: BOOLEAN;
PROCEDURE GetSymbol;
PROCEDURE MarkError (errorNo : INTEGER);
PROCEDURE SkipLine;
END EBNFScanner.