CompilerLex.def 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. DEFINITION MODULE CompilerLex ;
  2. (* Lexical layer and string-literal pool. The pool is exported because the
  3. expression/declaration code reads literal bytes from it. *)
  4. VAR
  5. strPool : ARRAY [0..4095] OF CHAR ;
  6. strOff : ARRAY [0..255] OF CARDINAL ;
  7. strLen : ARRAY [0..255] OF CARDINAL ;
  8. strTop : CARDINAL ;
  9. strCnt : CARDINAL ;
  10. rdStrX : CARDINAL ;
  11. PROCEDURE InitKeys () ;
  12. PROCEDURE IsBlank (ch : CHAR) : BOOLEAN ;
  13. PROCEDURE Skip () ;
  14. PROCEDURE GetWord () ;
  15. PROCEDURE WddTok () : CARDINAL ;
  16. PROCEDURE DeclaresProc () : BOOLEAN ;
  17. PROCEDURE KwAhead (word : ARRAY OF CHAR) : BOOLEAN ;
  18. PROCEDURE PeekKw (VAR tok : CARDINAL) ;
  19. PROCEDURE MatchKey (VAR tok : CARDINAL) : BOOLEAN ;
  20. PROCEDURE MatchDelim (ch : CHAR) : BOOLEAN ;
  21. PROCEDURE MatchAssign () : BOOLEAN ;
  22. PROCEDURE MatchRange () : BOOLEAN ;
  23. PROCEDURE ExpectDelim (ch : CHAR ; n : CARDINAL) ;
  24. PROCEDURE HexVal (ch : CHAR) : CARDINAL ;
  25. PROCEDURE RdIntConst (VAR v : LONGINT) ;
  26. PROCEDURE StrNew (first : CARDINAL ; hasFirst : BOOLEAN ) : CARDINAL ;
  27. PROCEDURE StrPut (x : CARDINAL ) ;
  28. PROCEDURE RdConst (VAR v : LONGINT ; VAR cls : CARDINAL ;
  29. VAR isStr : BOOLEAN) ;
  30. END CompilerLex.