符号变换引擎(Symbol Transform Engine

编程入门 行业动态 更新时间:2024-10-07 16:24:51

<a href=https://www.elefans.com/category/jswz/34/1770893.html style=符号变换引擎(Symbol Transform Engine"/>

符号变换引擎(Symbol Transform Engine


    在写编译器的过程中,我意识到编译其实是一种符号变换,比如C语言编译成机器码,其实是C源码文件中的符号变换成EXE的16进制符号,这和中文翻译成英语的语言翻译器没什么区别。
    每个程序员都有自己喜欢的编程语言和编码风格,所以世界上就出现了大量的编程语言,各种编程语言之间相互通信并不那么简单,C语言是个例外,所以C语言适合做接口。
    那么能不能写一个通用的引擎充当各种语言的中间翻译层呢?这就是符号变换引擎(Symbol Transform Engine - STE),下面是它的整体设计:




    这东西有什么用?它可以将C++翻译为JS,也可以将JS翻译成lua,又或者将C++翻译成C,等等。如果仅仅有这么点用途那它还只是一个编程语言翻译器,更为神奇的是它可以做二进制翻译,比如将一个后缀为WAV的波形文件音量降低50%,将一篇英语小说翻译成中文小说,或者给一个JPG文件打上水印,等等无数的用途。
    一个正则表达式高手可能会告诉你他可以用正则实现波形文件音量降低50%,但这极为困难,并且代码很难看懂,符号变换引擎却不同,它内置模式匹配和一大堆高级语言语法,它的模式匹配不仅仅是正则的字符匹配,还有单词匹配,宏匹配,所以可以很轻松完成这个任务。王垠说Scheme的模式匹配是很强大的功能,但Lisp的模式匹配仅限于S表达式,这就限制了它的应用范围。
    STE开源引擎已经立项,第一期计划支持50%的C++语法、90%的JS语法、10%的python语法、80%的汇编,欢迎有兴趣的朋友参与进来。QQ交流群:34269848  

更多推荐

符号变换引擎(Symbol Transform Engine

本文发布于:2024-02-06 11:10:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748567.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:符号   引擎   Symbol   Transform   Engine

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!