gpt4 book ai didi

类型声明中的 OCaml 语法错误

转载 作者:行者123 更新时间:2023-12-04 23:31:24 24 4
gpt4 key购买 nike

我是 OCaml 的新手,我不知道为什么这会给我一个语法错误:

type ('nonterminal, 'terminal) pe =
| Empty
| T of t
| N of n
| Seq of list
| Choose of list
| Star of e
| Not of e;;

type ('nonterminal, 'terminal) pe_tree =
| Is_empty
| Leaf of t
| Node of (n,tree)
| Sequence of list
| Repeat of list
| Is_not of e;;

它只是说在第 14 个字符 0-1(这是 | Sequence of list 所在的位置)上存在语法错误,我不知道为什么!

最佳答案

type ('nonterminal, 'terminal) pe_tree = 
| Is_empty
| Leaf of t
| Node of (n * tree)
| Sequence of list
| Repeat of list
| Is_not of e;;

您使用 *定义产品类型,如 'a * 'b .虽然现在可能不太重要,但你应该知道 Node of 'a * 'bNode of ('a * 'b)是不同的。您可以将它们分别视为具有两个参数的变体类型,以及具有一个参数(元组)的变体类型。

还有一些其他的东西
  • 你需要定义什么 SequenceRepeat是一个列表。
  • 'nonterminal'terminal没有使用;除非它们用于幻像类型,我对此表示怀疑,否则它们可能应该用于签名的一部分。
  • 关于类型声明中的 OCaml 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4770660/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com