abjad.scheme
|
Abjad model of Scheme code. |
|
|
- class abjad.parsers.scheme.SchemeParser(debug=False)[source]
SchemeParsermimics 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
SchemeParserinstance.It is intended to be used only in conjunction with
LilyPondParser.Lexer rules object of Scheme parser.
boolean : BOOLEAN
constant : boolean
constant : number
constant : string
data :
data : data datum
datum : constant
datum : list
datum : symbol
datum : vector
p_error(p)expression : QUOTE datum
expression : constant
expression : variable
form : expression
forms :
forms : forms form
list : L_PAREN data R_PAREN
list : L_PAREN data datum PERIOD datum R_PAREN
number : DECIMAL
number : HEXADECIMAL
number : INTEGER
program : forms
string : STRING
symbol : IDENTIFIER
variable : IDENTIFIER
vector : HASH L_PAREN data R_PAREN
Parser rules object of Scheme parser.
t_BOOLEAN(t)#(T|F|t|f)
t_DECIMAL(t)t_HASH(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_whitespace(t)[ tr]+
- p_list__L_PAREN__data__datum__PERIOD__datum__R_PAREN(p)[source]
list : L_PAREN data datum PERIOD datum R_PAREN
- t_quote_error(t)