home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / smalltk / src / lex.h < prev    next >
C/C++ Source or Header  |  1991-10-12  |  986b  |  40 lines

  1. /*
  2.     Little Smalltalk, version 2
  3.     Written by Tim Budd, Oregon State University, July 1987
  4. */
  5. /*
  6.     values returned by the lexical analyzer
  7. */
  8.  
  9. # ifndef NOENUMS
  10.  
  11. typedef enum tokensyms { nothing, nameconst, namecolon, 
  12.     intconst, floatconst, charconst, symconst,
  13.     arraybegin, strconst, binary, closing, inputend} tokentype;
  14. # endif
  15.  
  16. # ifdef NOENUMS
  17. # define tokentype int
  18. # define nothing 0
  19. # define nameconst 1
  20. # define namecolon 2
  21. # define intconst 3
  22. # define floatconst 4
  23. # define charconst 5
  24. # define symconst 6
  25. # define arraybegin 7
  26. # define strconst 8
  27. # define binary 9
  28. # define closing 10
  29. # define inputend 11
  30.  
  31. # endif
  32.  
  33. extern tokentype nextToken(NOARGS);
  34.  
  35. extern tokentype token;        /* token variety */
  36. extern char tokenString[];    /* text of current token */
  37. extern int tokenInteger;    /* integer (or character) value of token */
  38. extern double tokenFloat;    /* floating point value of token */
  39. extern noreturn lexinit();    /* initialization routine */
  40.