ClearParse is a flexible engine that can be used for any parsing task including interpreting or compiling programming languages, analyzing or converting data files, processing command line parameters and user input, implementing markup languages and scripts, natural language processing (NLP), and more.
CodeWorker is a versatile parsing tool and a universal source code generator. It interprets a scripting language for producing reusable, tailor-made, evolving, and reliable IT systems with a high level of automation. The file formats to parse are described in an extended-BNF syntax. Template-based scripts drive the writing of patterns for generating code or text. The code generation knows how to preserve protected areas with hand-typed code and provides code expansion, source-to-source translation, and program transformation. It provides a native translation of CodeWorker's scripts in C++.
Youhp3 (Youpee's One Unlimited HTML PreProcessor) is an HTML preprocessor that allows you to embed code of any script language, as well as calling any external program to generate text files. It is specifically designed to work with HTML/XML documents, and provide traditional features, such as define, include, macro, conditional tests, and loop.
Grammatica is a parser generator (compiler compiler) for C# and Java. It improves upon similar tools (like yacc and ANTLR) by creating well-commented and readable source code, by having automatic error recovery and detailed error messages, and by support for testing and debugging grammars without generating source code. Grammatica supports LL(k) grammars with an unlimited number of look-ahead tokens.
Kelbt generates backtracking LALR parsers. A distinguishing characteristic of Kelbt is that it introduces a class of actions called undo actions which are invoked as the backtracker undoes parsing. These allow the user to revert any side effects of forward parsing. Kelbt enables a user-controlled parsing strategy approximating that of generalized recursive-descent parsing. This makes it easy to resolve language ambiguities by ordering the grammar productions of a nonterminal according to precedence.
JTLT is a general text based templating system that is very easy to use and powerful. It can be used for almost anything, including code generation for translators/compilers and HTML output for Java servlets. It features replaceable keys, nested block structures, an extensible macro system (even keys are implemented as macros), a separation of parsing and output generation, a separation of macro settings and parsing, in-memory caching of parsed templates, weak typing, and extensive documentation.
Jamon is a text template engine for Java that is useful for generating dynamic HTML, XML, or any text-based content. It has a rich feature set that supports encapsulation, parameterization, functional decomposition, and reuse of presentation logic. Because it is compiled to non-reflective Java code, and statically type-checked, Jamon is ideally suited to supporting refactoring of template-based UI applications. Templates declare the arguments they require for rendering, including dynamic template content ("fragments"), and are translated into Java classes with public methods whose signatures reflect the arguments declared in the templates. This provides compile-time type- checking as well as excellent performance.
PyBison is a sophisticated yet easy-to-use parser creation toolkit for Python that interfaces directly to Bison (yacc)-based parsers. It provides full LALR(1) grammar support, allowing for simple parsing tasks through to writing compilers for high-level languages. Parser code is automatically generated from rules within user-created Parser classes (written in Python), and then, compiled, yacc'ed and linked into a shared library, which is loaded into the running process. All this happens automatically. When the parser runs, it connects directly with the yyparse() routine, and takes event callbacks upon parse targets being reached.