【发布时间】:2014-06-07 09:23:27
【问题描述】:
对于 MediaWiki 标记(用于创建和编辑 Wikipedia 文章的标记语言)是上下文无关的还是上下文相关的,似乎存在分歧。
见http://www.mediawiki.org/wiki/User_talk:Kanor#Response_to_article_in_Meatball
我认为它显然是上下文相关的。这方面的一个例子是wikimarkup lists 中的终端字符。列表形成如下:
* One thing
* Another thing
* Yet another thing
列表项的结束由回车指示。
但是,如果列表嵌套在表格或嵌入中,则列表项的 end 可能是回车符,也可能是表格/嵌入终端符号。例如,以下似乎是有效的标记:
{{Infobox person
* One thing
* Another thing
* Yet another thing}}
但是,解析器需要跟踪 上下文,例如在确定最后一个列表项的 end 时,当它遇到 }} 符号而不是结束行(回车)字符时,它当前嵌套在嵌入中的事实。
那么...这怎么可能不上下文相关?
【问题讨论】:
-
我不会称之为上下文相关的。也许状态机是一种更好的看待它的方式。
标签: parsing mediawiki grammar context-free-grammar