xinCpl.cpp是编译器顶层文件
0-31:保留字 32:标识符 33:整型常量 34:实型常量 35:字符常量
36:字符串常量
37:界符常量
| 符号 | 类别号 |
|---|---|
| auto | 0 |
| break | 1 |
| case | 2 |
| char | 3 |
| const | 4 |
| continue | 5 |
| default | 6 |
| do | 7 |
| double | 8 |
| else | 9 |
| enum | 10 |
| extern | 11 |
| float | 12 |
| for | 13 |
| goto | 14 |
| if | 15 |
| int | 16 |
| long | 17 |
| register | 18 |
| return | 19 |
| short | 20 |
| signed | 21 |
| sizeof | 22 |
| static | 23 |
| struct | 24 |
| switch | 25 |
| typedef | 26 |
| union | 27 |
| unsigned | 28 |
| void | 29 |
| volatile | 30 |
| while | 31 |
标识符类号为32,内部使用内码加以区分不同的标识符。
| 常量类型 | 类号 |
|---|---|
| 整型常量 | 33 |
| 实型常量 | 34 |
| 字符型常量 | 35 |
| 字符串常量 | 36 |
简称界符,类号从37开始,详细如下:
| 界符 | 类号 |
|---|---|
| , | 37 |
| ; | 38 |
| ( | 39 |
| ) | 40 |
| { | 41 |
| } | 42 |
| [ | 43 |
| ] | 44 |
| < | 45 |
| << | 46 |
| <= | 47 |
| > | 48 |
| >> | 49 |
| >= | 50 |
| == | 51 |
| != | 52 |
| = | 53 |
| ~ | 54 |
| ! | 55 |
| ? | 56 |
| : | 57 |
| ` | ` |
| ` | |
| & | 60 |
| && | 61 |
| + | 62 |
| - | 63 |
| * | 64 |
| / | 65 |
| % | 66 |
简单起见,只支持下列常见的转义字符
| 转义字符 | 意义 | ASCII码值(十进制) |
|---|---|---|
| \a | 响铃(BEL) | 007 |
| \b | 退格(BS) ,将当前位置移到前一列 | 008 |
| \f | 换页(FF),将当前位置移到下页开头 | 012 |
| \n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
| \r | 回车(CR) ,将当前位置移到本行开头 | 013 |
| \t | 水平制表(HT) | 009 |
| \v | 垂直制表(VT) | 011 |
\' |
单引号 | 039 |
\" |
双引号 | 034 |
\\ |
反斜杠 | 092 |
不支持\177或者\x7f