]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lexer.ll
patch::: 1.3.135.jcn3
[lilypond.git] / lily / lexer.ll
index b1c3afab5dca3ee29c1377b9595ba6f1d74253e4..c86168a224e5c4b59ff9ba20a44058edbf420faf 100644 (file)
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <ctype.h>
 
+#include "score.hh"
 #include "lily-guile.hh"
 #include "string.hh"
 #include "string-convert.hh"
 #include "debug.hh"
 #include "main.hh"
 #include "musical-request.hh"
-#include "identifier.hh"
 #include "version.hh"
 #include "lilypond-input-version.hh"
 #include "translator-def.hh"
+#include "music-output-def.hh"
 
 /*
 RH 7 fix (?)
@@ -233,6 +234,7 @@ HYPHEN              --
        cerr << _ ("white expected") << endl;
        exit (1);
 }
+
 <INITIAL,chords,lyrics,notes># { //embedded scm
        //char const* s = YYText () + 1;
        char const* s = here_ch_C ();
@@ -330,7 +332,7 @@ HYPHEN              --
                char c = s[s.length_i () - 1];
                if (c == '{' ||  c == '}') // brace open is for not confusing dumb tools.
                        here_input ().warning (
-                               "Brace found at end of lyric. Did you forget a space?");
+                               _("Brace found at end of lyric. Did you forget a space?"));
                yylval.scm = ly_str02scm (s.ch_C ());
 
                DEBUG_OUT << "lyric : `" << s << "'\n";
@@ -424,6 +426,10 @@ HYPHEN             --
        return E_SMALLER;
     case '!':
        return E_EXCLAMATION;
+    case '(':
+       return E_OPEN;
+    case ')':
+       return E_CLOSE;
     default:
        return E_CHAR;
     }
@@ -482,6 +488,9 @@ My_lily_lexer::scan_escaped_word (String str)
        } else if (unsmob_translator_def (sid)) {
                yylval.scm = sid;
                return TRANSLATOR_IDENTIFIER;
+       } else if (unsmob_score (sid)) {
+               yylval.scm =sid;
+               return SCORE_IDENTIFIER;
        } else if (Music * mus =unsmob_music (sid)) {
                yylval.scm = sid;
                
@@ -489,16 +498,12 @@ My_lily_lexer::scan_escaped_word (String str)
        } else if (unsmob_duration (sid)) {
                yylval.scm = sid;
                return DURATION_IDENTIFIER;
+       } else if (unsmob_music_output_def (sid)) {
+               yylval.scm = sid;
+               return MUSIC_OUTPUT_DEF_IDENTIFIER;
        }
 
-
-
-
-       Identifier * id = unsmob_identifier (sid);
-       if (id) {
-               yylval.id = id;
-               return id->token_code_i_;
-       } else if (sid != SCM_UNDEFINED) {
+       if (sid != SCM_UNDEFINED) {
                yylval.scm = sid;
                return SCM_IDENTIFIER;
        }