]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lexer.ll
* input/regression/markup-note.ly: new file
[lilypond.git] / lily / lexer.ll
index 31f7820f037d85e899ec89e1e75545db21665a16..7fc5828206eef619feb4a24bec0ceeda232ee15c 100644 (file)
@@ -1,6 +1,6 @@
 %{ // -*-Fundamental-*-
 /*
-  lexer.l -- implement the Flex lexer
+  lexer.ll -- implement the Flex lexer
 
   source file of the LilyPond music typesetter
 
 #include <ctype.h>
 #include <errno.h>
 
+/* Flex >= 2.5.29 fix; FlexLexer.h's multiple include bracing breaks
+   when building the actual lexer.  */
+#define LEXER_CC
+
 #include <iostream>
 using namespace std;
 
@@ -464,7 +468,10 @@ HYPHEN             --
                                return MARKUP_HEAD_SCM0_MARKUP1;
                        else if (tag == ly_symbol2scm ("scheme0-scheme1-markup2"))
                                return MARKUP_HEAD_SCM0_SCM1_MARKUP2;
+                       else if (tag == ly_symbol2scm ("scheme0-scheme1-scheme2"))
+                               return MARKUP_HEAD_SCM0_SCM1_SCM2;
                        else {
+                               programming_error ("No parser tag defined for this signature. Abort"); 
                                ly_display_scm (s);
                                assert(false);
                        }
@@ -783,6 +790,8 @@ scan_fraction (String frac)
        return gh_cons (gh_int2scm (n), gh_int2scm (d));
 }
 
+// Breaks for flex 2.5.31
+#if 0
 /* avoid silly flex induced gcc warnings */
 static void yy_push_state (int) {;}
 static void yy_pop_state () {;}
@@ -799,6 +808,7 @@ avoid_silly_flex_induced_gcc_warnings ()
        yy_top_state ();
        avoid_silly_flex_induced_gcc_warnings ();
 }
+#endif
 
 SCM
 lookup_markup_command (String s)