compiler-construction - 如何用 Python 或 GoLang 为静态类型 DSL(领域特定语言)编写解释器?
问题描述
我想拥有自己的自定义语言/领域特定语言。我从 Python 的 SLY 和 PLY 库中了解了词法分析器和解析器。但是我想知道如何编写我自己的静态类型 DSL 解释器?到目前为止,我读过的教程都在谈论一个常见的例子,比如 (a=4+2+2) 之类的。但是我的设计指定了一个类型,然后是变量,然后使用我的自定义语法进行赋值,如下所述。它旨在以类似于 C/C++ 的方式运行,因为它们是静态类型的。
TY: A TP i.
D: MyV1 TP A, MyV2 TP string.
如何命令计算机解释类型和构建自定义类型,这只是我目前的疑问之一。但是,如果我有机会阅读任何深入的文档(如果有的话),那就太好了。需要帮忙。
解决方案
推荐阅读
- java - 如何在 ListView 和 AlertDialog 中设置自定义字体?
- c# - 如何获取另一个驱动器的当前工作目录?
- javascript - 数组声明
- ibm-cloud - 具有 API 密钥访问权限的 IBM Cloud Functions
- java - 为什么我的网页没有显示在我的 WebView 中?
- mongodb - 如何在嵌套数组中查找(至少两级)
- java - 如何让杰克逊按排序顺序序列化未排序的集合?
- reactjs - MomentJS - 如何更改语言环境但保留语言
- java - 在Java中的泛型类中实现特定类型的方法
- python - 打开文件浏览窗口后 Python 脚本停止执行