pegjs相关内容

如何扩展默认的 PEG.js 算术示例以允许多个表达式而不是单个表达式?

作为解析器的一部分,我想添加算术和布尔表达式.我想在 https://pegjs.org/online 上采用默认的 PEG.js 示例,但问题是那个解析器是递归的,你不能写两行或更多行: 例如这是有效的 JavaScript: 2 * (3 + 4)2 * (3 + 4)2 * (3 + 4)+ 10 如您所见,有 3 个表达式,行尾不会终止它们.但是对于 PEG.js,它们需要显式编 ..
发布时间:2021-06-14 19:41:26 前端开发

Peg.js引擎在进行正则表达式前瞻后会退步吗?

根据regular-expressions.info的环顾四周,引擎在进行前瞻后退了一步: 让我们再看一次内部,以确保您了解 前瞻的含义.让我们应用q(?= u)i退出.这 提前查找现在是正数,其后是另一个标记.同样,q 匹配q和u匹配u.同样,前瞻的匹配必须是 丢弃,因此引擎从字符串中的i返回到u.这 前瞻成功,因此引擎继续执行i.但是我不能 匹配你因此,此匹配尝试失败.其余所有尝试均失败 ..
发布时间:2020-07-01 05:08:41 其他开发

解析布尔表达式而无需左手递归

我正在尝试匹配 f(some_thing) == 'something else' f(some_thing)是一个函数调用,它是一个表达式 == 是布尔运算符 “其他" 是一个字符串,它也是一个表达式 因此布尔表达式应为 expression operator expression 问题是我不知道如何在没有左递归的情况下做到这一点 这些是我的规则 expres ..
发布时间:2020-05-25 01:02:59 其他开发

用PEG.js解析完整的数学表达式

我正在尝试扩展 PEG.js 的示例语法,用于解析所有4个数学表达式我的在线BASIC口译实验的操作员: http://www.dantonag.it/basicjs/basicjs.html 但并非所有表达式都被正确解析。 这是我的PEG语法: expression = additive additive = left:multiplicative atag : ..
发布时间:2019-06-12 12:57:15 前端开发