# Package org.apache.avro.io.parsing

Implementation of Avro schemas as LL(1) grammars.

See: Description

Interface Summary
Parser.ActionHandler: The parser knows how to handle the terminal and non-terminal symbols.
SkipParser.SkipHandler: The clients implement this interface to skip symbols and actions.

Class Summary
JsonGrammarGenerator: The class that generates a grammar suitable to parse Avro data in JSON format.
Parser: Parser is the class that maintains the stack for parsing.
ResolvingGrammarGenerator: The class that generates a resolving grammar to resolve between two schemas.
SkipParser: A parser that capable of skipping as well read and write.
Symbol: Symbol is the base of all symbols (terminals and non-terminals) of the grammar.
Symbol.Alternative
Symbol.DefaultStartAction
Symbol.EnumAdjustAction
Symbol.EnumLabelsAction
Symbol.ErrorAction
Symbol.FieldAdjustAction
Symbol.FieldOrderAction
Symbol.ImplicitAction
Symbol.IntCheckAction
Symbol.Repeater
Symbol.ResolvingAction
Symbol.Root
Symbol.Sequence
Symbol.SkipAction
Symbol.UnionAdjustAction
Symbol.WriterUnionAction
ValidatingGrammarGenerator: The class that generates validating grammar.

Enum Summary
Symbol.Kind

## Package org.apache.avro.io.parsing Description

Implementation of Avro schemas as LL(1) grammars.

See parser documentation for details on how this is achieved.

The classes in this package are used by `ValidatingEncoder`, `ValidatingDecoder`, `ResolvingDecoder`, `JsonEncoder` and `JsonDecoder`,

Unless one plans to generate a variation of the grammar or use a grammar, one not need to understand these classes.