⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scantab.h

📁 PL/0源码
💻 H
字号:
//////////////////////////////////////////////////////////////////////////////////  scantab.h -- Definitions for interfacing with scantab.cc which is created//               by the makescan utility.//               NB: All variables exported by scantab.h begin with st_.//#ifndef SCANTAB_H#define SCANTAB_H#include "scanner.h"#define    HASH_TABLE_SIZE     3001     // 3001 is prime#define    MAX_CHAR_CODE       127#define    MAX_CHAR_CLASS      45#define    MAX_SCANNER_STATE   60#define    MAX_RESERVE_WORD    50#define    ERROR           0#define    MOVE_APPEND     1#define    MOVE_NO_APPEND  2#define    HALT_APPEND     3#define    HALT_NO_APPEND  4#define    HALT_REUSE      5typedef int     hash_index_t;           // 1..HASH_TABLE_SIZEtypedef char    char_class_t;           // 0..MAX_CHAR_CLASStypedef char    scanner_state_t;    // 0..MAX_SCANNER_STATEtypedef char    scanner_act_t;          // ERROR..HALT_REUSEtypedef char    reserved_word_t;    // 1..MAX_RESERVE_WORDstruct state_vector_t  {    scanner_act_t   action;    scanner_state_t     next_state; // MOVE _APPEND, _NO_APPEND    major_token_t   major;          // HALT _APPEND, _NO_APPEND, _REUSE    minor_token_t   minor;};struct state_info_t  {    bool            terminal;    major_token_t   default_major;    minor_token_t   default_minor;};struct reserve_array_t {    major_token_t       major;    minor_token_t       minor;    string_number_t     text_handle;};extern char             st_string_space[MAX_STRING_SPACE];extern string_number_t  st_used_strings;extern reserve_array_t  st_reserved_words[MAX_RESERVE_WORD];extern char_class_t     st_char_class[MAX_CHAR_CODE + 1];extern state_vector_t   st_state_matrix[MAX_SCANNER_STATE][MAX_CHAR_CLASS];extern state_info_t     st_state_info[MAX_SCANNER_STATE + 1];//  Keeps track of which states are terminal, and for whatextern reserved_word_t  st_num_reserved_words;extern major_token_t    st_end_of_file;extern major_token_t    st_num_terminals;extern scanner_state_t  st_start_state;extern string_number_t  st_max_reserve_location;extern major_token_t    st_id_major_num;extern minor_token_t    st_id_minor_num;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -