当前位置:  开发笔记 > 编程语言 > 正文

Bash的编译器

如何解决《Bash的编译器》经验,为你挑选了1个好方法。

我在本科学习期间参加了编译器设计课程.作为学习过程的一部分,我必须为一种语言开发编译器.

可以为Bash编写编译器吗?是否比为C/C++这样的常规编程语言设计编译器更困难,因此至少对于新手来说是完全不可思议的?



1> Stephen C..:

可以为Bash编写编译器吗?

是.(存在证明 - shc.)

如果有,怎么样?

那是困难的部分.

由于反引号,变量替换,引用等等的影响,POSIX shell语言与典型的编程语言非常不同.

您可以忽略它并实现"类似bash"的语言,要么省略了困难的功能,要么以不符合POSIX行为的方式处理它们.

然后......存在如何生成可执行的东西的问题.同样,这是可能的(见上文),但如果你的目标是比常规shell更快,那么你需要做一些事情,比如在编译代码中模拟常见Linux命令的行为.这是一项艰巨的任务.


我不是说这是一个糟糕的项目,但你需要做很多工作,包括:

查找,阅读和(完全)理解POSIX shell规范

研究如何实现处理POSIX特性的解析器

弄清楚哪些linux命令需要直接实现,以及

弄清楚如何处理你没有的; 例如管道的所有复杂性.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有