Project Description
An implementation of OMeta that runs on .net.

From the paper that introduced OMeta, it is ".. a new object-oriented language for pattern matching. OMeta is based on a variant of Parsing Expression Grammars (PEGs) —a recognition based foundation for describing syntax— [that has been] extended to handle arbitrary kinds of data.... OMeta’s general-purpose pattern matching provides a natural and convenient way for programmers to implement tokenizers, parsers, visitors, and tree transformers, all of which can be extended in interesting ways using familiar object-oriented mechanisms. This makes OMeta particularly well-suited as a medium for experimenting with new designs for programming languages and extensions to existing languages."

More information about the OMeta language can be found at Alessandro Warth's page. In addition, you might be interested in watching the video presentation of Alessandro's OMeta keynote at Smalltalk Solutions 2008 . Alessandro jokingly referred to OMeta# in the keynote as feeling sorry for me since I'm using such a statically typed language like C# to implement it. :-)

For more information specifically about OMeta#, see my blog

  1. OMeta#: Who? What? When? Where? Why?
  2. Building an Object-Oriented Parasitic Metalanguage
  3. Meta-FizzBuzz

Community Content

  1. Getting started with OMeta# by James Gregory
Last edited Oct 23 2008 at 2:01 AM by jeffmoser, version 11
Comments
leppie wrote  Jun 24 2008 at 8:31 AM 
Looks interesting :)

PS: The link to Alessandro Warth's page is broken (contains url: prefix).

jeffmoser wrote  Jun 24 2008 at 2:07 PM 
leppie: Thanks! I went ahead and fixed the link. I'm still a CodePlex newbie :)

bcambel wrote  Aug 1 2008 at 8:35 PM 
Hi Jeff, the who? what ? when link seems to be broken also.
I came here through your latest blog post[Building an Object-Oriented Parasitic Metalanguage] , and what I want to say is , I am pretty excited.. hope to see more
Good luck and thanks !

jeffmoser wrote  Aug 2 2008 at 12:53 AM 
bcambel: Oops. I think I've now fixed all the links. Thanks for letting me know about the problem.

Thanks also for the encouragement. Try out the unit tests and feel free to make recommendations via my blog or through discussions/issues.

Updating...
© 2006-2009 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | CodePlex Blog | Version 2008.12.9.14291