- | paper_def_body int '=' FONT STRING { // ugh, what a syntax
- Lookup * l = new Lookup;
- l->font_name_ = ly_scm2string ($5);
- $$->set_lookup ($2, l);
- }
- | paper_def_body assignment semicolon {
-
- }
- | paper_def_body SCM_T '=' SCM_T {
- if (!gh_symbol_p ($2))
- THIS->parser_error ("expect a symbol as lvalue");
- else
- $$->default_properties_.set ($2, $4);
- }
- | paper_def_body SCM_T '=' real semicolon {
- if (!gh_symbol_p ($2))
- THIS->parser_error ("expect a symbol as lvalue");
- else
- $$->default_properties_.set ($2, gh_double2scm ($4));
- }
- | paper_def_body translator_spec_block {
- $$->assign_translator ($2);
- }
- | paper_def_body error {
-
- }
- ;
-
-
-
-real_with_dimension:
- REAL CM_T {
- $$ = $1 CM;
- }
- | REAL PT_T {
- $$ = $1 PT;
- }
- | REAL IN_T {
- $$ = $1 INCH;
- }
- | REAL MM_T {
- $$ = $1 MM;
- }
- | REAL CHAR_T {
- $$ = $1 CHAR;
- }
- ;
-
-real:
- REAL {
- $$ = $1;
- }
- | real_with_dimension
- | REAL_IDENTIFIER {
- $$= *$1->access_content_Real (false);
- }
- | '-' real %prec UNARY_MINUS {
- $$ = -$2;
- }
- | real '*' real {
- $$ = $1 * $3;
- }
- | real '/' real {
- $$ = $1 / $3;
- }
- | real '+' real {
- $$ = $1 + $3;
- }
- | real '-' real {
- $$ = $1 - $3;
- }
- | '(' real ')' {
- $$ = $2;
- }
- ;
-
-/*
- MIDI
-*/
-midi_block:
- MIDI
- '{' midi_body '}' {
- $$ = $3;
- THIS-> lexer_p_-> scope_l_arr_.pop();
- }
- ;
-
-midi_body: /* empty */ {
- Midi_def * p =THIS->default_midi_p ();
- $$ = p;