/* @(#)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();