MODULE CSS2Parser; IMPORT KernelLog, Strings, Scanner := CSS2Scanner, XMLObjects, CSS2, Files; CONST TYPE String = CSS2.String; Parser* = OBJECT VAR reportError*: PROCEDURE (pos, line, row: LONGINT; msg: ARRAY OF CHAR); scanner: Scanner.Scanner; PROCEDURE ^ & Init*(scanner: Scanner.Scanner); PROCEDURE ^ CheckSymbol(expectedSymbols: SET; errormsg: ARRAY OF CHAR): BOOLEAN; PROCEDURE ^ Error(msg: ARRAY OF CHAR); PROCEDURE ^ Parse*(): CSS2.StyleSheet; PROCEDURE ^ ParseImport(styleSheet: CSS2.StyleSheet); PROCEDURE ^ ParseMedia(styleSheet: CSS2.StyleSheet); PROCEDURE ^ ParsePage(): CSS2.Page; PROCEDURE ^ ParseFontFace(): CSS2.FontFace; PROCEDURE ^ ParseRuleSet(): CSS2.RuleSet; PROCEDURE ^ ParseSelector(): CSS2.Selector; PROCEDURE ^ ParseSimpleSelector(): CSS2.SimpleSelector; PROCEDURE ^ ParseId(): CSS2.Id; PROCEDURE ^ ParseClass(): CSS2.Class; PROCEDURE ^ ParseAttribute(): CSS2.Attribute; PROCEDURE ^ ParsePseudo(): CSS2.Pseudo; PROCEDURE ^ ParseDeclaration(): CSS2.Declaration; PROCEDURE ^ ParseTerm(): CSS2.Term; PROCEDURE ^ ParseRGB(hasAlpha: BOOLEAN): LONGINT; PROCEDURE ^ IgnoreKeyword; END Parser; PROCEDURE ^ GetMedium(mediumStr: ARRAY OF CHAR): SHORTINT; PROCEDURE ^ GetPseudoPage(pseudoPageStr: ARRAY OF CHAR): SHORTINT; PROCEDURE ^ GetTermUnit(unitStr: ARRAY OF CHAR): SHORTINT; PROCEDURE ^ ComputeRGB(VAR s: ARRAY OF CHAR): LONGINT; PROCEDURE ^ HexStrToInt(VAR str: ARRAY OF CHAR; VAR val: LONGINT); PROCEDURE ^ DefaultReportError(pos, line, row: LONGINT; msg: ARRAY OF CHAR); BEGIN END CSS2Parser.