Contents
Chapter 1 Introduction
1.1 Obtaining and installing
Frown
1.2 Reporting bugs
1.3 License
1.4 Credits
Chapter 2 Quick start
Chapter 3 Tour de
Frown
3.1 Preliminaries: monads
3.2 Basic features
3.2.1 Pure grammars
3.2.2 Attributes
3.2.3 Interfacing with a lexer
3.2.4 Monadic actions
3.2.5 Backtracking parsers
3.2.6 Precedences and associativity
3.2.7 Multiple start symbols
3.2.8 Monadic attributes
3.3 Error reporting and correction
3.3.1 Monadic lexers
3.3.2 Error reporting
3.3.3 Expected tokens
3.3.4 Error correction
3.4 Advanced features
3.4.1 Rule schemes
3.4.2 A second look at terminal symbols
3.4.3 Look-ahead
3.4.4 Debugging and tracing
3.4.5 Output formats and optimizations
Chapter 4 Tips and tricks
4.1 Irrefutable patterns
4.2 Inherited attributes
4.3 Dealing with conflicts
4.4 Multiple attributes
Chapter 5 Reference manual
5.1 Lexical syntax of
Frown
5.2 Syntax of
Frown
5.3 Predefined schemes
5.3.1 Optional elements
5.3.2 Repetition of elements
5.3.3 Repetition of elements separated by a second element
5.3.4 Repetition of possibly empty elements separated by a second element
5.4 Output formats
5.5 Invocation and options