/* @(#)rpc←scan.h 1.1 90/10/29 (C) 1987 SMI */
/*
* rpc←scan.h, Definitions for the RPCL scanner
* Copyright (C) 1987, Sun Microsystems, Inc.
*/
/*
* kinds of tokens
*/
enum tok←kind {
TOK←IDENT,
TOK←CHARCONST,
TOK←STRCONST,
TOK←LPAREN,
TOK←RPAREN,
TOK←LBRACE,
TOK←RBRACE,
TOK←LBRACKET,
TOK←RBRACKET,
TOK←LANGLE,
TOK←RANGLE,
TOK←STAR,
TOK←COMMA,
TOK←EQUAL,
TOK←COLON,
TOK←SEMICOLON,
TOK←CONST,
TOK←STRUCT,
TOK←UNION,
TOK←SWITCH,
TOK←CASE,
TOK←DEFAULT,
TOK←ENUM,
TOK←TYPEDEF,
TOK←INT,
TOK←SHORT,
TOK←LONG,
TOK←UNSIGNED,
TOK←FLOAT,
TOK←DOUBLE,
TOK←OPAQUE,
TOK←CHAR,
TOK←STRING,
TOK←BOOL,
TOK←VOID,
TOK←PROGRAM,
TOK←VERSION,
TOK←EOF
};
typedef enum tok←kind tok←kind;
/*
* a token
*/
struct token {
tok←kind kind;
char *str;
};
typedef struct token token;
/*
* routine interface
*/
void scan();
void scan2();
void scan3();
void scan←num();
void peek();
int peekscan();
void get←token();