Avro C#
Public Member Functions | Protected Member Functions | Properties | List of all members
Avro.IO.Parsing.Symbol.Alternative Class Reference

Alternative symbol. More...

Inheritance diagram for Avro.IO.Parsing.Symbol.Alternative:
Avro.IO.Parsing.Symbol

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...
 

Detailed Description

Alternative symbol.

Constructor & Destructor Documentation

◆ Alternative()

Avro.IO.Parsing.Symbol.Alternative.Alternative ( Symbol[]  symbols,
string[]  labels 
)
inline

Initializes a new instance of the Symbol.Alternative class.

Member Function Documentation

◆ FindLabel()

virtual int Avro.IO.Parsing.Symbol.Alternative.FindLabel ( string  label)
inlinevirtual

Returns the index of the given label.

◆ GetLabel()

virtual string Avro.IO.Parsing.Symbol.Alternative.GetLabel ( int  index)
inlinevirtual

Returns the label at the given index.

◆ GetSymbol()

virtual Symbol Avro.IO.Parsing.Symbol.Alternative.GetSymbol ( int  index)
inlinevirtual

Returns the symbol at the given index.

◆ Size()

virtual int Avro.IO.Parsing.Symbol.Alternative.Size ( )
inlinevirtual

Returns the size.

Property Documentation

◆ Labels

string [] Avro.IO.Parsing.Symbol.Alternative.Labels
get

The labels.

◆ Symbols

Symbol [] Avro.IO.Parsing.Symbol.Alternative.Symbols
get

The symbols.


The documentation for this class was generated from the following file: