首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PolyML顶层报价机制

PolyML顶层报价机制
EN

Stack Overflow用户
提问于 2022-07-18 13:26:47
回答 1查看 48关注 0票数 0

对于各种玩具项目,我希望能够将对象语言嵌入到PolyML顶层,比如HOL的回勾语法,其中backticks之间的表达式由自定义解析器解析。

我不介意特定的分隔语法: backticks ...,guillemets <<...>>,或者类似于{AC.26.\\}之类的语法。我只希望能够在顶层编写表达式,并由自定义解析器对它们进行解析。

例如,如果我的数据类型类似于

代码语言:javascript
复制
datatype expression =
    Add of expression * expression
  | Int of int
  | Mul of expression * expression

我希望能够键入以下内容:

代码语言:javascript
复制
> `3 + 2 * 5`;
val it = Add (Int 3, Mul (Int 2, Int 5)): expression

这有可能(简单地说)吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-18 16:34:05

对于你的情况,你可以用这样的方法来近似这个

代码语言:javascript
复制
val op + = Add
val op * = Mul
val ` = Int
val it = `3 + `2 * `5

但是,这将不会使用自定义解析器或任何东西,而只是依赖于现有的解析器。

如果您想使用自定义解析器,最简单的方法就是编写一个函数parse : string -> expression并在顶层手动应用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73023083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档