asdlGen Reference Manual

1. Introduction
2. Invocation
2.1. Common Options
2.2. Language Specific Options
3. Input Syntax
3.1. Lexical Tokens
3.2. Module Syntax
3.3. Type Definitions
3.3.1. Primitive Types
3.3.2. Product Types
3.3.3. Sum Types
3.3.3.1. The Rosetta Stone for Sum Types
3.3.3.2. Sum Types as Enumerations
3.3.4. Field Labels
3.3.5. Type Qualifiers
3.3.6. Attributes
3.4. View Syntax
3.4.1. Basic Syntax
3.4.2. Sugared Syntax
4. Using the Code Produced
4.1. Memory Management
4.2. Cyclic Data Structures Caveat
4.3. Constructing Data Structures
4.4. De-constructing Data Structures
5. Views
5.1. Interpretation of View Entry Values
5.2. Adding User Code
5.3. Other Properties
5.4. Choosing a Different Representation
5.4.1. Examples
6. Pickles
6.1. User Visible Interface
6.2. Pretty Printing Pickles
6.3. Pickle Format Details
7. Support Code
7.1. Required for All Languages
7.2. BigNums
7.3. Lists and Options
7.4. Note about --mono_types=false for C