0

我正在尝试使用 nearley.js 为类似 ini 的文件编写解析,不同之处在于字符串值可能包含特殊的控制符号。例如 ^y 表示此符号后面的文本必须为黄色,^b - 蓝色,&i - 斜体。

我使用 Nearley 游乐场(http://omrelli.ug/nearley-playground/)并从非常基本的价值语法开始:

VALUE -> FONT_MODIFIER | COLOR_MODIFIER | TEXT

TEXT -> [^\n\^\&]:+

FONT_MODIFIER -> "&" [iIbBsS]

COLOR_MODIFIER -> "^" [aAbBcCdDfFgGiIkKmMoOpPrRsSwWyYnN]

但是在几秒钟后我用随机文本(只是字母,比如“asdassad”)添加测试后,它给了我错误Possible infinite loop detected! Check your grammar for infinite recursion.

我究竟做错了什么?我只是看不到循环来自哪里。

4

0 回答 0