分类: 嵌入式
2009-03-22 11:18:33
1) PP_STACKSIZE:Tasm兼容,定义函数参数的各项属性
2) PP_ARG:Tasm兼容,将参数定义转换成单行宏定义
3) PP_LOCAL:Tasm兼容,将本地变量转换成单行宏定义
4) PP_CLEAR:消除之前所有的预定义宏
5) PP_INCLUDE:插入 include文件并打开该文件
6) PP_PUSH:插入Context实例
7) PP_REPL:更改Context名字
8) PP_POP:删除Context实例
9) PP_ERROR:输出%error错误信息
10) PP_IF,PP_IFCTX,PP_IFDEF,PP_IFID,PP_IFIDN,PP_IFIDNI,PP_IFMACRO,PP_IFNCTX,PP_IFNDEF,PP_IFNID,PP_IFNIDN,PP_IFNIDNI,PP_IFNMACRO,PP_IFNNUM,PP_IFNSTR,PP_IFNUM,PP_IFSTR,PP_ELIF,PP_ELIFCTX,PP_ELIFDEF,PP_ELIFID,PP_ELIFIDN,PP_ELIFIDNI,PP_ELIFMACRO,PP_ELIFNCTX,PP_ELIFNDEF,PP_ELIFNID,PP_ELIFNIDN,PP_ELIFNIDNI,PP_ELIFNMACRO,PP_ELIFNNUM,PP_ELIFNSTR,PP_ELIFNUM,PP_ELIFSTR:添加Cond实例
11) PP_ELSE:更改Cond实例状态
12) PP_ENDIF:删除Cond实例
13) PP_MACRO,PP_IMACRO:先初始化 defining,设置相关属性
14) PP_ENDM, PP_ENDMACRO:将defining插入 mmacros 中
15) PP_ROTATE:在 pass0 不处理
16) PP_REP: 利用 evaluate 计算重复次数,设置defining相关属性,将之插入defining链表中
17) PP_ENDREP: 将 defining 的头一个元素插入 istk->defining
18) PP_EXITREP: 在 pass0 不做处理
19) PP_XDEFINE, PP_IXDEFINE, PP_DEFINE, PP_IDEFINE:获取预处理信息,处理相关宏,参数,然后根据预处理信息插入相关的链表
20) PP_UNDEF: 删除相关的宏定义
21) PP_STRLEN:计算字符串长度,作为单行宏插入相关链表
22) PP_SUBSTR:
23) PP_ASSIGN,PP_IASSIGN:调用eval.c的evaluate函数计算assign指定的值
24) PP_LINE:略