Documentation
¶
Index ¶
- Constants
- func NewPos(p ybase.Pos) ybase.Pos
- func NewToken(t ybase.Token) ybase.Token
- func Parse(lexer *Lexer) int
- func SetDebug(level int)
- func VisitSwitch(visitor Visitor, v interface{})
- type Chord
- type ChordBase
- type ChordDegree
- type ChordList
- type ChordMeta
- type ChordMetadata
- type ChordOrRest
- type ChordSymbol
- type ChordValue
- type ChordValues
- type IterVisitor
- func (s *IterVisitor) All(root Node) iter.Seq[Node]
- func (s *IterVisitor) VisitChord(v *Chord)
- func (s *IterVisitor) VisitChordBase(v *ChordBase)
- func (s *IterVisitor) VisitChordDegree(v *ChordDegree)
- func (s *IterVisitor) VisitChordList(v *ChordList)
- func (s *IterVisitor) VisitChordMeta(v *ChordMeta)
- func (s *IterVisitor) VisitChordMetadata(v *ChordMetadata)
- func (s *IterVisitor) VisitChordSymbol(v *ChordSymbol)
- func (s *IterVisitor) VisitChordValue(v *ChordValue)
- func (s *IterVisitor) VisitChordValues(v *ChordValues)
- func (s *IterVisitor) VisitRest(v *Rest)
- type LexScanner
- type Lexer
- type MapVisitor
- func (s MapVisitor) Result() map[string]any
- func (s *MapVisitor) VisitChord(v *Chord)
- func (s *MapVisitor) VisitChordBase(v *ChordBase)
- func (s *MapVisitor) VisitChordDegree(v *ChordDegree)
- func (s *MapVisitor) VisitChordList(v *ChordList)
- func (s *MapVisitor) VisitChordMeta(v *ChordMeta)
- func (s *MapVisitor) VisitChordMetadata(v *ChordMetadata)
- func (s *MapVisitor) VisitChordSymbol(v *ChordSymbol)
- func (s *MapVisitor) VisitChordValue(v *ChordValue)
- func (s *MapVisitor) VisitChordValues(v *ChordValues)
- func (s *MapVisitor) VisitRest(v *Rest)
- type Node
- type Pos
- type Rest
- type Token
- type Visitor
- type VisitorDefault
- func (s *VisitorDefault) VisitChord(_ *Chord)
- func (s *VisitorDefault) VisitChordBase(_ *ChordBase)
- func (s *VisitorDefault) VisitChordDegree(_ *ChordDegree)
- func (s *VisitorDefault) VisitChordList(_ *ChordList)
- func (s *VisitorDefault) VisitChordMeta(_ *ChordMeta)
- func (s *VisitorDefault) VisitChordMetadata(_ *ChordMetadata)
- func (s *VisitorDefault) VisitChordSymbol(_ *ChordSymbol)
- func (s *VisitorDefault) VisitChordValue(_ *ChordValue)
- func (s *VisitorDefault) VisitChordValues(_ *ChordValues)
- func (s *VisitorDefault) VisitRest(_ *Rest)
Constants ¶
View Source
const COMMA = 57350
View Source
const EQUAL = 57360
View Source
const FLAT = 57353
View Source
const LBRA = 57348
View Source
const LCBRA = 57358
View Source
const METADATA = 57361
View Source
const NUMBER = 57354
View Source
const RBRA = 57349
View Source
const RCBRA = 57359
View Source
const REST = 57356
View Source
const SEMICOLON = 57351
View Source
const SHARP = 57352
View Source
const SLASH = 57347
View Source
const SYLLABLE = 57346
View Source
const SYMBOL = 57355
View Source
const UNDERSCORE = 57357
Variables ¶
This section is empty.
Functions ¶
func VisitSwitch ¶
func VisitSwitch(visitor Visitor, v interface{})
Types ¶
type Chord ¶
type Chord struct { Degree *ChordDegree `json:"degree" yaml:"degree"` Symbol *ChordSymbol `json:"symbol,omitempty" yaml:"symbol,omitempty"` Base *ChordBase `json:"base,omitempty" yaml:"base,omitempty"` Values *ChordValues `json:"values" yaml:"values"` Meta *ChordMeta `json:"meta,omitempty" yaml:"meta,omitempty"` }
func (*Chord) IsChordOrRest ¶
func (*Chord) IsChordOrRest()
type ChordBase ¶
type ChordBase struct {
Degree *ChordDegree `json:"degree" yaml:"degree"`
}
type ChordDegree ¶
type ChordDegree struct { Degree ybase.Token `json:"degree" yaml:"degree"` Accidental ybase.Token `json:"accidental,omitempty" yaml:"accidental,omitempty"` }
func (*ChordDegree) Accept ¶
func (s *ChordDegree) Accept(v Visitor)
func (*ChordDegree) IsNode ¶
func (*ChordDegree) IsNode()
type ChordList ¶
type ChordList struct {
List []ChordOrRest `json:"list" yaml:"list"`
}
type ChordMeta ¶
type ChordMeta struct {
Data []*ChordMetadata `json:"data,omitempty" yaml:"data,omitempty"`
}
type ChordMetadata ¶
type ChordMetadata struct { Key ybase.Token `json:"key" yaml:"key"` Value ybase.Token `json:"value" yaml:"value"` }
func (*ChordMetadata) Accept ¶
func (s *ChordMetadata) Accept(v Visitor)
func (*ChordMetadata) IsNode ¶
func (*ChordMetadata) IsNode()
type ChordOrRest ¶
type ChordOrRest interface {
IsChordOrRest()
}
type ChordSymbol ¶
func (*ChordSymbol) Accept ¶
func (s *ChordSymbol) Accept(v Visitor)
func (*ChordSymbol) IsNode ¶
func (*ChordSymbol) IsNode()
type ChordValue ¶
type ChordValue struct { Num ybase.Token `json:"num" yaml:"num"` Denom ybase.Token `json:"denom,omitempty" yaml:"denom,omitempty"` }
func (*ChordValue) Accept ¶
func (s *ChordValue) Accept(v Visitor)
func (*ChordValue) IsNode ¶
func (*ChordValue) IsNode()
type ChordValues ¶
type ChordValues struct {
Values []*ChordValue `json:"values" yaml:"values"`
}
func (*ChordValues) Accept ¶
func (s *ChordValues) Accept(v Visitor)
func (*ChordValues) IsNode ¶
func (*ChordValues) IsNode()
type IterVisitor ¶
type IterVisitor struct {
// contains filtered or unexported fields
}
func NewIterVisitor ¶
func NewIterVisitor() *IterVisitor
func (*IterVisitor) VisitChord ¶
func (s *IterVisitor) VisitChord(v *Chord)
func (*IterVisitor) VisitChordBase ¶
func (s *IterVisitor) VisitChordBase(v *ChordBase)
func (*IterVisitor) VisitChordDegree ¶
func (s *IterVisitor) VisitChordDegree(v *ChordDegree)
func (*IterVisitor) VisitChordList ¶
func (s *IterVisitor) VisitChordList(v *ChordList)
func (*IterVisitor) VisitChordMeta ¶
func (s *IterVisitor) VisitChordMeta(v *ChordMeta)
func (*IterVisitor) VisitChordMetadata ¶
func (s *IterVisitor) VisitChordMetadata(v *ChordMetadata)
func (*IterVisitor) VisitChordSymbol ¶
func (s *IterVisitor) VisitChordSymbol(v *ChordSymbol)
func (*IterVisitor) VisitChordValue ¶
func (s *IterVisitor) VisitChordValue(v *ChordValue)
func (*IterVisitor) VisitChordValues ¶
func (s *IterVisitor) VisitChordValues(v *ChordValues)
func (*IterVisitor) VisitRest ¶
func (s *IterVisitor) VisitRest(v *Rest)
type LexScanner ¶
type LexScanner struct {
// contains filtered or unexported fields
}
func (*LexScanner) SetExpectMetadata ¶
func (lex *LexScanner) SetExpectMetadata(v bool)
func (*LexScanner) SetExpectSymbol ¶
func (lex *LexScanner) SetExpectSymbol(v bool)
type MapVisitor ¶
type MapVisitor struct {
// contains filtered or unexported fields
}
MapVisitor maps Token value and AST into dictionary.
func NewMapVisitor ¶
func NewMapVisitor(extractor func(ybase.Token) (any, bool)) *MapVisitor
func (MapVisitor) Result ¶
func (s MapVisitor) Result() map[string]any
func (*MapVisitor) VisitChord ¶
func (s *MapVisitor) VisitChord(v *Chord)
func (*MapVisitor) VisitChordBase ¶
func (s *MapVisitor) VisitChordBase(v *ChordBase)
func (*MapVisitor) VisitChordDegree ¶
func (s *MapVisitor) VisitChordDegree(v *ChordDegree)
func (*MapVisitor) VisitChordList ¶
func (s *MapVisitor) VisitChordList(v *ChordList)
func (*MapVisitor) VisitChordMeta ¶
func (s *MapVisitor) VisitChordMeta(v *ChordMeta)
func (*MapVisitor) VisitChordMetadata ¶
func (s *MapVisitor) VisitChordMetadata(v *ChordMetadata)
func (*MapVisitor) VisitChordSymbol ¶
func (s *MapVisitor) VisitChordSymbol(v *ChordSymbol)
func (*MapVisitor) VisitChordValue ¶
func (s *MapVisitor) VisitChordValue(v *ChordValue)
func (*MapVisitor) VisitChordValues ¶
func (s *MapVisitor) VisitChordValues(v *ChordValues)
func (*MapVisitor) VisitRest ¶
func (s *MapVisitor) VisitRest(v *Rest)
type Pos ¶
type Rest ¶
type Rest struct { Values *ChordValues `json:"values" yaml:"values"` Meta *ChordMeta `json:"meta,omitempty" yaml:"meta,omitempty"` }
func (*Rest) IsChordOrRest ¶
func (*Rest) IsChordOrRest()
type Token ¶
type Visitor ¶
type Visitor interface { VisitChordList(*ChordList) VisitChord(*Chord) VisitChordDegree(*ChordDegree) VisitChordSymbol(*ChordSymbol) VisitChordBase(*ChordBase) VisitChordValues(*ChordValues) VisitChordValue(*ChordValue) VisitRest(*Rest) VisitChordMeta(*ChordMeta) VisitChordMetadata(*ChordMetadata) }
type VisitorDefault ¶
type VisitorDefault struct{}
func (*VisitorDefault) VisitChord ¶
func (s *VisitorDefault) VisitChord(_ *Chord)
func (*VisitorDefault) VisitChordBase ¶
func (s *VisitorDefault) VisitChordBase(_ *ChordBase)
func (*VisitorDefault) VisitChordDegree ¶
func (s *VisitorDefault) VisitChordDegree(_ *ChordDegree)
func (*VisitorDefault) VisitChordList ¶
func (s *VisitorDefault) VisitChordList(_ *ChordList)
func (*VisitorDefault) VisitChordMeta ¶
func (s *VisitorDefault) VisitChordMeta(_ *ChordMeta)
func (*VisitorDefault) VisitChordMetadata ¶
func (s *VisitorDefault) VisitChordMetadata(_ *ChordMetadata)
func (*VisitorDefault) VisitChordSymbol ¶
func (s *VisitorDefault) VisitChordSymbol(_ *ChordSymbol)
func (*VisitorDefault) VisitChordValue ¶
func (s *VisitorDefault) VisitChordValue(_ *ChordValue)
func (*VisitorDefault) VisitChordValues ¶
func (s *VisitorDefault) VisitChordValues(_ *ChordValues)
func (*VisitorDefault) VisitRest ¶
func (s *VisitorDefault) VisitRest(_ *Rest)
Click to show internal directories.
Click to hide internal directories.