| Token | Idl. AnyIdentifier() | 
| Schema | Idl. ArrayType() | 
| Protocol | Idl. CompilationUnit()The input to Idl is a CompilationUnit, which is currently
 just a single Protocol. | 
| List<String> | Idl. EnumBody() | 
| void | Idl. EnumConstant(List<String> symbols) | 
| Schema | Idl. EnumDeclaration() | 
| void | Idl. ErrorList(List<Schema> errors) | 
| void | Idl. FieldDeclaration(List<Schema.Field> fields) | 
| Schema | Idl. FixedDeclaration() | 
| void | Idl. FormalParameter(List<Schema.Field> fields) | 
| Schema | Idl. FormalParameters() | 
| String | Idl. Identifier() | 
| Protocol | Idl. ImportIdl() | 
| Protocol | Idl. ImportProtocol() | 
| Schema | Idl. ImportSchema() | 
| JsonNode | Idl. Json() | 
| JsonNode | Idl. JsonArray() | 
| void | Idl. JsonElements(ArrayNode a) | 
| void | Idl. JsonFields(ObjectNode o) | 
| JsonNode | Idl. JsonObject() | 
| void | Idl. JsonPair(ObjectNode o) | 
| String | Idl. JsonString() | 
| Schema | Idl. MapType() | 
| Protocol.Message | Idl. MessageDeclaration(Protocol p,
                  Map<String,JsonNode> props) | 
| String | Idl. MessageDocumentation() | 
| Schema | Idl. NamedSchemaDeclaration(Map<String,JsonNode> props) | 
| Schema | Idl. PrimitiveType() | 
| String | Idl. PropertyName() | 
| void | Idl. ProtocolBody(Protocol p) | 
| Protocol | Idl. ProtocolDeclaration() | 
| Schema | Idl. RecordDeclaration() | 
| Schema | Idl. ReferenceType()A reference to some other existing type | 
| Schema | Idl. ResultType()Result types are like other types, except we provide "void" as
 an alias of "null" | 
| void | Idl. SchemaProperty(Map<String,JsonNode> properties) | 
| Schema | Idl. Type() | 
| Schema | Idl. UnionDefinition() | 
| void | Idl. VariableDeclarator(Schema type,
                  List<Schema.Field> fields) |