加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala中的Brainfuck编译器

发布时间:2020-12-16 19:19:14 所属栏目:安全 来源:网络整理
导读:想要练习一些领域特定语言(DSL),首先想法是编写 Brainfuck的解释器或编译器. 第一个想法是覆盖函数,例如它们将表现为Brainfuck命令:“”,“”,“”,“ - ”,“.”,“,”[“,”]“.不幸的是,你不能将decalare功能称为“.”. 在Scala中编写它有更好的解决方案
想要练习一些领域特定语言(DSL),首先想法是编写 Brainfuck的解释器或编译器.
第一个想法是覆盖函数,例如它们将表现为Brainfuck命令:“>”,“<”,“”,“ - ”,“.”,“,”[“,”]“.不幸的是,你不能将decalare功能称为“.”. 在Scala中编写它有更好的解决方案吗?

解决方法

你没有在你的问题中具体说明,但似乎当你说DSL时,你的意思是 Internal DSL?

内部DSL很棒,但从根本上说,你总是受到你尝试使用的语言语法的限制. Scala是编写内部DSL的一种特别好的语言,因为它具有简单灵活的语法.但它不是无限灵活的.

您可能想要探索的其他途径可能是:

>选择其他符号而不是“.”. Scala可以支持Unicode标识符,所以如果你喜欢走这条路,也许你可以使用“?”?
>创建一个External DSL而不是?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读