forked from swizl/tinycc_zh
-
Notifications
You must be signed in to change notification settings - Fork 0
将tinycc的关键字替换成中文,经tinycc_cn编译后,可自举
License
program-in-chinese/tinycc_zh
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
小习编译器Bate - 基于TinyCC的中文编译器 - 中文自举编译器第二部分 ----------------------------------------------------------------------- Features: -------- 基于TinyCC的中文编译器,添加了中文关键字解析代码。 兼容原 TinyCC 所有的 Features。 将关键字全换成中文,可进行自举。 添加的中文关键字: DEF(TOK_INT_CN, "整") DEF(TOK_VOID_CN, "空") DEF(TOK_CHAR_CN, "字") DEF(TOK_IF_CN, "如") DEF(TOK_ELSE_CN, "另") DEF(TOK_WHILE_CN, "当") DEF(TOK_BREAK_CN, "跳出") DEF(TOK_RETURN_CN, "返回") DEF(TOK_FOR_CN, "对于") DEF(TOK_EXTERN_CN, "外部") DEF(TOK_STATIC_CN, "静态") DEF(TOK_UNSIGNED_CN, "无符") DEF(TOK_GOTO_CN, "跳转") DEF(TOK_DO_CN, "运行") DEF(TOK_CONTINUE_CN, "继续") DEF(TOK_SWITCH_CN, "转接") DEF(TOK_CASE_CN, "事例") DEF(TOK_CONST1_CN, "不变") DEF(TOK_VOLATILE1_CN, "易变") DEF(TOK_LONG_CN, "长") DEF(TOK_REGISTER_CN, "记录") DEF(TOK_SIGNED1_CN, "有符") DEF(TOK_AUTO_CN, "自动") DEF(TOK_INLINE1_CN, "内联") DEF(TOK_RESTRICT1_CN, "限定") DEF(TOK_FLOAT_CN, "单精") DEF(TOK_DOUBLE_CN, "双精") DEF(TOK_BOOL_CN, "布尔") DEF(TOK_SHORT_CN, "短") DEF(TOK_STRUCT_CN, "结构") DEF(TOK_UNION_CN, "联合") DEF(TOK_TYPEDEF_CN, "类型定义") DEF(TOK_DEFAULT_CN, "缺省") DEF(TOK_ENUM_CN, "枚举") DEF(TOK_SIZEOF_CN, "求长度") DEF(TOK_ATTRIBUTE1_CN, "__属性") DEF(TOK_ALIGNOF1_CN, "__对齐") DEF(TOK_TYPEOF1_CN, "求类型") DEF(TOK_LABEL_CN, "__符号__") DEF(TOK_ASM1_CN, "汇编") DEF(TOK_DEFINE_CN, "定义") DEF(TOK_INCLUDE_CN, "包含") DEF(TOK_INCLUDE_NEXT_CN, "包含下个") DEF(TOK_IFDEF_CN, "如定义") DEF(TOK_IFNDEF_CN, "如未定义") DEF(TOK_ELIF_CN, "另如") DEF(TOK_ENDIF_CN, "了如") DEF(TOK_DEFINED_CN, "已定义") DEF(TOK_UNDEF_CN, "消定义") DEF(TOK_ERROR_CN, "错误") DEF(TOK_WARNING_CN, "告警") DEF(TOK_LINE_CN, "行") DEF(TOK_PRAGMA_CN, "杂注") DEF(TOK___LINE___CN, "__行号__") DEF(TOK___FILE___CN, "__文件__") DEF(TOK___DATE___CN, "__日期__") DEF(TOK___TIME___CN, "__时间__") DEF(TOK___FUNCTION___CN, "__函数名__") DEF(TOK___VA_ARGS___CN, "__变参__") DEF(TOK___COUNTER___CN, "__计数__") DEF(TOK___FUNC___CN, "__函数__") Documentation: ------------- 1) Installation on a i386/x86_64/arm Linux/OSX/FreeBSD host 目前调试是在 MingW 上进行 小习编译器Alpha: 1. 用gcc编译并安装,在MingW上如不指定路径将默认到C盘,且没有/usr路径 ./configure --prefix=/local/tcc make make install 目前已经可以编译中文代码,见Examples 2. 可选,自举 ./configure --prefix=/local/tcc --cc=/local/tcc/tcc.exe make make install 小习编译器Bate: 1. 用已经编译并安装的小习编译器Alpha进行编译 ./configure --prefix=/local/tcc --cc=/local/tcc/tcc.exe make make install 2. 可选,自举 ./configure --prefix=/local/tcc --cc=/local/tcc/tcc.exe make make install 2) Introduction 一直对编译器比较感兴趣,总想改出一个中文编译器。 很早之前已经可以对TinyCC进行改造了,但一直希望用clang或gcc改一个C/C++的纯中文编译器。 但clang和gcc的自身编译就很麻烦,中间问题很多,我一直都没有搞定。 所以还有先用TinyCC搞一个C语言中文版,这样快多了。 这个目前这个命名为小习编译器。若是以后整出了一个C++中文编译器,就叫习大大,毕竟习加加已经有人叫了。 小习编译器分 Alpha 和 Beta 两版。 小习编译器Alpha在TinyCC 基础上添加中文关键字 小习编译器Beta 在 小习编译器Alpha 基础上将原英文关键字全替换成中文。 小习编译器Beta自举 需要先编译小习编译器Alpha,并安装。 然后用小习编译器Alpha 编译 小习编译器Beta, 并安装 最后用小习编译器Beta 编译自身。 3) Examples _ex3.c: 计算 斐波那契 数 (中文编程). cd examples /local/tcc/tcc.exe _ex3.c ./_ex3.exe 6 License: ------- 小习编译器 遵循 GNU Lesser General Public License。详细请见 COPYING 文件。 XLCH.
About
将tinycc的关键字替换成中文,经tinycc_cn编译后,可自举
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 86.4%
- C++ 10.5%
- Makefile 1.1%
- Objective-C 0.8%
- Assembly 0.7%
- Prolog 0.4%
- Other 0.1%