While we are thinking about this, I suggest we remove (later) the rule
forbidding backing-up states in the scanner.  It made only a 0.2% in the
worst-case scenario I could think of.

The rule had been violated, giving us the slightly slower scanner, for
about ten years (I estimate) prior to the warning-cleanup patch da949cdc
one year ago.

It costs a lot of programmer time to make the extra rules to save that
0.2%, and I know of no efficient cure for patterns that can require
arbitrary amounts of backing up.  \violin1_2_3_4_5


http://codereview.appspot.com/6493072/diff/5015/lily/lexer.ll
File lily/lexer.ll (left):

http://codereview.appspot.com/6493072/diff/5015/lily/lexer.ll#oldcode34
lily/lexer.ll:34: flex -b <this lexer file>
`-b, --backup, `%option backup''
     Generate backing-up information to `lex.backup'.  This is a list
of
     scanner states which require backing up and the input characters
on
     which they do so.  By adding rules one can remove backing-up
     states.  If _all_ backing-up states are eliminated and `-Cf' or
     `-CF' is used, the generated scanner will run faster (see the
     `--perf-report' flag).  Only users who wish to squeeze every last
     cycle out of their scanners need worry about this option.  (*note
     Performance::).

http://codereview.appspot.com/6493072/

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to