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

📄 const.h

📁 java 词法分析器 c语言实现. java 词法分析器 c语言实现.
💻 H
字号:
#ifndef CONSTANT_H
#define CONSTANT_H

//类型属性设计
static const int T_ERROR = 0x100;    //错误的单词
static const int T_COMMENT = 0x101;    //注释
static const int T_SPACE = 0x102;    //空格
static const int T_KEYWORD = 0x103;    //关键字
static const int T_IDENTIFIER = 0x104;    //标识符
static const int T_BOOL = 0x105;    //布尔型
static const int T_CHAR = 0x106;    //字符型
static const int T_INT = 0x107;    //整型
static const int T_FLOAT = 0x108;    //浮点型
static const int T_STRING = 0x109;    //字符串
static const int T_ASSIGN = 0x110;    //=  +=  -=  *=  /=  %=  &=  ^=  |=  >>=  <<=  >>>=
static const int T_TERNARY = 0x111;    //?:
static const int T_OR = 0x112;    //||
static const int T_AND = 0x113;    //&&
static const int T_BITOR = 0x114;    //|
static const int T_BITXOR = 0x115;    //^
static const int T_BITAND = 0x116;    //&
static const int T_EQUALITY = 0x117;    //==  !=
static const int T_COMPARE = 0x118;    //<  >  <=  >=
static const int T_SHIFT = 0x119;    //<<  >>  >>>
static const int T_ADDSUB = 0x11A;    //+  -
static const int T_MULDIV = 0x11B;    //*  /  %
static const int T_UNIFY = 0x11C;    //++  --  +(正)  –(负)  !  ~
static const int T_BOUND = 0x11D;    //[]  ()  .
static const int T_COMMA = 0x120;    //,
static const int T_BRACKET = 0x121;    //{}
static const int T_SEMICOLON = 0x122;    //;

//程序控制常量
static const int RBUFSIZE  = 1000;
static const int SBUFSIZE = 30;
static const int NAMESIZE = 30;
static const int TABLE_LENGTH = 107;

//格式控制字符
static const char C_TAB = 8;
static const char C_LF = 10;//换行符
static const char C_FF = 12;//换页符
static const char C_CR = 13;//回车符
static const char C_EOI = 26;

//属性对照表结构
struct attrmap
{
    int type;
    char keyword[20];
};

//属性对照表
static const struct attrmap ATTR_MAP[TABLE_LENGTH] =
{
    {T_ADDSUB,"+"},
    {T_ADDSUB,"-"},
    {T_UNIFY,"!"},
    {T_MULDIV,"%"},
    {T_BITXOR,"^"},
    {T_BITAND,"&"},
    {T_MULDIV,"*"},
    {T_BITOR,"|"},
    {T_UNIFY,"~"},
    {T_MULDIV,"/"},
    {T_COMPARE,">"},
    {T_COMPARE,"<"},
    {T_TERNARY,"?"},
    {T_TERNARY,":"},
    {T_ASSIGN,"="},
    {T_UNIFY,"++"},
    {T_UNIFY,"--"},
    {T_EQUALITY,"=="},
    {T_COMPARE,"<="},
    {T_COMPARE,">="},
    {T_EQUALITY,"!="},
    {T_SHIFT,"<<"},
    {T_SHIFT,">>"},
    {T_SHIFT,">>>"},
    {T_ASSIGN,"+="},
    {T_ASSIGN,"-="},
    {T_ASSIGN,"*="},
    {T_ASSIGN,"/="},
    {T_ASSIGN,"&="},
    {T_ASSIGN,"|="},
    {T_ASSIGN,"^="},
    {T_ASSIGN,"%="},
    {T_ASSIGN,"<<="},
    {T_ASSIGN,">>="},
    {T_ASSIGN,">>>="},
    {T_OR,"||"},
    {T_AND,"&&"},
    {T_KEYWORD,"abstract"},
    {T_KEYWORD,"assert"},
    {T_KEYWORD,"boolean"},
    {T_KEYWORD,"break"},
    {T_KEYWORD,"byte"},
    {T_KEYWORD,"case"},
    {T_KEYWORD,"catch"},
    {T_KEYWORD,"char"},
    {T_KEYWORD,"class"},
    {T_KEYWORD,"const"},
    {T_KEYWORD,"continue"},
    {T_KEYWORD,"default"},
    {T_KEYWORD,"do"},
    {T_KEYWORD,"double"},
    {T_KEYWORD,"else"},
    {T_KEYWORD,"extends"},
    {T_KEYWORD,"final"},
    {T_KEYWORD,"finally"},
    {T_KEYWORD,"float"},
    {T_KEYWORD,"for"},
    {T_KEYWORD,"goto"},
    {T_KEYWORD,"if"},
    {T_KEYWORD,"implements"},
    {T_KEYWORD,"import"},
    {T_KEYWORD,"instanceof"},
    {T_KEYWORD,"int"},
    {T_KEYWORD,"interface"},
    {T_KEYWORD,"long"},
    {T_KEYWORD,"native"},
    {T_KEYWORD,"new"},
    {T_KEYWORD,"package"},
    {T_KEYWORD,"private"},
    {T_KEYWORD,"protected"},
    {T_KEYWORD,"public"},
    {T_KEYWORD,"return"},
    {T_KEYWORD,"short"},
    {T_KEYWORD,"static"},
    {T_KEYWORD,"strictfp"},
    {T_KEYWORD,"super"},
    {T_KEYWORD,"switch"},
    {T_KEYWORD,"synchronized"},
    {T_KEYWORD,"this"},
    {T_KEYWORD,"throw"},
    {T_KEYWORD,"throws"},
    {T_KEYWORD,"transient"},
    {T_KEYWORD,"try"},
    {T_KEYWORD,"void"},
    {T_KEYWORD,"volatile"},
    {T_KEYWORD,"while"},
    {T_BOOL,"true"},
    {T_BOOL,"false"},
    {T_KEYWORD,"null"},
    {T_ERROR,""},
    {T_COMMENT,""},
    {T_SPACE,""},
    {T_IDENTIFIER,""},
    {T_CHAR,""},
    {T_INT,""},
    {T_FLOAT,""},
    {T_STRING,""},
    {T_BOUND,"("},
    {T_BOUND,")"},
    {T_BOUND,"["},
    {T_BOUND,"]"},
    {T_BOUND,"."},
    {T_COMMA,","},
    {T_BRACKET,"{"},
    {T_BRACKET,"}"},
    {T_SEMICOLON,";"}
};
#endif

⌨️ 快捷键说明

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