About
Alpag is a
lexer and
parser generator for
C# language.
It is a modern replacement for
lex / yacc pair of lexer and parser generators.
It is
free for commercial and non-commercial use (
see license for details)
Key features
- generating DFA lexers
- generating LR(1)-class parsers
- producing human-like-written C# code
- no dependencies on external libraries
- code generated with "pay for what you use" approach
- Unicode support
- rich debug capabilities
First steps
Downloads
Alpag does not come with installer.
Just download it and unpack in your working directory or somewhere in your path.
Downloads include:
Manual
Key source of information is the
manual.
Here is a quick overview of its key sections:
Introduction - absolute minimum on how lexer and parser works.
Read it if you are completely new to lexers and parsers.
Otherwise skip to next section.
Input file format covers file format including alpag specific conventions.
A must read, even if you already know lex/yacc syntax.
Lexer and
Parser are main parts of manual.
Heavy reading, long and boring, but containing lots of useful information.
Consider these chapters an 'ultimate reference'.
Integration covers integration of lexer and parser with each other and with surrounding code.
Examples with heavily over-commented example input files.
Browse it for configuration options that you might not discover yourself.