Skip to main content

Module syntax

Module syntax 

Source
Expand description

Surface AST for ABC source.

This module holds the surface syntax tree produced by line classification and music-line parsing: the tune/line surface structure (tune) and the music-line *Syntax types.

Re-exports§

pub use field::InlineFieldSyntax;
pub use field::MalformedSyntax;
pub use field::MalformedSyntaxKind;
pub use field::MusicFieldLine;
pub use field::MusicFieldLineKind;
pub use field::PreservedDirectiveSyntax;
pub use field::ScoreDirectiveSyntax;
pub use field::UnsupportedSyntax;
pub use field::UnsupportedSyntaxKind;
pub use lyric::LyricLineSyntax;
pub use lyric::LyricTokenKind;
pub use lyric::LyricTokenSyntax;
pub use lyric::SymbolLineSyntax;
pub use lyric::SymbolTokenKind;
pub use lyric::SymbolTokenSyntax;
pub use music::AccidentalSyntax;
pub use music::AnnotationPlacement;
pub use music::AttachmentBundle;
pub use music::BarlineSyntax;
pub use music::BrokenRhythmDirection;
pub use music::BrokenRhythmSyntax;
pub use music::ChordMemberSyntax;
pub use music::ChordSyntax;
pub use music::DecorationKind;
pub use music::DecorationSyntax;
pub use music::GraceElementSyntax;
pub use music::GraceGroupSyntax;
pub use music::LengthSyntax;
pub use music::MultiMeasureRestSyntax;
pub use music::MusicItem;
pub use music::MusicLine;
pub use music::MusicToken;
pub use music::MusicTokenKind;
pub use music::NoteSyntax;
pub use music::OctaveMark;
pub use music::OctaveMarkSyntax;
pub use music::OverlaySyntax;
pub use music::ParsedMusicDocument;
pub use music::ParsedTuneMusic;
pub use music::PitchSyntax;
pub use music::QuotedTextKind;
pub use music::QuotedTextSyntax;
pub use music::RestSyntax;
pub use music::SlurDirection;
pub use music::SlurSyntax;
pub use music::SpacerSyntax;
pub use music::SpannedNumber;
pub use music::TieSyntax;
pub use music::TupletSyntax;
pub use music::VariantEndingPart;
pub use music::VariantEndingSyntax;
pub use tune::ClassifiedLine;
pub use tune::ContinuationEdge;
pub use tune::ContinuationKind;
pub use tune::FieldHeader;
pub use tune::LineContext;
pub use tune::LineKind;
pub use tune::LineMap;
pub use tune::NonNoteItem;
pub use tune::NonNoteKind;
pub use tune::ScoreLineBreak;
pub use tune::SourceBlock;
pub use tune::SourceBlockKind;
pub use tune::SurfaceKind;
pub use tune::SurfaceMap;
pub use tune::SurfaceToken;
pub use tune::TuneBlock;
pub use tune::analyze;
pub use tune::analyze_source;

Modules§

field
Field and directive surface AST: inline/body music fields, score and preserved stylesheet directives, and the unsupported/malformed markers used when a music token cannot be represented.
lyric
Lyric and symbol line surface AST: the token streams produced from w: lyric lines and s: symbol lines.
music
Music-line surface AST: the *Syntax types produced by parsing an ABC music line into notes, rests, chords, decorations, and barlines.
tune