我想要一些简单的东西来试验/破解。我为c创建了很多解释器/编译器,我只想要一些简单的东西。一个基本的BASIC:D
如果您不知道(我已经完成了谷歌搜索...),yacc / bison是唯一的方法吗?
THX
答案 0 :(得分:4)
PLY是一个很棒的Python解析器创建库。它有一个简单的BASIC解释器作为其示例脚本之一。你可以从那里开始。
答案 1 :(得分:3)
TheFreeCountry中列出的这些内容都不可接受吗?它们都不在Python中,但我认为从XBLite开始可能比从Yacc / Bison / PLY开始更有帮助。
此外,Vb2py可能是比PLY更好的起始位置。
但是,如果你必须走PLY路线,那么考虑MOLE Basic语法作为起点,而不是试图从头开始。
答案 2 :(得分:1)
我也不知道红宝石下的基本翻译,但是如果有足够的时间和兴趣,红宝石很容易“支持”为你喜欢的任何语言编写翻译:Agile DSL Development in Ruby。我必须承认,这种方法需要一些时间投入。 :( 在演示文稿的最后是一些关于DSL的进一步阅读的链接。
答案 3 :(得分:1)
您可能还希望查看the Parrot virtual machine,根据今天的维基百科,它有一些BASIC支持。
答案 4 :(得分:0)
红宝石中的miniBasic可用here。 Rockit似乎对racc更有趣。
答案 5 :(得分:-1)
有pybasic(python basic),rockit-minibasic(rubybasic)。
为了使这些能够使用gui,那么必须使用kivy和shoes gui工具包分别为pybasic和rockit-minibasic开发扩展,并且类似于perlbasic的灵长类动物(如果有的话)。