lex.h

来自「简单的pascal词法分析器」· C头文件 代码 · 共 91 行

H
91 行
字号
#ifndef LEX_H_#define LEX_H_#include <iostream>#include <fstream>#include <string>#include <vector>#define  IDNUM         500#define  KEYLEN        63#define  KEYNUM        56#define  PROGRAM       1#define  BEGIN         2#define  END           3#define  IF            4#define  THEN          5#define  ELSE          6#define  CASE          7#define  OF            8#define  FOR           9#define  TO            10#define  DO            11#define  REPEAT        12#define  UNTIL         13#define  WHILE         14#define  CONST         15#define  VAR           16#define  ARRAY         17#define  RECORD        18#define  TYPE          19#define  PROCEDURE     20#define  FUNCTION      21#define  SHORTINT      22#define  INTEGER       23#define  LONGINT       24#define  REAL          25#define  SINGLE        26#define  DOUBLE        27#define  EXTENDED      28#define  CHAR          29#define  STRING        30#define  BOOLEAN       31#define  LT            32#define  LE            33#define  EQ            34#define  NE            35#define  GT            36#define  GE            37#define  EVALUATE      38#define  ADD           39#define  SUB           40#define  MUL           41#define  DIV           42#define  MOD           43#define  CLN           44#define  COMMA         45#define  SEMICOLON     46#define  SPOINTS       47#define  PERIOD        48#define  LBRACE        49#define  RBRACE        50#define  LBRACKTE      51#define  RBRACKTE      52#define  SQUOTES       53#define  POINTER       54#define  ID            55#define  INT           56struct NODE{     std::string name;     int coding;};extern std::vector<NODE> id_table;struct TOKE{    int num;    std::vector<NODE>::size_type pos;    size_t line;};extern std::string strbuf;extern size_t line;int token(std::ifstream & , TOKE &);#endif

⌨️ 快捷键说明

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