home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume6 / rpc2 / part10 / rpc / rpcgen / rpc_scan.h < prev    next >
Encoding:
C/C++ Source or Header  |  1986-11-30  |  914 b   |  72 lines

  1. /* @(#)rpc_scan.h 1.1 86/03/26 (C) 1986 SMI */
  2.  
  3. /*
  4.  * rpc_scan.h, Definitions for the RPCL scanner
  5.  * Copyright (C) 1986, Sun Microsystems, Inc.
  6.  */
  7.  
  8. /*
  9.  * kinds of tokens
  10.  */
  11. enum tok_kind {
  12.     TOK_IDENT,
  13.     TOK_CONST,
  14.     TOK_LPAREN,
  15.     TOK_RPAREN,
  16.     TOK_LBRACE,
  17.     TOK_RBRACE,
  18.     TOK_LBRACKET,
  19.     TOK_RBRACKET,
  20.     TOK_STAR,
  21.     TOK_COMMA,
  22.     TOK_EQUAL,
  23.     TOK_COLON,
  24.     TOK_SEMICOLON,
  25.     TOK_STRUCT,
  26.     TOK_UNION,
  27.     TOK_SWITCH,
  28.     TOK_CASE,
  29.     TOK_DEFAULT,
  30.     TOK_ENUM,
  31.     TOK_ARRAY,
  32.     TOK_TYPEDEF,
  33.     TOK_INT,
  34.     TOK_SHORT,
  35.     TOK_LONG,
  36.     TOK_UNSIGNED,
  37.     TOK_FLOAT,
  38.     TOK_DOUBLE,
  39.     TOK_OPAQUE,
  40.     TOK_CHAR,
  41.     TOK_STRING,
  42.     TOK_BOOL,
  43.     TOK_VOID,
  44.     TOK_PROGRAM,
  45.     TOK_VERSION,
  46.     TOK_EOF
  47. };
  48. typedef enum tok_kind tok_kind;
  49.  
  50. /*
  51.  * a token
  52.  */
  53. struct token {
  54.     tok_kind kind;
  55.     char *str;
  56. };
  57. typedef struct token token;
  58.  
  59.  
  60. /*
  61.  * routine interface
  62.  */
  63. void scanprint();    
  64. void scan();
  65. void scan2();
  66. void scan3();
  67. void scan_num();
  68. void peek();
  69. int  peekscan();
  70. void get_token();
  71.  
  72.