器普语言sepl.net就是全中文 c#

汉澳sinox 2012-09-14 05:07:19
大好!器普语言sepl.net即将研发成功

最近正在构思汉澳现代战争武器系统的设计,其中有部分是软件设计,如果还是用C++之类语言设计系统,肯定很低效,而且不利于维护和更新升级。我写过的程序用字母缩写,过几年后重新打开看忘记什么意思了,显然不用中文是不行的。


我一直念念不忘梦寐以求的中文编程语言器普语言一直没有重大进展,这可是大大影响武器系统的设计。我一直希望直接在 C#基础上改进支持中文就可以了。但是定义的语法如果用jay生成语法分析器parser并不支持中文,因此几年来郁郁不得志。但是我是不会放弃的。


于是我又开动搜索引擎,开始搜索,输入这些关键字,C#中文,中文编程,汉语编程。结果发现有 C++汉语编程,可以用#define宏定义实现,不仅标识符,类型可以定义中文,关键字也可以,彻底中文。但是我对c++汉化不太感兴趣,我心目的器普语言不是 C++。再搜,看到有C#可以给中文编程,变量名可以中文,类型用using建立别名,也是中文,唯一遗憾的是关键字不能中文,这样中文化是不彻底的。我看到易语言新版本支持类似c#,java,还有从英文关键字,难道也是用开源代码来改改?再搜,找到一个C#中文示例程序,下载,不能运行,但是看到代码是支持中文的。难道这就是支持中文的c#编译器?如果能看看他的代码就好了。于是我反编译了他的程序,啊,真的看到了,原来中文关键字是这样支持的啊?编译一下反编译的程序,不能成功,于是下载一个C#编译器源代码,使用mono 里面提取出来的。按照前辈的程序照改,加入中文,编译,ok,用它编译hello程序,啊哈,成功了!!我决定不改他的关键字,而是增加一个中文关键字,运行,结果就是支持中英文关键字,if和如果同时支持呢?难道这就是易语言.飞扬的双语关键字??


最后我想,既然是器普中文编程语言,肯定要彻底中文,于是我把编译器里面的关键字源代码注释掉,替换上中文关键字,然后编译运行,器普语言雏形就出来了。

如果只是这样改一下,这个sepl.net就是中文 C#,而且完全支持调用编译好的 c#代码,比如 Sytem其实底层类库是一样的。

下面就是把.net类库彻底汉化,然后用新的语言重写编译器,那就成为一个独立的新型的编程语言了。为了区分cs ,我把扩展名改成 sl.看看我编译用的源代码:


hello.sl
--------------------------------

引用 System;


公开 类 Hello1
{
公开 静态 空值 主函数()
{
整数 int1=1;
System.Console.WriteLine("Hello, World!");
字符串 窗口名="大胆刁民";

如果 (int1==1)
System.Console.WriteLine(窗口名);


整数 i=0;
当 (i<10)
{
System.Console.WriteLine("当 窗口名");
i++;
}

i=0;

执行
{
System.Console.WriteLine("执行 窗口名");
i++;
}当 (i<10);


}
}


运行如下


F:\code\sepl\src>del hello.exe


F:\code\sepl\src>gmcs.exe hello.sl

F:\code\sepl\src>hello.exe
Hello, World!
大胆刁民
当 窗口名
当 窗口名
当 窗口名
当 窗口名
当 窗口名
当 窗口名
当 窗口名
当 窗口名
当 窗口名
当 窗口名
执行 窗口名
执行 窗口名
执行 窗口名
执行 窗口名
执行 窗口名
执行 窗口名
执行 窗口名
执行 窗口名
执行 窗口名
执行 窗口名


F:\code\sepl\src>pause
请按任意键继续. . .

好搞笑啊,如果世界都能靠替换解决问题,那么我们还需要做什么?

等我发布了你们也反编译,那么用c#反编译上面的程序会怎么样,反了一下:

public static void 主函数()
{
int num2;
int num = 1;
Console.WriteLine("Hello, World!");
string str = "大胆刁民";
if (num == 1)
{
Console.WriteLine(str);
}
for (num2 = 0; num2 < 10; num2++)
{
Console.WriteLine("当 窗口名");
}
num2 = 0;
do
{
Console.WriteLine("执行 窗口名");
num2++;
}
while (num2 < 10);
}

没能反出sepl,而是反到 c#了。用c#也编译不了。也许以后也会有sepl反编译器,不过我是不会做的,自己搞自己啊。

因为sepl编译器使用 C#编译,所以可以彻底反编译。


我决定在新的sinox操作系统版本发布这个支持中文的编程语言,他叫mono.net,我的就叫sepl.net

从2003年提出sepl到实现,已经10年了,人生能有多少个10年呢?不过现在终于可以宣告,sepl不再是虚构,而是变成现实。


search&replace,让一切成为可能.

搜索替换,也只能这样,人家mono项目融资1200万美元,我们只有几块钱,只能拿来,搜索替换,复制粘贴。


这就是开源的力量,洋为中用,为我所用。
...全文
196 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
缭绕飘渺 2012-09-14
  • 打赏
  • 举报
回复
这难道是传说中的神器
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 四路20秒声光显示计分抢答器Multisim14仿真源文件+设计文档资料摘要 数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。关键字:开关阵列电路;触发锁存电路;解锁电路;编码电路;显示电路 一、设计目的 本设计是利用已学过的数电知识,设计的4人抢答器。(1)重温自己已学过的数电知识;(2)掌握数字集成电路的设计方法和原理;(3)通过完成该设计任务掌握实际问题的逻辑分析,学会对实际问题进行逻辑状态分配、化简;(4)掌握数字电路各部分电路与总体电路的设计、调试、模拟仿真方法。 二、整体设计 (一)设计任务与要求: 抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。 设置一个系统清除和抢答控制开关S,该开关由主持人控制。 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效。 (二)设计原理与参考电路 抢答器的组成框图如下图所示。它主要由开关阵列电路、触发锁存电路、解锁电路、编码电路和显示电路等几部分组成。

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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