【发布时间】:2010-09-17 22:36:49
【问题描述】:
在开发一门新语言的过程中。如何将“LALR 解析器”、“抽象语法树”、“上下文无关语法”等“高级”概念与特定语法规则“A -> B”等其他“低级”概念联系起来.
我的意思是某种元语言关系,或类似的。有什么想法或建议可以查看有关此主题的更多信息?请随时改写我的问题以澄清问题。
任何帮助将不胜感激。
【问题讨论】:
-
我不确定我是否理解,您正在寻找您的语法产品和解析器之类的东西之间的联系?它非常广泛,你能缩小你的问题吗?例如,LALR 解析器的一般工作原理等。我可以顺便推荐这本书 en.wikipedia.org/wiki/Dragon_Book_(computer_science) 非常好,并且易于理解。也许你已经有类似的东西了?
-
这个问题相当晦涩,也许有几个例子可以说明一些问题。作为关系,我说的是(在 OOP 的上下文中)这样的关系: - LALR 解析器从“抽象”解析器“继承” - MyParser “实现” LALR 解析器 - MyParser “识别” MyGrammar - MyGrammar “组合”通过一组“描述”我的商业语言的规则。尝试将我的业务的这些概念与将其描述为领域特定语言的元素联系起来是否有意义?非常感谢您抽出宝贵时间和参考书。
标签: compiler-construction metaprogramming language-design dsl