ParseGen is rule driven, parser generator for FPC / Lazarus. ParseGen is design using FPC, FCL and Lazarus and it mainly supports for Windows and Linux operating systems.
ParserGen scanner is slight DFA (deterministic finite automaton) state machine. This scanner can operate on case sensitive or case-insensitive modes and it can easily configure/extend through given class structure. The parser of the ParseGen is recursive descent parser. ParseGen generate this parser using high-level source language and this language is logically similar to EBNF grammar. For example, in ParseGen, definition for "term" and "expression" can be written like this:
This parser generator is mainly design for FPC / Lazarus, but it can use with Delphi with some minor changes. ParseGen is an open source software project and it is based on GNU General Public License version 3.
Most of the sample scripts and demo applications of this project are based on Niklaus Writh's Algorithms + Data Structures = Programs book and PL/0 programming language. In demo project we implement Writh's PL/0 parser using ParseGen and it is available in main project bundle.
ParseGen is available to download at github.com/dilshan/parsegen and documentation for source language is available in here.
ParserGen scanner is slight DFA (deterministic finite automaton) state machine. This scanner can operate on case sensitive or case-insensitive modes and it can easily configure/extend through given class structure. The parser of the ParseGen is recursive descent parser. ParseGen generate this parser using high-level source language and this language is logically similar to EBNF grammar. For example, in ParseGen, definition for "term" and "expression" can be written like this:
define: expression
optional: "-","+"
end
term
loop: "-","+"
term
end
end
define: term
factor
loop: "*","/"
factor
end
end
This parser generator is mainly design for FPC / Lazarus, but it can use with Delphi with some minor changes. ParseGen is an open source software project and it is based on GNU General Public License version 3.
Most of the sample scripts and demo applications of this project are based on Niklaus Writh's Algorithms + Data Structures = Programs book and PL/0 programming language. In demo project we implement Writh's PL/0 parser using ParseGen and it is available in main project bundle.
ParseGen is available to download at github.com/dilshan/parsegen and documentation for source language is available in here.
Comments