gpt4 book ai didi

javascript - 在 Jison 中制作数组

转载 作者:行者123 更新时间:2023-11-30 10:07:16 25 4
gpt4 key购买 nike

我正尝试在我的编程语言中添加对数组的支持,但遇到了问题

Array
: '[' Expr ("," Expr)* ']'
{{ $$ = ['ArrayList', $1]; }}
| '[' Expr ']'
{{ $$ = ['Array', $2]; }}
| '[' ']'
{{ $$ = ['Empty']; }}
;

然而,这不会解析“[1,2,3,4]”。 Jison 告诉我它需要“]”,但得到的是“,”。有什么想法吗?

最佳答案

递归未被解释或拒绝。您必须将它分成 2 个元素才能使其工作:

Array
: '[' Element ']'
{{ $$ = ['ArrayList', $2]; }}
;

Element
: Element "," Expr
{{ $$ = $1 + ',' + $3 }}
| Expr
{{ $$ = $1 }};

这会按预期返回一个数组:

["ArrayList","1,2,3,4"]

关于javascript - 在 Jison 中制作数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28511760/

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