A Java 1.5 Parser with AST generation and visitor support. The AST records the source code structure, javadoc and comments. It is also possible to change the AST nodes or create new ones to modify the source code.
Main features
light weight
good performance
easy to use
AST can be modified
AST can be created from scratch
This parser was created using javacc (the java compiler compiler). All the nodes of the AST, visitors and other features was coded manually using the Eclipse IDE.
FParsec is an F# adaptation of Parsec. It can parse context-sensitive, infinite look-ahead grammars. The basic idea behind combinator parsing is to compose parsers for higher-level grammar expressions from simple atomic parsers. A parser combinator library provides those predefined atomic parsers and the means to combine them into larger units. In the case of FParsec all parsers are F# functions, functions that can be combined with higher-level functions, so-called "combinators". The parser combinator approach as implemented by FParsec has a number of advantages * Power. Since parsers are first-class values within the language, users can draw on the full power of F# to implement their parsers. * Extensibility. FParsec has a modular design that is very amenable to extensions. No matter how complicated your grammar is, you will always be able to parse it * Quality of error messages. Parsers implemented with FParsec generate intelligible error messages