Avro C#
|
Alternative symbol. More...
Public Member Functions | |
Alternative (Symbol[] symbols, string[] labels) | |
Initializes a new instance of the Symbol.Alternative class. More... | |
virtual Symbol | GetSymbol (int index) |
Returns the symbol at the given index. More... | |
virtual string | GetLabel (int index) |
Returns the label at the given index. More... | |
virtual int | Size () |
Returns the size. More... | |
virtual int | FindLabel (string label) |
Returns the index of the given label. More... | |
Public Member Functions inherited from Avro.IO.Parsing.Symbol | |
virtual int | FlattenedSize () |
Returns the flattened size. More... | |
Protected Member Functions | |
override Symbol | Flatten (IDictionary< Sequence, Sequence > map, IDictionary< Sequence, IList< Fixup >> map2) |
Flatten the given sub-array of symbols into a sub-array of symbols. | |
Protected Member Functions inherited from Avro.IO.Parsing.Symbol | |
Symbol (Kind kind) | |
Constructs a new symbol of the given kind. More... | |
Symbol (Kind kind, Symbol[] production) | |
Constructs a new symbol of the given kind and production. More... | |
Properties | |
Symbol[] | Symbols [get] |
The symbols. More... | |
string[] | Labels [get] |
The labels. More... | |
Properties inherited from Avro.IO.Parsing.Symbol | |
Kind | SymKind [get] |
The kind of this symbol. | |
Symbol[] | Production [get] |
The production for this symbol. If this symbol is a terminal this is null . Otherwise this holds the the sequence of the symbols that forms the production for this symbol. The sequence is in the reverse order of production. This is useful for easy copying onto parsing stack. More... | |
static Symbol | Null = new Terminal("null") [get] |
The terminal symbols for the grammar. More... | |
static Symbol | Boolean = new Terminal("boolean") [get] |
Boolean More... | |
static Symbol | Int = new Terminal("int") [get] |
Int More... | |
static Symbol | Long = new Terminal("long") [get] |
Long More... | |
static Symbol | Float = new Terminal("float") [get] |
Float More... | |
static Symbol | Double = new Terminal("double") [get] |
Double More... | |
static Symbol | String = new Terminal("string") [get] |
String More... | |
static Symbol | Bytes = new Terminal("bytes") [get] |
Bytes More... | |
static Symbol | Fixed = new Terminal("fixed") [get] |
Fixed More... | |
static Symbol | Enum = new Terminal("enum") [get] |
Enum More... | |
static Symbol | Union = new Terminal("union") [get] |
Union More... | |
static Symbol | ArrayStart = new Terminal("array-start") [get] |
ArrayStart More... | |
static Symbol | ArrayEnd = new Terminal("array-end") [get] |
ArrayEnd More... | |
static Symbol | MapStart = new Terminal("map-start") [get] |
MapStart More... | |
static Symbol | MapEnd = new Terminal("map-end") [get] |
MapEnd More... | |
static Symbol | ItemEnd = new Terminal("item-end") [get] |
ItemEnd More... | |
static Symbol | WriterUnion = new WriterUnionAction() [get] |
WriterUnion More... | |
static Symbol | FieldAction = new Terminal("field-action") [get] |
FieldAction - a pseudo terminal used by parsers More... | |
static Symbol | RecordStart = new ImplicitAction(false) [get] |
RecordStart More... | |
static Symbol | RecordEnd = new ImplicitAction(true) [get] |
RecordEnd More... | |
static Symbol | UnionEnd = new ImplicitAction(true) [get] |
UnionEnd More... | |
static Symbol | FieldEnd = new ImplicitAction(true) [get] |
FieldEnd More... | |
static Symbol | DefaultEndAction = new ImplicitAction(true) [get] |
DefaultEndAction More... | |
static Symbol | MapKeyMarker = new Terminal("map-key-marker") [get] |
MapKeyMarker More... | |
Additional Inherited Members | |
Public Types inherited from Avro.IO.Parsing.Symbol | |
enum | Kind { Kind.Terminal, Kind.Root, Kind.Sequence, Kind.Repeater, Kind.Alternative, Kind.ImplicitAction, Kind.ExplicitAction } |
The type of symbol. More... | |
Static Public Member Functions inherited from Avro.IO.Parsing.Symbol | |
static Symbol | NewRoot (params Symbol[] symbols) |
A convenience method to construct a root symbol. More... | |
static Symbol | NewSeq (params Symbol[] production) |
A convenience method to construct a sequence. More... | |
static Symbol | NewRepeat (Symbol endSymbol, params Symbol[] symsToRepeat) |
A convenience method to construct a repeater. More... | |
static Symbol | NewAlt (Symbol[] symbols, string[] labels) |
A convenience method to construct a union. More... | |
Static Protected Member Functions inherited from Avro.IO.Parsing.Symbol | |
static Symbol | Error (string e) |
A convenience method to construct an ErrorAction. More... | |
static Symbol | Resolve (Symbol w, Symbol r) |
A convenience method to construct a ResolvingAction. More... | |
static void | Flatten (Symbol[] input, int start, Symbol[] output, int skip, IDictionary< Sequence, Sequence > map, IDictionary< Sequence, IList< Fixup >> map2) |
Flattens the given sub-array of symbols into an sub-array of symbols. Every Sequence in the input are replaced by its production recursively. Non-Sequence symbols, they internally have other symbols those internal symbols also get flattened. When flattening is done, the only place there might be Sequence symbols is in the productions of a Repeater, Alternative, or the symToParse and symToSkip in a UnionAdjustAction or SkipAction. More... | |
static int | FlattenedSize (Symbol[] symbols, int start) |
Returns the amount of space required to flatten the given sub-array of symbols. More... | |
Alternative symbol.
|
inline |
Initializes a new instance of the Symbol.Alternative class.
|
inlinevirtual |
Returns the index of the given label.
|
inlinevirtual |
Returns the label at the given index.
|
inlinevirtual |
Returns the symbol at the given index.
|
inlinevirtual |
Returns the size.
|
get |
The labels.
|
get |
The symbols.