GCC C语言处理主要函数之c_parse_init
来源:互联网 发布:人工神经网络5年数据 编辑:程序博客网 时间:2024/05/18 07:45
c_parse_init:
/* Initialization routine for this file. */
voidc_parse_init (void){ /* The only initialization required is of the reserved word identifiers. */ unsigned int i; tree id; int mask = 0;
/* Make sure RID_MAX hasn't grown past the 8 bits used to hold the keyword in the c_token structure. */ gcc_assert (RID_MAX <= 255);
mask |= D_CXXONLY; if (!flag_isoc99) mask |= D_C99; if (flag_no_asm) { mask |= D_ASM | D_EXT; if (!flag_isoc99) mask |= D_EXT89; } if (!c_dialect_objc ()) mask |= D_OBJC | D_CXX_OBJC;
ridpointers = ggc_cleared_vec_alloc<tree> ((int) RID_MAX); for (i = 0; i < num_c_common_reswords; i++) { /* If a keyword is disabled, do not enter it into the table and so create a canonical spelling that isn't a keyword. */ if (c_common_reswords[i].disable & mask) { if (warn_cxx_compat && (c_common_reswords[i].disable & D_CXXWARN)) { id = get_identifier (c_common_reswords[i].word); C_SET_RID_CODE (id, RID_CXX_COMPAT_WARN); C_IS_RESERVED_WORD (id) = 1; } continue; }
id = get_identifier (c_common_reswords[i].word); C_SET_RID_CODE (id, c_common_reswords[i].rid); C_IS_RESERVED_WORD (id) = 1; ridpointers [(int) c_common_reswords[i].rid] = id; }
for (i = 0; i < NUM_INT_N_ENTS; i++) { /* We always create the symbols but they aren't always supported. */ char name[50]; sprintf (name, "__int%d", int_n_data[i].bitsize); id = get_identifier (name); C_SET_RID_CODE (id, RID_FIRST_INT_N + i); C_IS_RESERVED_WORD (id) = 1; }}
- GCC C语言处理主要函数之c_parse_init
- GCC C语言处理主要函数之c_init_decl_processing
- GCC C语言处理主要函数之c_objc_common_init
- GCC C语言处理主要函数之c_common_init
- GCC C语言处理主要函数之init_pragma
- GCC C语言处理主要函数之c_register_pragma
- GCC C语言处理主要函数之c_common_init_ts
- GCC C语言处理主要函数之dbxout_init
- GCC主要数据结构之C lang_type
- C语言之文件处理函数总结
- C语言之字符串处理函数
- GCC C语言处理hooks实现
- C语言学习笔记之常用的字符串处理函数
- c语言之字符串处理函数(三)
- C 语言之字符串处理函数一 -2016.01.01
- C语言之常用字符串处理函数(非调用)
- GCC之C 语言编译过程
- GCC之C 语言编译过程
- 线性回归 三个角度理解求解
- DBCP1.3连接泄露问题
- PHP的autoload自动加载机制实例
- 安装hadoop2.4.1
- 循环队列---数据结构和算法
- GCC C语言处理主要函数之c_parse_init
- Android音视频学习 第X章
- CSS段落间距调整 P标签段落上下距离如何设置
- php 类名::class 的用法解释
- 两个栈实现队列
- centos7 使用pip安装python-mysqldb模块
- 机器学习算法中的过拟合与欠拟合
- javascript中&&与||的用法
- 从MyEclipse中导出Javadoc制作自己的API文件