Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What makes Ometa special? [closed]

Tags:

Ometa is "a new object-oriented language for pattern matching." I've encountered pattern matching in languages like Oz tools to parse grammars like Lexx/Yacc or Pyparsing before. Despite looking at example code, reading discussions, and talking to a friend, I still am not able to get a real understanding of what makes Ometa special (or at least, why some people think it is). Any explanation?

like image 678
Brian Avatar asked Sep 19 '08 23:09

Brian


People also ask

What is special about Omega in Bad Batch?

But in the pilot of Disney+'s The Bad Batch, Omega, a young girl experiences it for the first time, just as we did. It's more something evoking the fan experience. It's a symbol of Omega paving her own path, one that would otherwise be spent as the base code for clones.

Does Omega have any special abilities?

Omega's abilitiesFiring a blaster is a skill that even young clones are taught, as Boba discovers in his time infiltrating the Republic, yet she seems to have mastered it with precisely zero training. She also has exceptional sensitivity, knowing Crosshair's actions before he even does and empathizing with him.

Why is Omega A girl in Bad Batch?

Even though Omega's a clone born on Kamino like the rest of the clone army, it's explained that she's the result of a genetic mutation even more extreme than the ones displayed by the members of the Bad Batch. For one thing, she's a girl while the rest of the clones are all male.

Is Omega a female clone of Jango Fett?

For other uses, see Omega (disambiguation). Omega was an unmodified, yet enhanced human female clone created from the genetic template of the Mandalorian bounty hunter Jango Fett who lived in the years following the Clone Wars.


2 Answers

Also, most important to me, the Squeak port of Ometa allows for left-recursive rules.

From its PEG heritage it gets backtracking and unlimited lookahead. Memoization of previous parse results allows for linear parse times (nearly all the time (*)).

Higher-order productions allow one to easily refactor a grammar.

This paper - Packrat Parsers Can Support Left Recursion - explains the left recursive properties.

(*) Section 5 of the paper explains that one can suffer superlinear parse times, but this problem doesn't manifest in practical grammars.

like image 68
Frank Shearar Avatar answered Oct 13 '22 01:10

Frank Shearar


It's a metalanguage, from what I can tell. You can create new language constructs, and create DSLs; but the most compelling thing is that you can subclass from existing parsers to extend a language. That's what I can remember about it, anyway.

I found this to be interesting: http://www.moserware.com/2008/06/ometa-who-what-when-where-why.html

like image 30
TraumaPony Avatar answered Oct 13 '22 01:10

TraumaPony