首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PetitParser解析以关键字开头的标识符?

如何使用PetitParser解析以关键字开头的标识符?
EN

Stack Overflow用户
提问于 2012-12-20 19:15:47
回答 1查看 144关注 0票数 5

我想通过使用PetitParser来解析编程语言中的标识符。

其中一个要求是标识符的名称不是关键字(例如null),因此null不是有效的标识符。

对于这种情况,我能想到的最小解析器是:

代码语言:javascript
复制
identifier := ('null' asParser not,  #word asParser plus)

但是,如果输入以关键字开头,则会失败:

代码语言:javascript
复制
identifier end parse: 'nullable'

你有什么建议来解决这个问题吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-20 22:21:40

代码语言:javascript
复制
identifier := ('null' asParser, #word asParser plus) /
    ('null' asParser not, #word asParser plus).

identifier end parse: 'nullable'. "=> #('null' #($a $b $l $e))"
identifier end parse: 'null'. "=>  'at 0'"
identifier end parse: 'foo' "=> #(nil #($f $o $o))"
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13970979

复制
相关文章

相似问题

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