当前位置:  开发笔记 > 前端 > 正文

是什么让Ometa与众不同?

如何解决《是什么让Ometa与众不同?》经验,为你挑选了2个好方法。

Ometa是"一种新的面向对象的模式匹配语言".我在Oz工具等语言中遇到了模式匹配,以解析之前的Lexx/Yacc或Pyparsing等语法.尽管查看示例代码,阅读讨论以及与朋友交谈,我仍然无法真正理解Ometa的特殊之处(或者至少为什么有些人认为是这样).任何解释?



1> Frank Sheara..:

此外,对我来说最重要的是,Ometa的Squeak端口允许左递归规则.

从它的PEG遗产来看,它得到了回溯和无限的前瞻.先前解析结果的记忆允许线性解析时间(几乎所有时间(*)).

高阶制作允许人们轻松地重构语法.

本文 - Packrat Parsers可以支持左递归 - 解释左递归属性.

(*)论文的第5节解释了一个人可能遭受超线性解析时间,但这个问题并没有在实际语法中体现出来.



2> TraumaPony..:

从我所知道的,这是一种元语言.您可以创建新的语言结构,并创建DSL; 但最引人注目的是你可以从现有的解析器中继承子语言来扩展语言.无论如何,这就是我记得的.

我发现这很有趣:http://www.moserware.com/2008/06/ometa-who-what-when-where-why.html

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有