首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析Jison中的换行符

解析Jison中的换行符
EN

Stack Overflow用户
提问于 2014-12-10 12:13:54
回答 1查看 343关注 0票数 1

嗨,我是Jison的新手,正在努力学习它。我在http://techtonik.github.io/jison/try/上尝试使用联机jison解析器计算器代码。它对表达式很好。

代码语言:javascript
复制
5*PI^2. 

但是,当我在换行符上添加一个新表达式时,解析器将不接受换行符并尝试解析另一个表达式,就好像它在同一行上一样。

代码语言:javascript
复制
Input :
        5*PI^2
        23+56

Parser认为它是:

代码语言:javascript
复制
5*PI^223+56

这失败了,因此我想知道如何在jison中解析换行符。

EN

回答 1

Stack Overflow用户

发布于 2015-05-01 01:25:22

这里的问题是Jison解析器需要一个表达式来解析,并且它试图评估整个文本作为一个整体是否有效。在本例中,您给出的是两个单独的表达式,它们不能正确地一起计算,这就是它失败的原因。例如,如果你评估

代码语言:javascript
复制
5*PI^2
+
23+56

那就没问题了。这是因为Jison试图解析给定的整个值,并允许您将复杂表达式拆分成多行。

但是,如果您愿意的话,这并不能阻止您单独评估行。不是将解析函数从字段中传递给整个文本,而是使用JavaScript的字符串拆分方法(在新行字符‘\n’上拆分)将文本拆分到数组中,然后循环遍历并将每一行内容分别传递给解析函数。

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

https://stackoverflow.com/questions/27400739

复制
相关文章

相似问题

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