Skip to main content
QUICK REVIEW

[论文解读] MediaWiki Grammar Recovery

Vadim Zaytsev|arXiv (Cornell University)|Jul 23, 2011
Natural Language Processing Techniques参考文献 44被引用 7
一句话总结

本文从基于PHP的MediaWiki解析器中全面恢复并逆向工程了MediaWiki语法,将原本零散、不一致且充满错误的语法片段转化为一份清晰、可操作的BNF格式二级语法。该成果实现了跨平台的可靠解析、验证、迁移与测试,未来计划扩展至记法标准化、歧义性解决及词法优化。

ABSTRACT

The paper describes in detail the recovery effort of one of the official MediaWiki grammars. Over two hundred grammar transformation steps are reported and annotated, leading to delivery of a level 2 grammar, semi-automatically extracted from a community created semi-formal text using at least five different syntactic notations, several non-enforced naming conventions, multiple misspellings, obsolete parsing technology idiosyncrasies and other problems commonly encountered in grammars that were not engineered properly. Having a quality grammar will allow to test and validate it further, without alienating the community with a separately developed grammar.

研究动机与目标

  • 从先前零散且不一致的基于PHP的MediaWiki解析器中逆向工程并重构MediaWiki语法。
  • 生成一份可用于解析、分析与转换MediaWiki内容的清晰、可操作的BNF格式语法。
  • 通过提供可靠的语法基础,支持自动化Wiki迁移、静态验证与解析器兼容性测试。
  • 为未来语法适应、记法标准化以及与Rascal和ANTLR等外部工具的集成铺平道路。
  • 解决wiki标记语言(尤其是MediaWiki)缺乏可访问、正确且可维护语法的问题。

提出的方法

  • 从MediaWiki解析器的原始PHP源码中恢复语法,其中包含多种记法的孤立片段。
  • 识别并修正语法与语义错误,包括拼写错误、缺失的元符号及不一致的记法。
  • 将恢复的语法转化为结构一致且正确运行的二级BNF语法。
  • 保留并部分重新整合原始源码及HTML DTD中的词法定义与实体引用。
  • 应用语法工程技巧,如语法适应、转换与验证,以确保语法的鲁棒性与可重用性。
  • 使用形式化语法分析检测歧义与结构问题,未来工作计划予以解决。

实验结果

研究问题

  • RQ1如何将从生产级解析器中提取的大型、零散且不一致的语法逆向工程为一致、可操作的形式化语法?
  • RQ2当源文档不完整或错误时,哪些技术能有效恢复并验证语法?
  • RQ3如何组织恢复的语法,以支持在不同Wiki平台上的解析、迁移、验证与测试?
  • RQ4将过程式解析器实现转换为形式化、机器可处理的语法时,面临的主要挑战是什么?
  • RQ5如何将语法恢复扩展至词法分析、实体处理,并与EBNF或ANTLR等外部形式化体系集成?

主要发现

  • 恢复的语法是一份清晰、一致且可操作的二级BNF语法,适合与外部工具集成并进一步转换。
  • 原始语法片段在记法上不一致,错误频发,几乎无法在未恢复的情况下使用。
  • 恢复过程成功统一了分散的语法片段,并修正了语法与语义上的不一致。
  • 词法定义与HTML实体引用得以保留并部分重构,为三级语法奠定了基础。
  • 本项目证明,从生产级解析器代码中恢复语法是可行的,并可产出一份可用且可维护的语法,用于Wiki内容处理。
  • 恢复的语法支持未来应用,如静态分析、解析器测试与跨平台Wiki迁移。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。