Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.misty.com!news.iecc.com!.POSTED!nerds-end From: Bogdan Kushnir Newsgroups: comp.compilers Subject: ANN: IronText Parsing Library for .Net Date: Thu, 12 Sep 2013 20:00:58 -0700 (PDT) Organization: Compilers Central Lines: 52 Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <13-09-004@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: leila.iecc.com 1379081072 9860 64.57.183.58 (13 Sep 2013 14:04:32 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Fri, 13 Sep 2013 14:04:32 +0000 (UTC) Keywords: tools, available, parse Posted-Date: 13 Sep 2013 10:04:32 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:965 Hello everyone, IronText is a DSL and Programming Language implementation library for .Net with a remarkably low learning/maintenance threshold and at the same time powerful enough to parse any context-free language. Resources --------- Source, Samples and Documentation: http://github.com/sucaba/IronTextLibrary/ NuGet Package: http://www.nuget.org/packages/IronText/ Current Version --------------- 0.9.1.0 (1.0 beta) Features -------- - Syntax and lexical rules are described entirely using .Net type system with custom attributes - Supports any context-free language including languages defined by ambiguous grammars - Supports vocabularies of lexical and syntax rules which can be reused in different languages - Generic methods can be used as a 'template rules' - Allows defining language abstraction using interfaces and abstract classes which can have multiple implementations for different parsing tasks. - Language can be inherited from another without access to a source code of the base language. - Language can be nested within other language with compatible lexical rules. - Built-in error handling - Built-in line, column counting - Scanner supports *modes* to handle complex lexical elements like nested comments. Technical Details ----------------- Parser: LALR1, RNGLR. Scanner: DFA compiled to a RE2C-like .net code.