abjad.scheme

abjad.parsers.scheme.Scheme([value])

Abjad model of Scheme code.

abjad.parsers.scheme.SchemeParser([debug])

SchemeParser mimics how LilyPond's embedded Scheme parser behaves.

class abjad.parsers.scheme.Scheme(value: Any = None)[source]

Abjad model of Scheme code.

class abjad.parsers.scheme.SchemeParser(debug=False)[source]

SchemeParser mimics how LilyPond’s embedded Scheme parser behaves.

It parses a single Scheme expression and then stops, by raising a SchemeParserFinishedError.

The parsed expression and its exact length in characters are cached on the SchemeParser instance.

It is intended to be used only in conjunction with LilyPondParser.

lexer_rules_object

Lexer rules object of Scheme parser.

p_boolean__BOOLEAN(p)

boolean : BOOLEAN

p_constant__boolean(p)

constant : boolean

p_constant__number(p)

constant : number

p_constant__string(p)

constant : string

p_data__EMPTY(p)

data :

p_data__data__datum(p)

data : data datum

p_datum__constant(p)

datum : constant

p_datum__list(p)

datum : list

p_datum__symbol(p)

datum : symbol

p_datum__vector(p)

datum : vector

p_error(p)

p_expression__QUOTE__datum(p)

expression : QUOTE datum

p_expression__constant(p)

expression : constant

p_expression__variable(p)

expression : variable

p_form__expression(p)

form : expression

p_forms__EMPTY(p)

forms :

p_forms__forms__form(p)

forms : forms form

p_list__L_PAREN__data__R_PAREN(p)

list : L_PAREN data R_PAREN

p_list__L_PAREN__data__datum__PERIOD__datum__R_PAREN(p)

list : L_PAREN data datum PERIOD datum R_PAREN

p_number__DECIMAL(p)

number : DECIMAL

p_number__HEXADECIMAL(p)

number : HEXADECIMAL

p_number__INTEGER(p)

number : INTEGER

p_program__forms(p)

program : forms

p_string__STRING(p)

string : STRING

p_symbol__IDENTIFIER(p)

symbol : IDENTIFIER

p_variable__IDENTIFIER(p)

variable : IDENTIFIER

p_vector__HASH__L_PAREN__data__R_PAREN(p)

vector : HASH L_PAREN data R_PAREN

parser_rules_object

Parser rules object of Scheme parser.

t_BOOLEAN(t)

#(T|F|t|f)

t_DECIMAL(t)

t_HASH(t)

#

t_HEXADECIMAL(t)

t_IDENTIFIER(t)

t_INTEGER(t)

t_L_PAREN(t)

(

t_R_PAREN(t)

)

t_anything(t)

t_error(t)

t_newline(t)

n+

t_quote(t)

"

t_quote_440(t)

\[nt\'"]

t_quote_443(t)

[^\""]+

t_quote_446(t)

"

t_quote_456(t)

t_quote_error(t)

t_whitespace(t)

[ tr]+

lexer_rules_object

Lexer rules object of Scheme parser.

p_boolean__BOOLEAN(p)[source]

boolean : BOOLEAN

p_constant__boolean(p)[source]

constant : boolean

p_constant__number(p)[source]

constant : number

p_constant__string(p)[source]

constant : string

p_data__EMPTY(p)[source]

data :

p_data__data__datum(p)[source]

data : data datum

p_datum__constant(p)[source]

datum : constant

p_datum__list(p)[source]

datum : list

p_datum__symbol(p)[source]

datum : symbol

p_datum__vector(p)[source]

datum : vector

p_error(p)[source]
p_expression__QUOTE__datum(p)[source]

expression : QUOTE datum

p_expression__constant(p)[source]

expression : constant

p_expression__variable(p)[source]

expression : variable

p_form__expression(p)[source]

form : expression

p_forms__EMPTY(p)[source]

forms :

p_forms__forms__form(p)[source]

forms : forms form

p_list__L_PAREN__data__R_PAREN(p)[source]

list : L_PAREN data R_PAREN

p_list__L_PAREN__data__datum__PERIOD__datum__R_PAREN(p)[source]

list : L_PAREN data datum PERIOD datum R_PAREN

p_number__DECIMAL(p)[source]

number : DECIMAL

p_number__HEXADECIMAL(p)[source]

number : HEXADECIMAL

p_number__INTEGER(p)[source]

number : INTEGER

p_program__forms(p)[source]

program : forms

p_string__STRING(p)[source]

string : STRING

p_symbol__IDENTIFIER(p)[source]

symbol : IDENTIFIER

p_variable__IDENTIFIER(p)[source]

variable : IDENTIFIER

p_vector__HASH__L_PAREN__data__R_PAREN(p)[source]

vector : HASH L_PAREN data R_PAREN

parser_rules_object

Parser rules object of Scheme parser.

t_BOOLEAN(t)[source]

#(T|F|t|f)

t_DECIMAL(t)[source]
t_HASH(t)[source]

#

t_HEXADECIMAL(t)[source]
t_IDENTIFIER(t)[source]
t_INTEGER(t)[source]
t_L_PAREN(t)[source]

(

t_R_PAREN(t)[source]

)

t_anything(t)[source]

.

t_error(t)[source]
t_newline(t)[source]

n+

t_quote(t)[source]

"

t_quote_440(t)[source]

\[nt\’”]

t_quote_443(t)[source]

[^\””]+

t_quote_446(t)[source]

"

t_quote_456(t)[source]

.

t_quote_error(t)
t_whitespace(t)[source]

[ tr]+