谁能向我解释为什么不能使用上下文无关语法(Chomsky、EBNF 或语法图表)定义类似 XML 的元素?
问问题
196 次
2 回答
1
这个线程说:
XML 是一种由 SGML 定义的语言,它是一种受限形式的上下文无关语法(本质上是一种具有多种类型的 Dyck 语言)
于 2015-02-13T00:25:08.053 回答
0
实际上,XML 是一种上下文无关的语言,可以用任何能够解析 CFL 的东西来解析。节能灯是乔姆斯基 2 级。
它实际上已经完成了。W3使用 EBNF 表示法来“完全描述”(或定义)XML:
symbol ::= expression
XML 的一个子集,称为终端(树的“叶子”),可以使用简单的正则表达式进行解析。我什至不是在谈论现代正则表达式(例如在 Perl、PCRE 甚至 Java 中发现的那些)。
如果符号是常规语言的开始符号,则以大写字母开头,否则以小写字母开头。
还有一个网站使用 BNF 来解析 XML。(BNF 读起来有点混乱,尤其是在处理 XML 时,因为它的语法也使用尖括号。)
于 2016-04-14T01:02:06.263 回答