+ | E_LEFTSQUARE {
+ Span_req *l = new Span_req;
+ l->set_span_dir (START);
+ l->set_mus_property ("span-type", ly_str02scm ("ligature"));
+ l->set_spot (THIS->here_input ());
+
+ $$ = new Request_chord (SCM_EOL);
+ $$->set_mus_property ("elements", gh_cons (l->self_scm (), SCM_EOL));
+ scm_gc_unprotect_object (l->self_scm());
+ $$->set_spot (THIS->here_input ());
+ }
+ | E_RIGHTSQUARE {
+ Span_req *l = new Span_req;
+ l->set_span_dir (STOP);
+ l->set_mus_property ("span-type", ly_str02scm ("ligature"));
+ l->set_spot (THIS->here_input ());
+
+ $$ = new Request_chord (SCM_EOL);
+ $$->set_mus_property ("elements", gh_cons (l->self_scm (), SCM_EOL));
+ $$->set_spot (THIS->here_input ());
+ scm_gc_unprotect_object (l->self_scm());
+
+ }
+ | E_BACKSLASH {
+ $$ = new Music (gh_list (gh_cons (ly_symbol2scm ("name"), ly_symbol2scm ("separator")), SCM_UNDEFINED));
+ $$->set_spot (THIS->here_input ());
+ }
+ | '|' {
+
+ extern Music * get_barcheck();
+ $$ = get_barcheck ();
+ $$->set_spot (THIS->here_input ());
+ }
+ | BAR STRING {
+ Music *t = set_property_music (ly_symbol2scm ("whichBar"), $2);
+
+ Context_specced_music *csm = new Context_specced_music (SCM_EOL);
+ csm->set_mus_property ("element", t->self_scm ());
+ scm_gc_unprotect_object (t->self_scm ());
+
+ $$ = csm;
+ $$->set_spot (THIS->here_input ());
+
+ csm->set_mus_property ("context-type", ly_str02scm ("Score"));
+ }
+ | PARTIAL duration_length {
+ Moment m = - unsmob_duration ($2)->length_mom ();
+ Music * p = set_property_music (ly_symbol2scm ( "measurePosition"),m.smobbed_copy ());
+
+ Context_specced_music * sp = new Context_specced_music (SCM_EOL);
+ sp->set_mus_property ("element", p->self_scm ());
+ scm_gc_unprotect_object (p->self_scm ());
+
+ $$ =sp ;
+ sp-> set_mus_property ("context-type", ly_str02scm ( "Score"));
+ }
+ | CLEF STRING {
+ SCM func = scm_primitive_eval (ly_symbol2scm ("clef-name-to-properties"));
+ SCM result = gh_call1 (func, $2);
+
+ SCM l = SCM_EOL;
+ for (SCM s = result ; gh_pair_p (s); s = ly_cdr (s)) {
+ Music * p = new Music (SCM_EOL);
+ set_music_properties (p, ly_car (s));
+ l = gh_cons (p->self_scm (), l);
+ scm_gc_unprotect_object (p->self_scm ());
+ }
+ Sequential_music * seq = new Sequential_music (SCM_EOL);
+ seq->set_mus_property ("elements", l);
+
+ Context_specced_music * sp = new Context_specced_music (SCM_EOL);
+ sp->set_mus_property ("element", seq->self_scm ());
+ scm_gc_unprotect_object (seq->self_scm ());
+