IronMeta is an implementation of Alessandro Warth's OMeta metaprogramming system in C#. It provides a packrat parser generator that generates parsers for Parsing Expression Grammars that operate on arbitrary streams of objects.

Features

  • Now available via NuGet.
  • Although the most common use for IronMeta is to build parsers on streams of text for use in compiling or other text processing, IronMeta can generate pattern matchers (more accurately, transducers) for any input and output type. You can use C# syntax directly in grammar rules to specify objects to match.
  • IronMeta-generated parsers use strict Parsing Expression Grammar semantics; they use ordered choice, are greedy and do not backtrack through productions.
  • Generated parsers are implemented as C# partial classes, allowing you to keep ancillary code in a separate file from your grammar.
  • Unrestricted use of C# in semantic conditions and match actions.
  • Higher-order rules: you can pass rules as parameters, and then use them in a pattern.
  • Pattern matching on rule arguments: you can apply different rule bodies depending on the number and types of parameters.
  • Flexible variables: variables in an IronMeta rule may be used to: get the input of an expression they are bound to, get the result or result list of an expression they are bound to, match a rule passed as a parameter, pass a rule on to another rule.
  • As an enhancement over the base OMeta, IronMeta allows unlimited left-recursion, using Sergio Queiroz de Medeiros's unpublished algorithm for all rules, even within parameter matching.

Project Activity

See All Activity >

License

BSD License

Follow IronMeta

IronMeta Web Site

You Might Also Like
RMM Software | Remote Monitoring Platform and Tools Icon
RMM Software | Remote Monitoring Platform and Tools

Best-in-class automation, scalability, and single-pane IT management.

Don’t settle when it comes to managing your clients’ IT infrastructure. Exceed their expectations with ConnectWise RMM, our MSP RMM software that provides proactive tools and NOC services—regardless of device environment. With the number of new vulnerabilities rising each year, smart patching procedures have never been more important. We automatically test and deploy patches when they are viable and restrict patches that are harmful. Get better protection for clients while you spend less time managing endpoints and more time growing your business. It’s tough to locate, afford, and retain quality talent. In fact, 81% of IT leaders say it’s hard to find the recruits they need. Add ConnectWise RMM, NOC services and get the expertise and problem resolution you need to become the advisor your clients demand—without adding headcount.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
2
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5

User Reviews

There are no 3 star reviews.

Additional Project Details

Operating Systems

Windows

Intended Audience

Developers

User Interface

Command-line

Programming Language

C#

Related Categories

C# Object Oriented Software, C# Code Generators, C# Compilers, C# Libraries, C# Parser Generators

Registered

2009-05-08