自己写编程语言-m语言

一直对技术有很强的兴趣,终于,决定要写自己的语言(m语言)。那就先从最简单的开始:解释执行器。

一套完整的语言包含的肯定不止解释执行器了,还要有编译器和IDE,也就还要有语法高亮、智能提示等,不过还没学会那些,先搞个最基本的解释执行器。

思路如下:

定义好希望的语法(基本语句有:顺序执行、if语句、for语句、while语句、系统自有函数定义、用户函数定义、函数调用)

找一款词法语法解析器工具,让字符串流变成语法书(AST)

编写解释执行器

元数据收集

变量作用域定义、查找

解释执行

先设想我们的m语言语法要怎么牛b啊,比如下面这段demo语法代码:

go 计算标准体重(年龄) { 体重:年龄*3; 体重; } 体重:10; a:10; a:输出(体重); b:25; a:100+10+b; 输出(a); (a==135)-> { a:a+a+a; 输出(a); } else { 输出(b); }; a:1; while a<10 ->{ a:a+2; 输出(a); }; 输出("WHILE OK"); repeat i from 0 to 100 step 10->{ 输出(i); } init->{ 输出("FOR INIT"); } onerror->{ 输出("FOR ERROR"); } finally->{ 输出("FOR FINALLY"); }; 输出('FOR OK'); a:10; 输出(计算标准体重(a));

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpywsj.html