【发布时间】:2013-11-18 19:46:11
【问题描述】:
是否可以编写一个令牌的 Backus-Naur 形式描述:
- 以双引号开头
- 以双引号结尾
- 可以包含内部 双引号
?
例如,我有一个名为 MESSAGE 的编程结构,它看起来像:
MESSAGE “她对他说“你好””
这可以用 LL(1) Backus-Naur 形式来描述吗?
编辑:假设我通过简单地迭代每个字符进行解析,一次一个,使用一个前瞻指针。
输入字符串就是整个内容,包括 MESSAGE。
【问题讨论】:
-
我认为您没有提供足够的信息来说明您正在尝试做什么以获得明确的答案。
MESSAGE是输入的一部分吗? MESSAGE 可以跨越多行吗?你在解析什么,如何解析? -
你怎么知道 MESSAGE 结束的地方? iow,为什么。你的例子不是两个 MESSAGE 之间有一个单词 Hello 吗?
-
MESSAGE 是输入的一部分,但我已经知道如何在 BNF 中指定该部分。让我们假设它可以跨越多行(我正在研究以确定这是否正确,因为如果它不能,那么我可以解析到换行符)。我会更新问题,让它更清楚。