谁会把GCC编译器源码,增加双语关键字就是IF改成如果

小雨丶 2016-04-10 06:45:57



双语关键字也是别有一番风味,有没有大神帮忙下下

GCC既然已经开源了,让我们增加中文标识符吧,

我是新手,我想增加关键字,但遇到的大神都叫我

把整个编译原理精通,可我只是兴趣在那几个关键字

这只是对中文的一种极端热爱,希望在编程里看到

家的感觉,希望懂得人帮改一下GCC,IDE我已经做好了
...全文
888 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
小雨丶 2016-04-23
  • 打赏
  • 举报
回复
引用 26 楼 ys0315 的回复:
[quote=引用 24 楼 asaqlp 的回复:] 否则就"中文C++"没有任何意义,汉化得了表面,汉化不了内心! 没有意义,呵呵,你没看见全部都是中文吗,函数变量标识符都是中文,这还不能算作中文?我不清楚你口中的中文到底是什么样子,非要和易语言一样填表语言才是中文?
C++关键字总共才多少,超过100个了吗? 再慢1个礼拜都不用就能完全记下来吧?然后呢? 什么是C++,汉化C++关键字的意义在哪里? 100个关键字不到的东西汉化的意义在哪里? 想明白没有? 汉化完后,发现就这么不到100来个关键字,结果还是tmdC++,这才叫脱裤子放屁呢。 [/quote]菜鸟你有病吗?没看图片吗,汉化包括数以万计的标准库函数,和你口中66个关键字,写代码的时候连函数参数变量,类名,常量名结构体名都可以用汉语了,除了标点符号数字除外,我要编译器原生支持中文只是为了爽开心,做来玩而已,你何必上升到语言高度?
小雨丶 2016-04-23
  • 打赏
  • 举报
回复
c++和英语有个屁关系,我汉化的是英语和c++语言没有任何关系懂?菜鸟,
引用 26 楼 ys0315 的回复:
[quote=引用 24 楼 asaqlp 的回复:] 否则就"中文C++"没有任何意义,汉化得了表面,汉化不了内心! 没有意义,呵呵,你没看见全部都是中文吗,函数变量标识符都是中文,这还不能算作中文?我不清楚你口中的中文到底是什么样子,非要和易语言一样填表语言才是中文?
C++关键字总共才多少,超过100个了吗? 再慢1个礼拜都不用就能完全记下来吧?然后呢? 什么是C++,汉化C++关键字的意义在哪里? 100个关键字不到的东西汉化的意义在哪里? 想明白没有? 汉化完后,发现就这么不到100来个关键字,结果还是tmdC++,这才叫脱裤子放屁呢。 [/quote]小学生好好读书,你语文体育老师教的吧,看帖子我是让你解决问题,你不懂别进来装逼,你说这些有什么用?中文编程英文编程的理念你也没弄清楚就来博客?等你理解了这些理念再来装逼不迟,不懂装懂那是sb
mLee79 2016-04-22
  • 打赏
  • 举报
回复
另存, 改后缀为 7z, 然后解压

这是一个简单的例子, 你需要把上面的功能差不多整合成一个程序, 大概下面的步骤

1) GB18030 --> UCS2
2) 作为对一个无聊特性的支持, 特别弄个预处理器处理, 比如 这种, 如果你不想支持这样的写法, 略过这步.
i\
f\
(a>b)
处理成


if(a>b)

3) 在词法分析中处理 单行注释, 多行注释, 字符串, 和 标示符, 如果标示符包含超出 alnum 的字符, 则按一定规律转义
4) UCS2 --> UTF8


上面的例子会把这样的代码


#include <stdio.h>

#define 整数 int
#define 主函数 main
#define 打印 printf
#define 返回 return

整数 主函数 ()
{
打印("Hello World!\n");
返回 0;
}



处理成下面的样子

#include <stdio.h>

#define zzz___UUY___pK6_lK6 int
#define zzz___UUY___wt4_y75_lK6 main
#define zzz___UUY___I96_lC5 printf
#define zzz___UUY___J_8_TQ5 return

zzz___UUY___pK6_lK6 zzz___UUY___wt4_y75_lK6 ()
{
zzz___UUY___I96_lC5("Hello World!\n");
zzz___UUY___J_8_TQ5 0;
}



要做这些, 你最好对 编译原理中词法分析部分有一定的了解. 最好还有个支持 UNICODE 的 lex 版本.



mLee79 2016-04-22
  • 打赏
  • 举报
回复
有个 BUG, 你把 #define ZESCIDENSTR "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_" 的 下划线去掉, 不然转出来的标示符有歧义 #define ZESCIDENSTR "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
ys0315 2016-04-22
  • 打赏
  • 举报
回复
引用 24 楼 asaqlp 的回复:
否则就"中文C++"没有任何意义,汉化得了表面,汉化不了内心! 没有意义,呵呵,你没看见全部都是中文吗,函数变量标识符都是中文,这还不能算作中文?我不清楚你口中的中文到底是什么样子,非要和易语言一样填表语言才是中文?
C++关键字总共才多少,超过100个了吗? 再慢1个礼拜都不用就能完全记下来吧?然后呢? 什么是C++,汉化C++关键字的意义在哪里? 100个关键字不到的东西汉化的意义在哪里? 想明白没有? 汉化完后,发现就这么不到100来个关键字,结果还是tmdC++,这才叫脱裤子放屁呢。
赵4老师 2016-04-22
  • 打赏
  • 举报
回复
引用 23 楼 asaqlp 的回复:
我对写IDE和编译器毫无兴趣,我的爱好在于写3D游戏,如果弄成易语言一样脱裤子放屁我也接受不了。中文C++就已经很轻松了
搜网络教程“学OpenGL编3D游戏”。
小雨丶 2016-04-22
  • 打赏
  • 举报
回复
否则就"中文C++"没有任何意义,汉化得了表面,汉化不了内心! 没有意义,呵呵,你没看见全部都是中文吗,函数变量标识符都是中文,这还不能算作中文?我不清楚你口中的中文到底是什么样子,非要和易语言一样填表语言才是中文?
小雨丶 2016-04-22
  • 打赏
  • 举报
回复
[quote=引用 21 楼 ys0315 的回复:] 我去,母语编程看起来为何这么别扭? 关键字用中文有什么用? 完全给你个中文的C++,该不会的地方,依然不会. 除非像易语言一样,自主搞一套自己的东西. 否则就"中文C++"没有任何意义,汉化得了表面,汉化不了内心![/quote然而已经汉化完了编程不是英语的,C++也不是英语的,所以汉化就是中文编程,并不是指中文编译器,C++其实很适合中国人的,汉语编程目的只是让人更加容易的编程,而不是花架子,而你们想要的只是花架子,这就是你们依然跟在人家屁股后面的原因
小雨丶 2016-04-22
  • 打赏
  • 举报
回复
我对写IDE和编译器毫无兴趣,我的爱好在于写3D游戏,如果弄成易语言一样脱裤子放屁我也接受不了。中文C++就已经很轻松了
ys0315 2016-04-22
  • 打赏
  • 举报
回复
我去,母语编程看起来为何这么别扭? 关键字用中文有什么用? 完全给你个中文的C++,该不会的地方,依然不会. 除非像易语言一样,自主搞一套自己的东西. 否则就"中文C++"没有任何意义,汉化得了表面,汉化不了内心!
小雨丶 2016-04-22
  • 打赏
  • 举报
回复
这些早就实现了中文,编译器不支持而已,,我们还能让技术突破吗
小雨丶 2016-04-22
  • 打赏
  • 举报
回复
引用 18 楼 ForestDB 的回复:
# define 如果 if
宏替换我从头到到脚,工程批量翻译中文都写好了,我已经可以全中文写代码,但是编译器标识符要宏替换 受不了,
ForestDB 2016-04-21
  • 打赏
  • 举报
回复
# define 如果 if
小雨丶 2016-04-21
  • 打赏
  • 举报
回复
求求大牛写个例子,
小雨丶 2016-04-21
  • 打赏
  • 举报
回复
引用 15 楼 mLee79 的回复:
这个只要改的能支持 unicode 的标示符就可以了, 没啥意思... 你自己在弄个预处理器处理下代码就是了, 都完全不用修改 gcc ... 这只涉及 词法分析的部分, 零基础起步也就两周的事情...
预处理器,这不是编译器的东西吗,你能给个例子吗,
赵4老师 2016-04-20
  • 打赏
  • 举报
回复
你拉到政府拨款后找我负责花咋样?
mLee79 2016-04-20
  • 打赏
  • 举报
回复
这个只要改的能支持 unicode 的标示符就可以了, 没啥意思... 你自己在弄个预处理器处理下代码就是了, 都完全不用修改 gcc ... 这只涉及 词法分析的部分, 零基础起步也就两周的事情...
小雨丶 2016-04-19
  • 打赏
  • 举报
回复
引用 12 楼 zhao4zhong1 的回复:
[quote=引用 11 楼 asaqlp 的回复:] [quote=引用 10 楼 zhao4zhong1 的回复:] [quote=引用 9 楼 asaqlp 的回复:] [quote=引用 7 楼 lm_whales 的回复:] Windows 上的codeblock 自带的 gcc,是有中文版的吧,不知道编译器支持中文 标识符不 没测试过,目测应该支持
玩了两天,这个不支持中文[/quote] 不知道我辈是否还能在有生之年等到楼主将gcc UNICODE化。 [/quote]正在学习tcc,正研究怎么改不懂怎么弄,得学下基础[/quote] 基础就是: 电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息…… 推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。 对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A [/quote]这么伤钱的事情,应该找政府拨款
赵4老师 2016-04-18
  • 打赏
  • 举报
回复
引用 11 楼 asaqlp 的回复:
[quote=引用 10 楼 zhao4zhong1 的回复:] [quote=引用 9 楼 asaqlp 的回复:] [quote=引用 7 楼 lm_whales 的回复:] Windows 上的codeblock 自带的 gcc,是有中文版的吧,不知道编译器支持中文 标识符不 没测试过,目测应该支持
玩了两天,这个不支持中文[/quote] 不知道我辈是否还能在有生之年等到楼主将gcc UNICODE化。 [/quote]正在学习tcc,正研究怎么改不懂怎么弄,得学下基础[/quote] 基础就是: 电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息…… 推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。 对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A
小雨丶 2016-04-16
  • 打赏
  • 举报
回复
引用 10 楼 zhao4zhong1 的回复:
[quote=引用 9 楼 asaqlp 的回复:] [quote=引用 7 楼 lm_whales 的回复:] Windows 上的codeblock 自带的 gcc,是有中文版的吧,不知道编译器支持中文 标识符不 没测试过,目测应该支持
玩了两天,这个不支持中文[/quote] 不知道我辈是否还能在有生之年等到楼主将gcc UNICODE化。 [/quote]正在学习tcc,正研究怎么改不懂怎么弄,得学下基础
加载更多回复(10)

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧