From 77471d966e7252229e6379968b18a7ad789b56da Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Tue, 9 Feb 2016 02:13:53 +0000 Subject: gregorio 4.1.0-beta2 git-svn-id: svn://tug.org/texlive/trunk@39632 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/README | 2 +- Build/source/texk/gregorio/ChangeLog | 5 + Build/source/texk/gregorio/configure | 22 +- .../texk/gregorio/gregorio-src-PATCHES/ChangeLog | 4 + .../texk/gregorio/gregorio-src-PATCHES/TL-Changes | 4 +- .../texk/gregorio/gregorio-src/.gregorio-version | 2 +- .../source/texk/gregorio/gregorio-src/CHANGELOG.md | 25 +- .../texk/gregorio/gregorio-src/CONTRIBUTORS.md | 1 + Build/source/texk/gregorio/gregorio-src/UPGRADE.md | 12 + .../source/texk/gregorio/gregorio-src/configure.ac | 20 +- .../gregorio/gregorio-src/contrib/system-setup.bat | 9 +- .../gregorio-src/doc/Command_Index_User.tex | 102 +- .../gregorio-src/doc/Command_Index_gregorio.tex | 51 +- .../gregorio-src/doc/Command_Index_internal.tex | 122 +- .../source/texk/gregorio/gregorio-src/doc/Gabc.tex | 23 + .../doc/GregorioNabcRef-4_1_0-beta1.pdf | Bin 279348 -> 0 bytes .../doc/GregorioNabcRef-4_1_0-beta2.pdf | Bin 0 -> 279433 bytes .../gregorio-src/doc/GregorioRef-4_1_0-beta1.pdf | Bin 616735 -> 0 bytes .../gregorio-src/doc/GregorioRef-4_1_0-beta2.pdf | Bin 0 -> 625724 bytes .../texk/gregorio/gregorio-src/doc/GregorioRef.tex | 2 +- .../texk/gregorio/gregorio-src/src/Makefile.am | 4 + .../texk/gregorio/gregorio-src/src/characters.c | 742 +++--- .../texk/gregorio/gregorio-src/src/characters.h | 19 +- .../texk/gregorio/gregorio-src/src/dump/dump.c | 68 +- .../src/gabc/gabc-elements-determination.c | 107 +- .../src/gabc/gabc-glyphs-determination.c | 140 +- .../src/gabc/gabc-notes-determination-l.c | 2504 ++++++++++---------- .../src/gabc/gabc-notes-determination.l | 137 +- .../src/gabc/gabc-score-determination-l.c | 802 ++++--- .../src/gabc/gabc-score-determination-l.h | 2 +- .../src/gabc/gabc-score-determination-y.c | 1226 +++++----- .../src/gabc/gabc-score-determination-y.h | 218 +- .../src/gabc/gabc-score-determination.l | 66 +- .../src/gabc/gabc-score-determination.y | 437 ++-- .../gregorio/gregorio-src/src/gabc/gabc-write.c | 270 ++- .../texk/gregorio/gregorio-src/src/gabc/gabc.h | 4 +- .../gregorio/gregorio-src/src/gregorio-utils.c | 178 +- .../src/gregoriotex/gregoriotex-position.c | 57 +- .../src/gregoriotex/gregoriotex-write.c | 1411 +++++------ .../gregorio-src/src/gregoriotex/gregoriotex.h | 15 +- .../texk/gregorio/gregorio-src/src/messages.c | 85 +- .../texk/gregorio/gregorio-src/src/messages.h | 32 +- Build/source/texk/gregorio/gregorio-src/src/sha1.c | 30 +- .../source/texk/gregorio/gregorio-src/src/struct.c | 325 ++- .../source/texk/gregorio/gregorio-src/src/struct.h | 30 +- .../texk/gregorio/gregorio-src/src/support.c | 198 +- .../texk/gregorio/gregorio-src/src/support.h | 40 +- .../texk/gregorio/gregorio-src/src/unicode.c | 74 +- .../texk/gregorio/gregorio-src/src/unicode.h | 3 +- .../gregorio-src/src/vowel/vowel-rules-y.c | 45 +- .../gregorio/gregorio-src/src/vowel/vowel-rules.y | 11 +- .../texk/gregorio/gregorio-src/src/vowel/vowel.c | 24 +- .../gregorio-src/windows/gregorio-resources.rc | 8 +- Build/source/texk/gregorio/version.ac | 2 +- 54 files changed, 4956 insertions(+), 4764 deletions(-) delete mode 100644 Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta1.pdf create mode 100644 Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta2.pdf delete mode 100644 Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta1.pdf create mode 100644 Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta2.pdf diff --git a/Build/source/texk/README b/Build/source/texk/README index e426cb64d0c..d9c1ac53675 100644 --- a/Build/source/texk/README +++ b/Build/source/texk/README @@ -62,7 +62,7 @@ dvipsk - maintained here, by us dvisvgm 1.14.2 - checked 20jan16 http://dvisvgm.bplaced.net/Downloads -gregorio 4.1.0-beta1 - checked 23jan16 +gregorio 4.1.0-beta2 - checked 09feb16 https://github.com/gregorio-project/gregorio/releases/ gsftopk - from Paul Vojta's xdvi? diff --git a/Build/source/texk/gregorio/ChangeLog b/Build/source/texk/gregorio/ChangeLog index 9a853ced7f6..f0dcfadc008 100644 --- a/Build/source/texk/gregorio/ChangeLog +++ b/Build/source/texk/gregorio/ChangeLog @@ -1,3 +1,8 @@ +2016-02-09 Akira Kakuto + + Import gregorio-4.1.0-beta2. + * version.ac: Adapted. + 2016-02-08 Karl Berry * configure.ac (gl_FUNC_REALPATH_WORKS): from gnulib/canonicalize.m4. diff --git a/Build/source/texk/gregorio/configure b/Build/source/texk/gregorio/configure index 38d3f87ab27..3ac42a85fb5 100755 --- a/Build/source/texk/gregorio/configure +++ b/Build/source/texk/gregorio/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Gregorio (TeX Live) 4.1.0-beta1. +# Generated by GNU Autoconf 2.69 for Gregorio (TeX Live) 4.1.0-beta2. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Gregorio (TeX Live)' PACKAGE_TARNAME='gregorio--tex-live-' -PACKAGE_VERSION='4.1.0-beta1' -PACKAGE_STRING='Gregorio (TeX Live) 4.1.0-beta1' +PACKAGE_VERSION='4.1.0-beta2' +PACKAGE_STRING='Gregorio (TeX Live) 4.1.0-beta2' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1330,7 +1330,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Gregorio (TeX Live) 4.1.0-beta1 to adapt to many kinds of systems. +\`configure' configures Gregorio (TeX Live) 4.1.0-beta2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1401,7 +1401,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Gregorio (TeX Live) 4.1.0-beta1:";; + short | recursive ) echo "Configuration of Gregorio (TeX Live) 4.1.0-beta2:";; esac cat <<\_ACEOF @@ -1520,7 +1520,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Gregorio (TeX Live) configure 4.1.0-beta1 +Gregorio (TeX Live) configure 4.1.0-beta2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2176,7 +2176,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Gregorio (TeX Live) $as_me 4.1.0-beta1, which was +It was created by Gregorio (TeX Live) $as_me 4.1.0-beta2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -7862,7 +7862,7 @@ fi # Define the identity of the package. PACKAGE='gregorio--tex-live-' - VERSION='4.1.0-beta1' + VERSION='4.1.0-beta2' cat >>confdefs.h <<_ACEOF @@ -14246,7 +14246,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -Gregorio (TeX Live) config.lt 4.1.0-beta1 +Gregorio (TeX Live) config.lt 4.1.0-beta2 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -15833,7 +15833,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Gregorio (TeX Live) $as_me 4.1.0-beta1, which was +This file was extended by Gregorio (TeX Live) $as_me 4.1.0-beta2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15899,7 +15899,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Gregorio (TeX Live) config.status 4.1.0-beta1 +Gregorio (TeX Live) config.status 4.1.0-beta2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/texk/gregorio/gregorio-src-PATCHES/ChangeLog b/Build/source/texk/gregorio/gregorio-src-PATCHES/ChangeLog index d0a4b2ea781..fc18710396c 100644 --- a/Build/source/texk/gregorio/gregorio-src-PATCHES/ChangeLog +++ b/Build/source/texk/gregorio/gregorio-src-PATCHES/ChangeLog @@ -1,3 +1,7 @@ +2016-02-09 Akira Kakuto + + Import gregorio-4.1.0-beta2. + 2016-01-23 Akira Kakuto Import gregorio-4.1.0-beta1. diff --git a/Build/source/texk/gregorio/gregorio-src-PATCHES/TL-Changes b/Build/source/texk/gregorio/gregorio-src-PATCHES/TL-Changes index e725e89f2f3..ec45fa8ca1c 100644 --- a/Build/source/texk/gregorio/gregorio-src-PATCHES/TL-Changes +++ b/Build/source/texk/gregorio/gregorio-src-PATCHES/TL-Changes @@ -1,5 +1,5 @@ -Changes applied to the gregorio-4.1.0-beta1 tree as obtained from: - https://github.com/gregorio-project/gregorio/releases/tag/v4.1.0-beta1/ +Changes applied to the gregorio-4.1.0-beta2 tree as obtained from: + https://github.com/gregorio-project/gregorio/releases/tag/v4.1.0-beta2/ Remove: Makefile.in diff --git a/Build/source/texk/gregorio/gregorio-src/.gregorio-version b/Build/source/texk/gregorio/gregorio-src/.gregorio-version index 29acce08903..e708a2f0559 100644 --- a/Build/source/texk/gregorio/gregorio-src/.gregorio-version +++ b/Build/source/texk/gregorio/gregorio-src/.gregorio-version @@ -1,4 +1,4 @@ -4.1.0-beta1 +4.1.0-beta2 *** Do not modify this file. *** Use VersionManager.py to change the version. diff --git a/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md b/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md index 10f2299b371..f4628803fd8 100644 --- a/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md +++ b/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md @@ -5,6 +5,25 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased][unreleased] +## [4.1.0-beta2] - 2016-02-08 +### Fixed +- When a flat on a ledger line (`bx` or `lx`) was preceding a note also on a ledger line, the ledger line was partially visible inside the flat, see [#882](https://github.com/gregorio-project/gregorio/issues/882). +- Compilation of documents produced with Gregorio should be slightly faster. + +### Changed +- Stem length for virgas, flexus, pes quadratum, etc. are now tunable, and have been reviewed, see [#803](https://github.com/gregorio-project/gregorio/issues/803). +- Height of the porrectus have been altered (first note moved up, second also moved up when second ambitus is more than one) so that they are more coherent with the punctum height. The porrectus stroke drawings have also been slightly altered to be slightly thinner and sharper around the bottom note (see [#858](https://github.com/gregorio-project/gregorio/issues/858)). +- When a syllable is preceeded by a punctum mora, gregorio now ignores the punctum mora in the spacing of the syllables by default, and also adds a custom space (defaulting to 0). You can change this behavior with `\gresetshiftaftermora{}`, see GregorioRef for its arguments. To balance the output, space before a punctum mora has been made slightly thinner, more in line with old Solesmes books. (For the change requests, see [#795](https://github.com/gregorio-project/gregorio/issues/795) and [#871](https://github.com/gregorio-project/gregorio/issues/871)). +- The `--admin` option is removed from the `initexmf` call for MiKTeX installations, allowing the installer to work better on Windows 10. +- MiKTeX installations no longer copy files into TEXMFLOCAL but instead registers the texmf folder which the installer creates with MiKTeX, allowing it to use those files in place. See [#884](https://github.com/gregorio-project/gregorio/issues/884) +- Added an uninstall script which will run as part of the uninstall action and will remove the Gregorio executable and TeX files from their copied locations (at least using the `unins000.exe` file which is created in the program directory when the program is installed, I haven't tested using the Add/Remove Programs feature built into Windows). + +### Added +- A new algorithm for placing bar syllables has been added. The goal of the new algorithm is to place the bar line exactly between the notes which surround it and do the same with the text associated with the bar line. It also implements a limit, `maxbaroffset`, which prevents the bar line and its text from getting too far apart. This algorithm can be activated with `\gresetbarspacing{new}`. Testing is not yet complete and it may still contain bugs. See [#767](https://github.com/gregorio-project/gregorio/issues/767). +- It is now possible to generate a font with a different stem length schema (apart from the default one, Solesmes' is available), see [fonts/README.md](fonts/README.md) for details. +- Some forms (`ed` for example) will have a different stem length if a ledger line is present. Heuristics to determine the presence of a ledger line or not are quite simple and may not always be correct. Gabc now allows you to force a note to act as if a ledger line was present with `[ll:1]`, or as if there was no ledger line, with `[ll:0]`. See Gabc section of GregorioRef for details. +- The ability to typeset an inter-glyph space using `/!` in gabc (see [#868](https://github.com/gregorio-project/gregorio/issues/868)) + ## [4.1.0-beta1] - 2016-01-23 ### Fixed - The alignment of the vertical episema under a punctum inclinatum deminutus is now correct (see [#742](https://github.com/gregorio-project/gregorio/issues/742)). @@ -13,6 +32,7 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). - Interlinear spacing of annotations when font size was smaller than normal. You should now see just the spacing specified by `annotationseparation`. - Spacing is now correct and ledger lines are now typeset for flats, sharps, and naturals above and below the staff (see [#790](https://github.com/gregorio-project/gregorio/issues/790)). - Forced hyphens at the end of words are no longer suppressed (see [#804](https://github.com/gregorio-project/gregorio/issues/804)). +- Three descending, otherwise unmodified notes are now correctly grouped as a clivis followed by a punctum. If you prefer three notes butted up against each other, separate them with `!`. ### Changed - Initial handling has been simplified. The initial style should now be specified from TeX by using the `\gresetinitiallines` command, rather than from a gabc header. Big initials and normal initials are now governed by a single `initial` style, meant to be changed between scores as appropriate. See [UPGRADE.md](UPGRADE.md) and GregorioRef for details (for the change request, see [#632](https://github.com/gregorio-project/gregorio/issues/632)). Deprecations for this change are listed in the Deprecation section, below. @@ -26,7 +46,6 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). - Headers not recognized by gregorio, rather than inducing an error, are now simply accepted by gregorio. Most of the old "standard" headers, like `book` and `manuscript-location`, are now handled in this way and thus are no longer limited to one instance. See GregorioRef for details. - `mode` will now be converted to Roman numerals in lower case so that it shows up as small capitals using the default `modeline` style. See [UPGRADE.md](UPGRADE.md) for details (for the change request, see [#756](https://github.com/gregorio-project/gregorio/issues/756)). - `\grecommentary` is now less restrictive about where it occurs and need not occur directly before the score anymore. -- When a bar is preceeded by a punctum mora, gregorio now ignores the punctum mora in the bar horizontal placement by default, and also adds a custom space (defaulting to 0). You can change this behavior with `\gresetbarshiftaftermora{}`, see GregorioRef for its arguments (for the change request, see [#795](https://github.com/gregorio-project/gregorio/issues/795)). ### Added - Support for two-, three-, and five-line staves. Set the `staff-lines` header to `2`, `3`, or `5`. For all values of `staff-lines`, the note below the staff remains 'c'. The two new notes above the staff (for a five-line staff) are `n` and `p`. See [#429](https://github.com/gregorio-project/gregorio/issues/429). @@ -47,7 +66,9 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). - `\grecommentary` now takes an optional argument which will add extra space between the commentary and the score for just the next score. - The custos can now be selectively enabled/disabled at forced line breaks by appending `+` (to enable) or `-` (to disable) after the `z` or `Z` (see [#800](https://github.com/gregorio-project/gregorio/issues/800)). - With thanks to an anonymous contributor, the shape of the MetaPost-drawn curly brace has been improved (see [#797](https://github.com/gregorio-project/gregorio/issues/797)). - +- Support for elisions, text between `` and `` in gabc, styled according to the `elision` style, which are excluded when determining where to position the text under its notes (see [#838](https://github.com/gregorio-project/gregorio/issues/838)). +- Special characters (between `` and `` in gabc) may now be customized using the `\gresetspecial` and `\greunsetspecial` commands. See GregorioRef for details (for the change request, see [#846](https://github.com/gregorio-project/gregorio/issues/846)). +- `\gresetbracerendering` can now take an optional argument to change the rendering of a single type of brace. See GregorioRef for details (for the change request, see [#850](https://github.com/gregorio-project/gregorio/issues/850)). ### Deprecated - `initial-style` gabc header, supplanted by the `\gresetinitiallines` TeX command. diff --git a/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md b/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md index 586d97762b4..398dc577cd8 100644 --- a/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md +++ b/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md @@ -33,6 +33,7 @@ Gregorio has been developed with valuable help and support from: * Richard Chonak * David Gippner * Quentin Lamy + * [The Abbey of Solesmes (FR)](http://www.solesmes.com/) * [Abbazia di Praglia (IT)](http://www.praglia.it) * [Abbazia Mater Ecclesiae (IT)](http://it.wikipedia.org/wiki/Abbazia_Mater_Ecclesiae) * [e-codices](http://www.e-codices.unifr.ch) diff --git a/Build/source/texk/gregorio/gregorio-src/UPGRADE.md b/Build/source/texk/gregorio/gregorio-src/UPGRADE.md index c24b51cd97c..47f65589469 100644 --- a/Build/source/texk/gregorio/gregorio-src/UPGRADE.md +++ b/Build/source/texk/gregorio/gregorio-src/UPGRADE.md @@ -20,6 +20,14 @@ Since the `biginitial` style will disappear with Gregorio 5.0, please consider d When the next syllable starts with an alteration, the minimal space between notes of the current syllable and notes of the current syllable is handled by the new spaces `intersyllablespacenotes@alteration` and `interwordspacenotes@alteration`. Set them in your custom spacings file if needed. +When a syllable ends with a punctum mora, Gregorio 4.1 doesn't consider the punctum mora completely in horizontal spacing. This can result in next syllable being closer. To balance the output, `spacebeforesigns` has been made shorter. If you want to go back to the old behavior, use: + +- `\gresetshiftaftermora{never}` if you want to remove it completely +- `\gresetshiftaftermora{barsonly}` if you want to remove it for non-bar syllables but keep it for bar syllables +- `\grechangedim{spacebeforesigns}{0.05469 cm plus 0.00455 cm minus 0.00455 cm}{scalable}` to go back to the old spacing before punctum mora + +The `\gresetshiftaftermora` macro can take other arguments for controlling how this should work, see GregorioRef for details. + ### Horizontal episemata on high and low notes Prior to version 4.1, Gregorio reserved space between notes at the `c` and `k` heights and their horizontal episemata for a "ledger line" that might appear between them. However, if the ledger line did not appear, the episema would appear to be too far from the note. @@ -60,6 +68,10 @@ The style for the mode number has been bold and small capitals for a long time, If you were using `\scorereference`, `\GreScoreReference`, and/or `\grescorereference`, stop using them. If you need to capture the `manuscript-reference` header, use the new header capture feature (see GregorioRef for details). +### Three descending notes + +Three descending notes that have no other markings (such as liquescentia) will now be rendered as a clivis followed by a punctum. The older, incorrect behavior was to group them as three punctums joined by `!`. If you prefer this behavior, explicitly separate the notes with `!`. + ## 4.0 ### Font changes diff --git a/Build/source/texk/gregorio/gregorio-src/configure.ac b/Build/source/texk/gregorio/gregorio-src/configure.ac index f7aab257a02..5db9cd0d130 100644 --- a/Build/source/texk/gregorio/gregorio-src/configure.ac +++ b/Build/source/texk/gregorio/gregorio-src/configure.ac @@ -16,8 +16,8 @@ dnl dnl You should have received a copy of the GNU General Public License dnl along with Gregorio. If not, see . -AC_INIT([gregorio],[4.1.0-beta1],[gregorio-devel@gna.org]) -FILENAME_VERSION="4_1_0-beta1" +AC_INIT([gregorio],[4.1.0-beta2],[gregorio-devel@gna.org]) +FILENAME_VERSION="4_1_0-beta2" AC_SUBST(FILENAME_VERSION) MK="" AC_SUBST(MK) @@ -82,6 +82,22 @@ AS_IF([test "x$with_kpathsea" = "xyes"], [ ) ]) +AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug@<:@=sanitize,coverage@:>@], [Enable debugging options [with additional sanitize options].]), [ + AS_IF([test "x$enableval" != "xno"], [ + dnl AX_CHECK_COMPILE_FLAG([-g], [CFLAGS+=" -g"]) + AX_CHECK_COMPILE_FLAG([-Og], [CFLAGS+=" -Og"], [ + AX_CHECK_COMPILE_FLAG([-O0], [CFLAGS+=" -O0"]) + ]) + AS_IF([test "x$enableval" = "xsanitize"], [ + AX_CHECK_COMPILE_FLAG([-fsanitize=address,undefined], [CFLAGS+=" -fsanitize=address,undefined"]) + ]) + AS_IF([test "x$enableval" = "xcoverage"], [ + AX_CHECK_COMPILE_FLAG([--coverage], [CFLAGS+=" --coverage"]) + AX_CHECK_LINK_FLAG([--coverage], [LDFLAGS+=" --coverage"]) + ]) + ]) +]) + AC_CONFIG_HEADERS([src/config_.h]) AC_CONFIG_FILES([ Makefile diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.bat b/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.bat index 597cd798ff3..755b8e9c210 100644 --- a/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.bat +++ b/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.bat @@ -45,6 +45,9 @@ echo. >> %output% @for %%e in (%PATHEXT%) do @for %%i in (luatex%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i >> %output% 2>&1 echo. >> %output% echo. >> %output% +echo #### TEXMFDIST >> %output% +kpsewhich --var-value=TEXMFDIST >> %output% 2>&1 +echo. >> %output% echo #### TEXMFLOCAL >> %output% echo. >> %output% for /f "delims=" %%i in ('kpsewhich --var-value TEXMFLOCAL') do set texmflocal=%%i @@ -134,12 +137,12 @@ echo. echo. echo system-setup.log created and saved in a temporary location. echo Upon exiting this script, the log will be opened in Notepad for you. -echo Please save the file to a convenient location and email it to +echo Please save the file to a convenient location and email it to echo gregorio-users@gna.org as part of your bug report. echo. -echo You can also create an issue at +echo You can also create an issue at echo http://github.org/gregorio-project/gregorio/issues echo and copy-paste the content of this file into the description. -echo. +echo. pause start notepad %output% diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex index 74809dcd9e3..2a08b030f62 100644 --- a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex +++ b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex @@ -647,6 +647,37 @@ A macro for invoking one of the ornamentation elements which are contained in th \end{argtable} +\subsubsection{Special Characters} + +% this is defined in gregoriotex-symbols.texx as having one argument, but the +% lua code generates a \gdef\ which then requires a second argument +\macroname{\textbackslash gresetspecial}{\{\#1\}\{\#2\}}{gregoriotex-symbols.tex} +Sets a special character. Special characters are used from gabc within +\texttt{} and \texttt{}. + +\begin{argtable} + \#1 & string & The text between \texttt{} and \texttt{}.\\ + \#2 & \TeX\ code & The \TeX\ code to substitute when \texttt{\#1} + is used in gabc.\\ +\end{argtable} + +\textbf{Nota Bene:} If you need to use a character in \#1 that is made special +by \TeX{} (\ie, \textbackslash, \%, \etc), you should instead use +\verb=\string\nnn=, where \texttt{nnn} is a three-digit, zero-padded number +representing the ASCII code of the character (\ie, \textbackslash{} would be +\verb=\string\092=). + +\macroname{\textbackslash greunsetspecial}{\{\#1\}}{gregoriotex-symbols.tex} +Un-sets a special character. Using an unset special character will use its +text directly. + +\begin{argtable} + \#1 & string & The text between \texttt{} and \texttt{}.\\ +\end{argtable} + +\textbf{Nota Bene:} The same rules apply for \#1 as in \verb=\gresetspecial=. + + \subsubsection{Styling} Different elements of an include score have different styles applied. These elements and their defaults are listed below: @@ -657,23 +688,25 @@ Different elements of an include score have different styles applied. These ele \begin{tabular}{lp{7cm plus .5cm}r} Element Name & Description & Default\\ \hline - \stylename{initial} & Score initial (the first letter of the score, when offset from the rest of the text) & 40 pt font\\ - \stylename{translation} & Translation text (appears below lyrics) & {\it italics}\\ - \stylename{abovelinestext} & Above line text (\texttt{} in gabc, appears above the staff) & normal\\ - \stylename{normalstafflines} & Full length staff lines & none\\ + \stylename{abovelinestext} & above line text (\texttt{} in gabc, appears above the staff) & normal\\ \stylename{additionalstafflines} & short lines behind notes above or below the staff & special\footnotemark[1]\\ - \stylename{lowchoralsign} & low choral signs & none\\ - \stylename{highchoralsign} & high choral signs & none\\ - \stylename{firstsyllableinitial} & the first letter of the first syllable of a score which is not the score initial & none\\ + \stylename{annotation} & the annotation & none\\ + \stylename{commentary} & the commentary & {\footnotesize\it footnote-size italics}\\ + \stylename{elision} & elisions (\texttt{} in gabc) & {\textit{\small small-size italics}} (\LaTeX)\\ + && {\textit{italics}} (Plain \TeX)\\ \stylename{firstsyllable} & the first syllable of the score excluding the score initial & none\\ + \stylename{firstsyllableinitial} & the first letter of the first syllable of a score which is not the score initial & none\\ \stylename{firstword} & the first word of the first score excluding the score initial & none\\ - \stylename{annotation} & the annotation & none\\ - \stylename{commentary} & the commentary & {\footnotesize\it Footnote size italics}\\ - \stylename{modeline} & the rendered annotation from the \texttt{mode: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textsc{\textbf{Bold Small Capitals}}}\\ - \stylename{modemodifier} & the rendered annotation from the \texttt{mode-modifier: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textit{\textbf{Bold Italics}}}\\ - \stylename{modedifferentia} & the rendered annotation from the \texttt{mode-differentia: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textbf{Bold}}\\ + \stylename{highchoralsign} & high choral signs & none\\ + \stylename{initial} & Score initial (the first letter of the score, when offset from the rest of the text) & 40 pt font\\ + \stylename{lowchoralsign} & low choral signs & none\\ + \stylename{modedifferentia} & the rendered annotation from the \texttt{mode-differentia: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textbf{bold}}\\ + \stylename{modeline} & the rendered annotation from the \texttt{mode: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textsc{\textbf{bold small capitals}}}\\ + \stylename{modemodifier} & the rendered annotation from the \texttt{mode-modifier: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textit{\textbf{bold italics}}}\\ \stylename{nabc} & ancient notation & {\color{gregoriocolor}gregoriocolor} (\LaTeX)\\ - && none (Plain \TeX)\\ + && none (Plain \TeX)\\ + \stylename{normalstafflines} & Full length staff lines & none\\ + \stylename{translation} & Translation text (appears below lyrics) & {\it italics}\\ \end{tabular} \end{adjustbox} @@ -882,18 +915,27 @@ Macro to determine whether the last line of the score should be justified or not \subsubsection{Bar spacing} -\macroname{\textbackslash gresetbarshiftaftermora}{\{\#1\}}{gregoriotex-signs.tex} -Macro to change the behaviour for bars following a punctum mora. The argument changes the cases in which punctum mora are ignored in bar horizontal placement: +\macroname{\textbackslash gresetshiftaftermora}{\{\#1\}}{gregoriotex-signs.tex} +Macro to change the behaviour for separation between notes of two syllables when the first ends with a punctum mora. The argument changes the cases in which punctum mora are ignored in space computation: \begin{argtable} \#1 & \texttt{always} & punctum mora are always ignored (default)\\ - & \texttt{notextonly} & punctum mora are ignored in bars inside syllables, and in bars having their own syllable without text\\ - & \texttt{insideonly} & punctum mora are ignored only in bars inside syllables\\ + & \texttt{barsonly} & punctum mora are ignored before bars\\ + & \texttt{notextonly} & punctum mora are ignored before bars inside syllables, or bars having their own syllable without text\\ + & \texttt{insideonly} & punctum mora are ignored only before bars inside syllables\\ & \texttt{never} & punctum mora are never ignored\\ \end{argtable} When a punctum mora is ignored, the bar will also be shifted by \texttt{barmoraadjustment} (zero by default), see its description in the \textbf{Distances} section. +\macroname{\textbackslash gresetbarspacing}{\{\#1\}}{gregoriotex-syllable.tex} +Macro to activate the new bar spacing algorithm. The new algorithm attempts to place the bar line exactly midway between its surrounding notes. Any text associated with the bar is placed midway between its surrounding text. Since this might result in the bar line and the text being widely separated, there is also a limit to the distance between their centers: \texttt{maxbaroffset}. + +\begin{argtable} + \#1 & \texttt{new} & Activates the new spacing algorithm\\ + & \texttt{old} & Activates the old behavior (Default)\\ +\end{argtable} + \subsubsection{Hyphenation} \macroname{\textbackslash gresethyphen}{\{\#1\}}{gregoriotex-main.tex} @@ -948,7 +990,7 @@ Macro to determine the method used for aligning the clivis with its lyrics. \subsubsection{Braces} -\macroname{\textbackslash gresetbracerendering}{\{\#1\}}{gregoriotex-signs.tex} +\macroname{\textbackslash gresetbracerendering}{[\optional{\#1}]\{\#2\}}{gregoriotex-signs.tex} Macro to tell Gregorio\TeX{} whether to use \MP{} or fonts to render braces. \MP{} braces, the default, are tailored to better maintain optical line weight when stretched. \MP{} braces are designed to @@ -956,8 +998,13 @@ harmonize (and thus match best) with greciliae, but they still look good with the other score fonts. \begin{argtable} - \#1 & \texttt{metapost} & \MP{} will be used to render braces (default)\\ - & \texttt{font} & The score font will be used to render braces + \#1 & \textit{(omitted)} & change all braces\\ + & \texttt{brace} & change round braces that appear over the staff\\ + & \texttt{underbrace} & change round braces that appear under the staff\\ + & \texttt{curlybrace} & change curly braces\\ + & \texttt{barbrace} & change round braces that appear over divisio bars\\ + \#2 & \texttt{metapost} & \MP{} will be used to render braces\\ + & \texttt{font} & The score font will be used to render braces\\ \end{argtable} \macroname{\textbackslash grebarbracewidth}{}{gregoriotex-signs.tex} @@ -1107,9 +1154,14 @@ Space before custos within a line. Space before punctum mora and augmentum duplex. \end{gdimension} -\begin{gdimension}{barmoraadjustment} -When a bar is shifted left because of a preceding punctum mora, this space is -also added. Use it to make the bar a bit further from the punctum mora if you want. +\begin{gdimension}{moraadjustment} +When a syllable (bar or not) is shifted left because of a preceding punctum +mora, this space is also added. Use it to make the syllable a bit further from +the punctum mora if you want. +\end{gdimension} + +\begin{gdimension}{moraadjustmentbar} +Same as previous one but specific to cases where puntum mora precedes a bar. \end{gdimension} \begin{gdimension}{spaceaftersigns} @@ -1415,6 +1467,10 @@ Distance an over-the-notes slur will be raised above the baseline of a note at t Distance an under-the-notes slur will be raised above the baseline of a note at the same height. \end{gdimension} +\begin{gdimension}{maxbaroffset} +When the new bar spacing algorithm is active, this is the maximum distance by which a bar and its associated text can be separated. +\end{gdimension} + \subsection{Penalties}\label{penalties} Penalties are used by \TeX\ to determine where line and page breaks should occur. Gregorio\TeX\ modifies or defines a few of its own to help with that process in scores. diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex index 5468228666e..9798b70d8f5 100644 --- a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex +++ b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex @@ -90,16 +90,15 @@ Macro for typesetting a bar brace. Macro for typesetting a bar syllable. \begin{argtable} - \#1 & string & First part of syllable text associated with the bar.\\ - \#2 & string & Middle part of the syllable text associated with the bar.\\ - \#3 & string & End part of the syllable text associated with the bar.\\ - \#4 & & Not used.\\ - \#5 & \TeX\ code & Code to execute before calculating \texttt{nextbegindifference}.\\ - \#6 & & Not used.\\ - \#7 & $0 <$ integer $< 19$ & the type of notes alignment. See \nameref{notesalign}.\\ - & $20 <$ integer $< 39$ & Same as below 20 except there is a flat before the notes. Subtract 20 to get the type of notes alignment.\\ - & $40 <$ integer $< 59$ & Same as below 20 except there is a natural before the notes. Subtract 40 to get the type of notes alignment.\\ - \#8 & \TeX\ code & Code to execute before printing anything.\\ + \#1 & \TeX\ code & macro setting syllable letters for the current syllable\\ + \#2 & empty & reserved for future use\\ + \#3 & \TeX\ control sequence & the control sequence to use for styling the hyphen\\ + \#4 & \texttt{0} & this syllable is not the end of a word\\ + & \texttt{1} & this syllable is the end of a word\\ + \#5 & \TeX\ code & macros setting syllable letters for the next syllable\\ + \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ + \#7 & & alignment type of the first next glyph\\ + \#8 &\TeX\ code & other macros (translation, double text, etc.) that don't fit in the limitation of the number of arguments\\ \#9 & \TeX\ code & The bar line (usually a \textit{writebar} call). \end{argtable} @@ -253,6 +252,13 @@ Macro to draw ledger lines. \#6 & distance & The distance to end the line after \#2 from this point if \#3 is \texttt{2}. \\ \end{argtable} +\macroname{\textbackslash GreElision}{\#1}{gregoriotex-syllable.tex} +Typesets \#1 using the \texttt{elision} style. + +\begin{argtable} + \#1 & string & Text to be typeset in the \texttt{elision} style.\\ +\end{argtable} + \macroname{\textbackslash GreEmptyFirstSyllableHyphen}{}{gregoriotex-syllable.tex} Macro that indicates the position of an empty-first-syllable hyphen, should one be desired. @@ -381,8 +387,8 @@ Macro to typeset a flat. \begin{argtable} \#1 & integer & Height number of the flat.\\ - \#2 & \texttt{0} & No flat for a key change.\\ - & \texttt{1} & Indicates the flat for a key change.\\ + \#2 & \texttt{0} & The flat is not part of the clef.\\ + & \texttt{1} & The flat is part of the clef.\\ \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\ \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\ \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ @@ -587,8 +593,8 @@ Macro to typeset a natural. \begin{argtable} \#1 & integer & Height number of the natural.\\ - \#2 & \texttt{0} & No flat for a key change.\\ - & \texttt{1} & Indicates the flat for a key change.\\ + \#2 & \texttt{0} & The natural is not part of the clef.\\ + & \texttt{1} & The natural is part of the clef (doesn't happen).\\ \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\ \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\ \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ @@ -716,9 +722,10 @@ Macro for typesetting punctum mora. \begin{argtable} \#1 & integer & Height number of punctum mora.\\ - \#2 & \texttt{1} & Go back to end of punctum.\\ + \#2 & \texttt{0} & General case.\\ + & \texttt{1} & Make the punctum mora zero width.\\ & \texttt{2} & Shift left width of 1 punctum.\\ - & \texttt{3} & Shift left width of 1 punctum and ambitus of 1.\\ + & \texttt{3} & Shift left width of 1 punctum if last ambitus is 1.\\ \#3 & \texttt{0} & Punctum mora does not occur before last note of podatus, porrectus, or torculus resupinus.\\ & \texttt{1} & Punctum mora occurs before last note of podatus, porrectus, or torculus resupinus.\\ \#4 & \texttt{0} & No punctum inclinatum.\\ @@ -866,8 +873,8 @@ Macro to typeset a sharp. \begin{argtable} \#1 & integer & Height number of the sharp.\\ - \#2 & \texttt{0} & No flat for a key change.\\ - & \texttt{1} & Indicates the flat for a key change.\\ + \#2 & \texttt{0} & The sharp is not part of the clef.\\ + & \texttt{1} & The sharp is part of the clef (doesn't happen).\\ \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\ \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\ \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ @@ -897,6 +904,14 @@ Typesets a slur. \#6 & integer & Height number of the pitch.\\ \end{argtable} +\macroname{\textbackslash GreSpecial}{\#1}{gregoriotex-symbols.tex} +Typesets a special character. If the \#1 special character wasn't defined by +\verb=\gresetspecial=, the text of \#1 will be output directly. + +\begin{argtable} + \#1 & string & The text between \texttt{} and \texttt{}.\\ +\end{argtable} + \macroname{\textbackslash GreStar}{}{gregoriotex-symbol.tex} Macro to typeset an asterisk (\GreStar). diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex index 80370990ddc..cb2f6b1470d 100644 --- a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex +++ b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex @@ -269,6 +269,40 @@ macro is typically called by \verb=\GreMode= in the gtex file. \#3 & \TeX\ code & Arbitrary code to typeset, in the \texttt{modedifferentia} style, after \#2.\\ \end{argtable} +\macroname{\textbackslash gre@setallbracerendering}{\#1}{gregoriotex-signs.tex} +Macro used by \verb=\gresetbracerendering= to change all braces. + +\begin{argtable} + \#1 & \texttt{metapost} & \MP{} will be used to render braces\\ + & \texttt{font} & The score font will be used to render braces\\ +\end{argtable} + +\macroname{\textbackslash gre@setbracerendering}{[\#1]\#2}{gregoriotex-signs.tex} +Macro used by \verb=\gresetbracerendering= to change a single type of brace. + +\begin{argtable} + \#1 & \texttt{brace} & change round braces that appear over the staff\\ + & \texttt{underbrace} & change round braces that appear under the staff\\ + & \texttt{curlybrace} & change curly braces\\ + & \texttt{barbrace} & change round braces that appear over divisio bars\\ + \#2 & \texttt{metapost} & \MP{} will be used to render braces\\ + & \texttt{font} & The score font will be used to render braces\\ +\end{argtable} + +\macroname{\textbackslash gre@@setbracerendering}{\#1\#2}{gregoriotex-signs.tex} +Secondary macro used by \verb=\gre@setallbracerendering= and +\verb=\gre@setbracerendering= to change a single type of brace. As a +secondary macro, it doesn't check its first argument. + +\begin{argtable} + \#1 & \texttt{brace} & change round braces that appear over the staff\\ + & \texttt{underbrace} & change round braces that appear under the staff\\ + & \texttt{curlybrace} & change curly braces\\ + & \texttt{barbrace} & change round braces that appear over divisio bars\\ + \#2 & \texttt{metapost} & \MP{} will be used to render braces\\ + & \texttt{font} & The score font will be used to render braces\\ +\end{argtable} + \macroname{\textbackslash gre@brace@common}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-signs.tex} Common macro used internally to render braces. @@ -284,6 +318,9 @@ Common macro used internally to render braces. \#7 & csname & The control sequence name representing the brace. \end{argtable} +\macroname{\textbackslash gre@render@barbrace}{}{gregoriotex-signs.tex} +Draws a divisio brace. + \macroname{\textbackslash grebracemetapostpreamble}{\#1}{gregoriotex-signs.tex} Returns the \MP{} preamble for braces. The control sequence name does not have the \texttt{@} symbol because this macro is used within \MP{}. @@ -306,6 +343,14 @@ Draws a round over-brace using \MP{}. \#1 & string & the width of the brace; if \texttt{*}, use the bar brace width. \end{argtable} +\macroname{\textbackslash gre@render@fontbrace}{\#1\#2}{gregoriotex-signs.tex} +Draws a brace using the score font. + +\begin{argtable} + \#1 & string & the width of the brace.\\ + \#2 & \TeX\ code & \TeX\ code that renders the brace using the score font.\\ +\end{argtable} + \macroname{\textbackslash gre@draw@underbrace}{\#1}{gregoriotex-signs.tex} Draws a round under-brace using \MP{}. @@ -409,8 +454,8 @@ Macro to typeset an alteration. \#1 & integer & height of the alteration\\ \#2 & character alias & the alteration\\ \#3 & character alias & the hole of the alteration\\ - \#4 & \texttt{1} & the alteration is a flat for a key change\\ - & \texttt{0} & all other cases\\ + \#4 & \texttt{1} & the alteration is part of the clef\\ + & \texttt{0} & the alteration is not part of the clef\\ \#5 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\ \#6 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\ \#7 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\ @@ -672,7 +717,7 @@ Saves clef information for use in \verb=gre@updatelinesclef=. \#4 & character & the type of the secondary clef: c or f\\ \#5 & integer & the line of the secondary clef (1 is the lowest, 0 for no secondary clef)\\ \#6 & integer & if \texttt{3}, it means that we must not put a flat after the secondary clef, otherwise it’s the height of the flat\\ -\end{argtable} +\end{argtable} \macroname{\textbackslash gre@typeclef}{\#1\#2\#3\#4\#5\#6\#7\#8}{gregoriotex-signs.tex} Macro which typesets the clef. @@ -688,7 +733,7 @@ Macro which typesets the clef. \#6 & character & the type of the secondary clef: c or f\\ \#7 & integer & the line of the secondary clef (1 is the lowest, 0 for no secondary clef)\\ \#8 & integer & if \texttt{3}, it means that we must not put a flat after the secondary clef, otherwise it’s the height of the flat\\ -\end{argtable} +\end{argtable} \macroname{\textbackslash gre@typesingleclef}{\#1\#2\#3\#4}{gregoriotex-signs.tex} Macro which typesets a single clef. @@ -699,7 +744,7 @@ Macro which typesets a single clef. \#3 & \texttt{0} & no need to use small clef characters (inside a line)\\ & \texttt{1} & we must use small clef characters (inside a line)\\ \#4 & integer & if \texttt{3}, it means that we must not put a flat after the clef, otherwise it’s the height of the flat\\ -\end{argtable} +\end{argtable} \macroname{\textbackslash gre@updateleftbox}{}{gregoriotex-main.tex} Macro to update the box printed a the left end of every line (the one which holds the staff lines). @@ -1321,8 +1366,20 @@ Boolean used to specify whether the staff lines behind an alteration should be h \macroname{\textbackslash ifgre@hepisemabridge}{}{gregoriotex-signs.tex} Boolean used to specify whether adjacent horizontal episemata should be joined together. -\macroname{\textbackslash ifgre@drawbraces}{}{gregoriotex-signs.tex} -Boolean used to specify whether braces should be drawn by \MP{} as +\macroname{\textbackslash ifgre@metapost@brace}{}{gregoriotex-signs.tex} +Boolean used to specify whether round over-the-staff braces should be drawn by +\MP{} as opposed to rendered via the score font. + +\macroname{\textbackslash ifgre@metapost@underbrace}{}{gregoriotex-signs.tex} +Boolean used to specify whether round under-the-staff braces should be drawn by +\MP{} as opposed to rendered via the score font. + +\macroname{\textbackslash ifgre@metapost@curlybrace}{}{gregoriotex-signs.tex} +Boolean used to specify whether curly braces should be drawn by \MP{} as +opposed to rendered via the score font. + +\macroname{\textbackslash ifgre@metapost@barbrace}{}{gregoriotex-signs.tex} +Boolean used to specify whether divisio braces should be drawn by \MP{} as opposed to rendered via the score font. \macroname{\textbackslash gre@biginitial}{}{gregoriotex-main.tex} @@ -1344,7 +1401,7 @@ Boolean to mark the last syllable of the score. Boolean that tells us if the current glyph is the first glyph or not. \macroname{\textbackslash gre@attr@dash}{}{gregoriotex-main.tex} -A Lua\TeX\ attribute which indicates whether a syllable takes a dash if it ends a line. +A Lua\TeX\ attribute which indicates whether a syllable takes a dash if it ends a line. \macroname{\textbackslash gre@attr@center}{}{gregoriotex-main.tex} A Lua\TeX\ attribute which indicates the type of translation centering. @@ -1367,8 +1424,11 @@ Macro which indicates whether we are currently inside a discretionary (\texttt{1 \macroname{\textbackslash ifgre@isonaline}{}{gregoriotex-syllable.tex} Boolean which indicates whether the current note is on a line or not (used to adjust the height of some symbols so they won’t print on a line). -\macroname{\textbackslash ifgre@lastispunctum}{}{gregoriotex-syllable.tex} -Boolean which indicates if the most recent note was a punctum mora. +\macroname{\textbackslash ifgre@lastendswithmora}{}{gregoriotex-syllable.tex} +Boolean which indicates if the previous syllable ends with a punctum mora (set glyph by glyph, do not rely on it when typesetting glyph). + +\macroname{\textbackslash ifgre@thisendswithmora}{}{gregoriotex-syllable.tex} +Same as previous one but for current syllable. \macroname{\textbackslash ifgre@lastispunctumsave}{}{gregoriotex-signs.tex} Boolean for storing \verb=\ifgre@lastispunctum= so that it can be restored later. @@ -1460,9 +1520,20 @@ Boolean indicating whether the staff has a fifth line. \macroname{\textbackslash gre@count@barshiftaftermora}{}{gregoriotex-signs.tex} Count indicating when the presence of a punctum mora immediately before a bar line should affect the spacing. +\macroname{\textbackslash gre@count@lastglyphiscavum}{}{gregoriotex-spaces.tex} +Count indicating if the last glyph has a cavum (this includes flats, naturals, punctum cavum, etc.), when staff line shouldn't appear underneath this empty part. Can be: +\begin{itemize} +\item 0: previous and current glyph are not cavum +\item 1: current glyph is (set when line is hidden, at the end of the glyph) +\item 2: previous glyph is (set at beginning of glyph) +\end{itemize} + \macroname{\textbackslash ifgre@allowdeprecated}{}{gregoriotex.sty \textup{and} gregoriotex.tex} Boolean which controls whether deprecated functions raise a warning (true) or an error (false). +\macroname{\textbackslash ifgre@newbarspacing}{}{gregoriotex-syllable.tex} +Boolean which controls whether the new bar spacing algorithm is activated. + \subsection{Boxes} @@ -1521,8 +1592,11 @@ second is the name of the distance. These additional distances are calculated by Gregorio based on the values for the user customizable distances and what may be going on in the score at the time of their use. +\macroname{\textbackslash gre@dimen@morawidth}{}{gregoriotex-spaces.tex} +Width of a punctum mora (reinitialized at each score, lazily recomputed). + \macroname{\textbackslash gre@dimen@clefwidth}{}{gregoriotex-spaces.tex} -Width of the clef. +Width of the current clef. \macroname{\textbackslash gre@dimen@constantglyphraise}{}{gregoriotex-spaces.tex} Dimension representing the space between the 0 of the gregorian fonts and the effective 0 of the TeX score. @@ -1561,7 +1635,7 @@ the localleftbox for a big initial (one taking two lines). Dimension representing the width of the initial (and the space after). \macroname{\textbackslash gre@dimen@currentabovelinestextheight}{}{gregoriotex-spaces.tex} -Dimension representing the space allocated above the lines for text. +Dimension representing the space allocated above the lines for text. \macroname{\textbackslash gre@dimen@staffheight}{}{gregoriotex-spaces.tex} The total height of the staff including the width of the lines and the spaces between them. @@ -1620,23 +1694,23 @@ The distance from the baseline of the initial to the baseline of the annotation. \macroname{\textbackslash gre@dimen@commentarytrueraise}{}{gregoriotex-spaces.tex} The distance from the baseline of the initial to the baseline of the commentary. -\macroname{\textbackslash gre@minTextDistance}{}{gregoriotex-spaces.tex} -Minimum distance between text (meaningful alias for \verb=\gre@skip@temp@one= inside \verb=\gre@calculate@syllablefinalskip=). +\macroname{\textbackslash gre@skip@minTextDistance}{}{gregoriotex-spaces.tex} +Minimum distance between text. -\macroname{\textbackslash gre@minNotesDistance}{}{gregoriotex-spaces.tex} -Minimum distance between notes (meaningful alias for \verb=\gre@skip@temp@two= inside \verb=\gre@calculate@syllablefinalskip=). +\macroname{\textbackslash gre@skip@minNotesDistance}{}{gregoriotex-spaces.tex} +Minimum distance between notes. -\macroname{\textbackslash gre@curTextDistance}{}{gregoriotex-spaces.tex} -Current distance between text (meaningful alias for \verb=\gre@dimen@temp@three= inside \verb=\gre@calculate@syllablefinalskip=). +\macroname{\textbackslash gre@dimen@curTextDistance}{}{gregoriotex-spaces.tex} +Current distance between text. -\macroname{\textbackslash gre@curNotesDistance}{}{gregoriotex-spaces.tex} -Current distance between notes (meaningful alias for \verb=\gre@dimen@temp@four= inside \verb=\gre@calculate@syllablefinalskip=). +\macroname{\textbackslash gre@dimen@curNotesDistance}{}{gregoriotex-spaces.tex} +Current distance between notes. -\macroname{\textbackslash gre@minShiftText}{}{gregoriotex-spaces.tex} -Minimum shift required for the text (meaningful alias for \verb=\gre@skip@temp@three= inside \verb=\gre@calculate@syllablefinalskip=). +\macroname{\textbackslash gre@skip@minShiftText}{}{gregoriotex-spaces.tex} +Minimum shift required for the text. -\macroname{\textbackslash gre@minShiftNotes}{}{gregoriotex-spaces.tex} -Minimum shift required for the notes (meaningful alias for \verb=\gre@skip@temp@four= inside \verb=\gre@calculate@syllablefinalskip=). +\macroname{\textbackslash gre@skip@minShiftNotes}{}{gregoriotex-spaces.tex} +Minimum shift required for the notes. \macroname{\textbackslash gre@save@parfillskip}{}{gregoriotex-main.tex} Macro to store \verb=\parfillskip= value so that we can restore it at the end of the score (needed to force the last line of a score to be justified). diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex b/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex index cb463323859..b770c35b457 100644 --- a/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex +++ b/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex @@ -209,6 +209,29 @@ the notes into the above primitives. Using the same examples as before: (;) @[IJkh](@[IJkh]) } +\subsection{Stem length for the bottom lines} + +Gregorio will determine the length of the stem for most neumes. +Some manual input might be needed for notes on the bottom staff +line (\textit{d}). Most of the time they will take a short form: + +\gabcsnippet{(c3) dv(dv) ed(ed) ed~(ed~) dcd(dcd)} + +But when a ledger line is drawn below these notes, they should take a long +form. The problem is that many cases are ambiguous: for instance if a note +is close to a ledger line, one may want to make it long, others may not. +To solve this problem, you can add \texttt{[ll:0]} to any note of a glyph to +force the stem of the glyph to get its short form, or \texttt{[ll:1]} to force +its long form. + +% This snippet makes LuaTeX segfault! +%\gabcsnippet{ +% (c3) dv[ll:1](dv[ll:1]) ed[ll:1](ed[ll:1]) +% ed~[ll:1](ed~[ll:1]) dcd[ll:1](dcd[ll:1] Z) +% b!dv[ll:0](b!dv[ll:0]) b!ed[ll:0](b!ed[ll:0]) +% b!ed~[ll:0](b!ed~[ll:0]) dcd[ll:0]!b(dcd[ll:0]!b) +% } + \subsection{Custom Ledger Lines} To specify a custom ledger line, use diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta1.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta1.pdf deleted file mode 100644 index 4e2e7841c4e..00000000000 Binary files a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta1.pdf and /dev/null differ diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta2.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta2.pdf new file mode 100644 index 00000000000..839e08d8824 Binary files /dev/null and b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-beta2.pdf differ diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta1.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta1.pdf deleted file mode 100644 index 9443d145145..00000000000 Binary files a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta1.pdf and /dev/null differ diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta2.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta2.pdf new file mode 100644 index 00000000000..45e8bb07687 Binary files /dev/null and b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-beta2.pdf differ diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex index dd4a1ff3244..0f666bf5656 100644 --- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex +++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex @@ -152,7 +152,7 @@ \vspace{1cm} - \large Version \textbf{4.1.0-beta1}, 23 January 2016 %% PARSE_VERSION_DATE + \large Version \textbf{4.1.0-beta2}, 8 February 2016 %% PARSE_VERSION_DATE \vspace{1.5cm} \end{center} diff --git a/Build/source/texk/gregorio/gregorio-src/src/Makefile.am b/Build/source/texk/gregorio/gregorio-src/src/Makefile.am index 1bc3209ac20..df996ee02e0 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/Makefile.am +++ b/Build/source/texk/gregorio/gregorio-src/src/Makefile.am @@ -132,6 +132,10 @@ utf8strings.h: utf8strings.h.in encode_utf8strings${EXEEXT}: encode_utf8strings.c $(CC) -o $@ $< +clean-local: + find . -name '*.gcno' -print | xargs rm -f -- + find . -name '*.gcda' -print | xargs rm -f -- + BUILT_SOURCES = utf8strings.h \ gabc/gabc-notes-determination-l.c \ gabc/gabc-score-determination-l.c \ diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.c b/Build/source/texk/gregorio/gregorio-src/src/characters.c index dc18f5d593e..b840587c31c 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/characters.c +++ b/Build/source/texk/gregorio/gregorio-src/src/characters.c @@ -37,9 +37,6 @@ #include #include #include -#ifdef USE_KPSE - #include -#endif #include "bool.h" #include "struct.h" #include "unicode.h" @@ -51,16 +48,6 @@ #define VOWEL_FILE "gregorio-vowels.dat" -#ifndef USE_KPSE -static __inline void rtrim(char *buf) -{ - char *p; - for (p = buf + strlen(buf) - 1; p >= buf && isspace(*p); --p) { - *p = '\0'; - } -} -#endif - static bool read_vowel_rules(char *const lang) { char *language = lang; rulefile_parse_status status = RFPS_NOT_FOUND; @@ -68,48 +55,7 @@ static bool read_vowel_rules(char *const lang) { const char *description; int tries; -#ifdef USE_KPSE - filenames = kpse_find_file_generic(VOWEL_FILE, kpse_tex_format, true, true); - if (!filenames) { - if (strcmp(language, "Latin") != 0) { - gregorio_messagef("read_patterns", VERBOSITY_WARNING, 0, - _("kpse_find_file_generic cannot find %s"), VOWEL_FILE); - } - return false; - } -#else - FILE *file; - size_t bufsize = 0; - char *buf = NULL; - size_t capacity = 16, size = 0; - - filenames = gregorio_malloc(capacity * sizeof(char *)); - - file = popen("kpsewhich " VOWEL_FILE, "r"); - if (!file) { - gregorio_messagef("read_patterns", VERBOSITY_WARNING, 0, - _("unable to run kpsewhich %s: %s"), VOWEL_FILE, - strerror(errno)); - return false; - } - while (gregorio_readline(&buf, &bufsize, file)) { - rtrim(buf); - if (strlen(buf) > 0) { - filenames[size++] = gregorio_strdup(buf); - if (size >= capacity) { - capacity <<= 1; - filenames = gregorio_realloc(filenames, - capacity * sizeof(char *)); - } - } else { - gregorio_messagef("read_patterns", VERBOSITY_WARNING, 0, - _("kpsewhich returned bad value for %s"), VOWEL_FILE); - } - } - free(buf); - filenames[size] = NULL; - pclose(file); -#endif + gregorio_kpse_find_or_else(filenames, VOWEL_FILE, return false); gregorio_vowel_tables_init(); /* only need to try twice; if it's not resolved by then, there is an alias @@ -190,29 +136,62 @@ static __inline gregorio_character *skip_verbatim_or_special( return ch; } +static __inline bool handle_elision(const gregorio_character *const ch, + bool *in_elision) +{ + if (ch->cos.s.style != ST_ELISION) { + return false; + } + + switch (ch->cos.s.type) { + case ST_T_BEGIN: + *in_elision = true; + break; + + case ST_T_END: + *in_elision = false; + break; + + case ST_T_NOTHING: + /* not reachable unless there's a programming error */ + assert(false); /* LCOV_EXCL_LINE */ + break; + } + return true; +} + static void determine_center(gregorio_character *character, int *start, - int *end) { + int *end) +{ int count; grewchar *subject; gregorio_character *ch; + bool in_elision; *start = *end = -1; + in_elision = false; for (count = 0, ch = character; ch; ch = ch->next_character) { if (ch->is_character) { - ++count; - } else { + if (!in_elision) { + ++count; + } + } else if (!handle_elision(ch, &in_elision)) { ch = skip_verbatim_or_special(ch); } } if (count == 0) { return; } + + in_elision = false; subject = (grewchar *)gregorio_malloc((count + 1) * sizeof(grewchar)); for (count = 0, ch = character; ch; ch = ch->next_character) { if (ch->is_character) { - subject[count ++] = ch->cos.character; - } else { + if (!in_elision) { + subject[count ++] = ch->cos.character; + } + } else if (!handle_elision(ch, &in_elision)) { ch = skip_verbatim_or_special(ch); } } @@ -254,12 +233,11 @@ static bool go_to_end_initial(gregorio_character **param_character) * this element. */ -static void style_push(det_style **current_style, unsigned char style) +static void style_push(det_style **current_style, grestyle_style style) { det_style *element; - if (!current_style) { - return; - } + gregorio_assert(current_style, style_push, "current_style may not be NULL", + return); element = (det_style *) gregorio_malloc(sizeof(det_style)); element->style = style; element->previous_style = NULL; @@ -276,9 +254,8 @@ static void style_push(det_style **current_style, unsigned char style) static void style_pop(det_style **first_style, det_style *element) { - if (!element || !first_style || !*first_style) { - return; - } + gregorio_assert(element && first_style && *first_style, style_pop, + "invalid arguments", return); if (element->previous_style) { assert(*first_style != element); element->previous_style->next_style = element->next_style; @@ -297,16 +274,13 @@ static void style_pop(det_style **first_style, det_style *element) } /* - * free_styles just free the stack. You may notice that it will never be used - * in a normal functionment. But we never know... + * free_styles just frees the stack. */ static void free_styles(det_style **first_style) { det_style *current_style; - if (!first_style) { - return; - } + gregorio_not_null(first_style, free_styles, return); current_style = (*first_style); while (current_style) { current_style = current_style->next_style; @@ -325,7 +299,7 @@ static void free_styles(det_style **first_style) */ static __inline void verb_or_sp(const gregorio_character **ptr_character, const grestyle_style style, FILE *const f, - void (*const function) (FILE *, grewchar *)) + void (*const function) (FILE *, const grewchar *)) { int i, j; grewchar *text; @@ -357,11 +331,9 @@ static __inline void verb_or_sp(const gregorio_character **ptr_character, while (j < i) { if (current_character->is_character) { text[j] = current_character->cos.character; - current_character = current_character->next_character; j++; - } else { - current_character = current_character->next_character; } + current_character = current_character->next_character; } text[i] = 0; function(f, text); @@ -387,15 +359,14 @@ static __inline void verb_or_sp(const gregorio_character **ptr_character, */ void gregorio_write_text(const gregorio_write_text_phase phase, const gregorio_character *current_character, FILE *const f, - void (*const printverb) (FILE *, grewchar *), + void (*const printverb) (FILE *, const grewchar *), void (*const printchar) (FILE *, grewchar), void (*const begin) (FILE *, grestyle_style), void (*const end) (FILE *, grestyle_style), - void (*const printspchar) (FILE *, grewchar *)) + void (*const printspchar) (FILE *, const grewchar *)) { - if (current_character == NULL) { - return; - } + gregorio_assert(current_character, gregorio_write_text, + "current_character may not be NULL", return); while (current_character) { if (current_character->is_character) { printchar(f, current_character->cos.character); @@ -443,20 +414,20 @@ void gregorio_write_text(const gregorio_write_text_phase phase, void gregorio_write_first_letter_alignment_text( const gregorio_write_text_phase phase, const gregorio_character *current_character, FILE *const f, - void (*const printverb) (FILE *, grewchar *), + void (*const printverb) (FILE *, const grewchar *), void (*const printchar) (FILE *, grewchar), void (*const begin) (FILE *, grestyle_style), void (*const end) (FILE *, grestyle_style), - void (*const printspchar) (FILE *, grewchar *)) + void (*const printspchar) (FILE *, const grewchar *)) { /* stack of styles to close and reopen */ det_style *first_style = NULL; det_style *last_style = NULL; int first_letter_open = (phase == WTP_FIRST_SYLLABLE)? 2 : 1; - if (!current_character) { - return; - } + gregorio_assert(current_character, + gregorio_write_first_letter_alignment_text, + "current_character may not be NULL", return); /* go to the first character */ gregorio_go_to_first_character(¤t_character); @@ -475,7 +446,8 @@ void gregorio_write_first_letter_alignment_text( close_first_letter = first_letter_open != 0; } else switch (current_character->cos.s.type) { case ST_T_NOTHING: - assert(false); + /* not reachable unless there's a programming error */ + assert(false); /* LCOV_EXCL_LINE */ break; case ST_T_BEGIN: /* handle styles */ @@ -509,13 +481,18 @@ void gregorio_write_first_letter_alignment_text( switch (current_character->cos.s.style) { case ST_CENTER: case ST_FORCED_CENTER: - case ST_INITIAL: case ST_FIRST_SYLLABLE_INITIAL: /* ignore */ break; + case ST_INITIAL: + /* in the case where the initial is closed before the first + * letter */ + close_first_letter = first_letter_open > 1; + break; case ST_VERBATIM: case ST_SPECIAL_CHAR: - assert(false); + /* not reachable unless there's a programming error */ + assert(false); /* LCOV_EXCL_LINE */ break; case ST_FIRST_WORD: case ST_FIRST_SYLLABLE: @@ -524,7 +501,8 @@ void gregorio_write_first_letter_alignment_text( } /* else fall through */ default: /* pop the style from the stack */ - assert(first_style && first_style->style + assert(first_style); + assert(first_style->style == current_character->cos.s.style); style_pop(&first_style, first_style); end(f, current_character->cos.s.style); @@ -569,93 +547,17 @@ void gregorio_write_first_letter_alignment_text( } if (phase == WTP_FIRST_SYLLABLE) { - while ((--first_letter_open) >= 0) { - end(f, ST_SYLLABLE_INITIAL); - } + /* the only way this can happen is if the first syllable is empty, + * but if the first syllable is empty, this function will not be + * called */ + gregorio_assert_only(!first_letter_open, + gregorio_write_first_letter_alignment_text, + "first_syllable was not closed properly"); } free_styles(&first_style); } -/* the default behaviour is to write only the initial, that is to say things - * between the styles ST_INITIAL */ -void gregorio_write_initial(const gregorio_character *current_character, - FILE *const f, void (*const printverb) (FILE *, grewchar *), - void (*const printchar) (FILE *, grewchar), - void (*const begin) (FILE *, grestyle_style), - void (*const end) (FILE *, grestyle_style), - void (*const printspchar) (FILE *, grewchar *)) -{ - /* we loop until we see the beginning of the initial style */ - gregorio_go_to_first_character(¤t_character); - while (current_character) { - if (!current_character->is_character - && current_character->cos.s.type == ST_T_BEGIN - && current_character->cos.s.style == ST_INITIAL) { - current_character = current_character->next_character; - break; - } - - current_character = current_character->next_character; - } - /* then we loop until we see the end of the initial style, but we print */ - while (current_character) { - if (current_character->is_character) { - printchar(f, current_character->cos.character); - } else { - if (current_character->cos.s.type == ST_T_BEGIN) { - switch (current_character->cos.s.style) { - case ST_VERBATIM: - verb_or_sp(¤t_character, ST_VERBATIM, f, printverb); - break; - case ST_SPECIAL_CHAR: - verb_or_sp(¤t_character, ST_SPECIAL_CHAR, f, - printspchar); - break; - default: - begin(f, current_character->cos.s.style); - break; - } - } else { /* ST_T_END */ - if (current_character->cos.s.style == ST_INITIAL) { - return; - } else { - end(f, current_character->cos.s.style); - } - } - } - current_character = current_character->next_character; - } -} - -/* - * - * A very simple function that returns the first text of a score, or the null - * character if there is no such thing. - * - */ - -gregorio_character *gregorio_first_text(gregorio_score *score) -{ - gregorio_syllable *current_syllable; - if (!score || !score->first_syllable) { - gregorio_message(_("unable to find the first letter of the score"), - "gregorio_first_text", VERBOSITY_ERROR, 0); - return NULL; - } - current_syllable = score->first_syllable; - while (current_syllable) { - if (current_syllable->text) { - return current_syllable->text; - } - current_syllable = current_syllable->next_syllable; - } - - gregorio_message(_("unable to find the first letter of the score"), - "gregorio_first_text", VERBOSITY_ERROR, 0); - return NULL; -} - /* * Here starts the code of the handling of text and styles. * @@ -768,54 +670,28 @@ static void insert_char_after(grewchar c, /* * - * This function suppresses the current character, updates the double chained - * list, and updates current_character to the character after, if there is one. - * - */ - -static void suppress_current_character( - gregorio_character **current_character) -{ - gregorio_character *thischaracter; - if (!current_character || !*current_character) { - return; - } - thischaracter = *current_character; - if ((*current_character)->previous_character) { - (*current_character)->previous_character->next_character = - (*current_character)->next_character; - } - if ((*current_character)->next_character) { - (*current_character)->next_character->previous_character = - (*current_character)->previous_character; - } - (*current_character) = (*current_character)->next_character; - free(thischaracter); -} - -/* - * - * This function suppresses the corresponding character, updates the double - * chained list, but does not touch to current_character. + * This function suppresses the character, updates the double chained + * list, and returns the character after, if there is one. * */ -static void suppress_this_character(gregorio_character *to_suppress) +static __inline gregorio_character *suppress_character( + gregorio_character *current_character) { - if (!to_suppress) { - return; - } - if (to_suppress->previous_character) { - assert(to_suppress->previous_character->next_character == to_suppress); - to_suppress->previous_character->next_character = - to_suppress->next_character; - } - if (to_suppress->next_character) { - assert(to_suppress->next_character->previous_character == to_suppress); - to_suppress->next_character->previous_character = - to_suppress->previous_character; + if (current_character) { + gregorio_character *thischaracter = current_character; + if (current_character->previous_character) { + current_character->previous_character->next_character = + current_character->next_character; + } + if (current_character->next_character) { + current_character->next_character->previous_character = + current_character->previous_character; + } + current_character = current_character->next_character; + free(thischaracter); } - free(to_suppress); + return current_character; } /* @@ -830,14 +706,23 @@ static void suppress_this_character(gregorio_character *to_suppress) static __inline void close_style(gregorio_character *current_character, det_style *current_style) { + /* we suppose that there is a previous_character, because there is a + * current_style + */ + gregorio_assert(current_character && current_character->previous_character, + close_syllable, "have a style but no previous character", return); if (!current_character->previous_character->is_character && current_character->previous_character->cos.s.style == current_style->style) { - /* - * we suppose that there is a previous_character, because there is a - * current_style - */ - suppress_this_character(current_character->previous_character); + /* we do it this way rather than calling suppress_character on the + * previous character because the intent is more obvious to both the + * human reading it and to the clang static analyzer */ + gregorio_character *tofree = current_character->previous_character; + if (tofree->previous_character) { + tofree->previous_character->next_character = current_character; + } + current_character->previous_character = tofree->previous_character; + free(tofree); } else { insert_style_before(ST_T_END, current_style->style, current_character); } @@ -911,56 +796,6 @@ static __inline void begin_center(grestyle_style type, *ptr_style = current_style; } -/* - * - * the macro called when we have ended the determination of the current - * character. It makes current_character point to the last character, not to - * null at the end of the determination. - * - */ - -#define end_c() if (_end_c(¤t_character)) continue; else break; -static __inline bool _end_c(gregorio_character **ptr_character) -{ - if ((*ptr_character)->next_character) { - *ptr_character = (*ptr_character)->next_character; - /* continue */ - return true; - } else { - /* break */ - return false; - } -} - -/* - * - * basically the same except that we suppress the current_character - * - */ - -#define suppress_char_and_end_c() if (_suppress_char_and_end_c(¤t_character)) continue; else break; -static __inline bool _suppress_char_and_end_c( - gregorio_character **ptr_character) -{ - if ((*ptr_character)->next_character) { - *ptr_character = (*ptr_character)->next_character; - suppress_this_character((*ptr_character)->previous_character); - /* continue */ - return true; - } else { - if ((*ptr_character)->previous_character) { - gregorio_character *to_suppress = *ptr_character; - (*ptr_character) = (*ptr_character)->previous_character; - suppress_this_character(to_suppress); - } else { - suppress_this_character(*ptr_character); - *ptr_character = NULL; - } - /* break */ - return false; - } -} - /* * THE big function. Very long, using a lot of long macros, etc. I hope you * really want to understand it, 'cause it won't be easy. @@ -982,14 +817,15 @@ void gregorio_rebuild_characters(gregorio_character **const param_character, { /* the current_character */ gregorio_character *current_character = *param_character; - /* a char that we will use in a very particular case */ - grestyle_style this_style; + gregorio_character *sentinel; det_style *first_style = NULL; /* determining the type of centering (forced or not) */ grestyle_style center_type = ST_NO_STYLE; int start = -1, end = -1, index = -1; + bool in_elision = false; + det_style *current_style; /* so, here we start: we go to the first_character */ - if (go_to_end_initial(¤t_character)) { + if (skip_initial && go_to_end_initial(¤t_character)) { if (!current_character->next_character) { /* nothing else to rebuild, but the initial needs to be ST_CENTER */ insert_style_after(ST_T_END, ST_CENTER, ¤t_character); @@ -999,10 +835,10 @@ void gregorio_rebuild_characters(gregorio_character **const param_character, (*param_character) = current_character; return; } - if (skip_initial) { - /* move to the character after the initial */ - current_character = current_character->next_character; - } else { + /* move to the character after the initial */ + current_character = current_character->next_character; + } else { + if (current_character) { gregorio_go_to_first_character_c(¤t_character); } } @@ -1013,163 +849,198 @@ void gregorio_rebuild_characters(gregorio_character **const param_character, } else { center_type = ST_FORCED_CENTER; } + if (!current_character) { + return; + } + for (sentinel = current_character; sentinel->next_character; + sentinel = sentinel->next_character) { + /* just loop to get the last character */ + } + /* put a sentinel at the end to aid in looping */ + insert_style_after(ST_T_NOTHING, ST_SENTINEL, &sentinel); /* we loop until there isn't any character */ - while (current_character) { + while (current_character && current_character != sentinel) { + /* IMPORTANT: A continue inside this loop MUST put current_character on + * the next character to process */ + /* the first part of the function deals with real characters (not * styles) */ if (current_character->is_character) { - ++index; - /* the firstcase is if the user hasn't determined the middle, and - * we have only seen vowels so far (else center_is_determined - * would be DETERMINING_MIDDLE). The current_character is the - * first vowel, so we start the center here. */ - if (!center_is_determined && index == start) { - begin_center(center_type, current_character, &first_style); - center_is_determined = CENTER_DETERMINING_MIDDLE; - end_c(); - } - /* the case where the user has not determined the middle and we - * are in the middle section of the syllable, but there we - * encounter something that is not a vowel, so the center ends - * there. */ - if (center_is_determined == CENTER_DETERMINING_MIDDLE - && index == end) { - end_center(center_type, current_character, &first_style); - center_is_determined = CENTER_FULLY_DETERMINED; - } - /* in the case where it is just a normal character... we simply - * pass. */ - end_c(); - } - /* there starts the second part of the function that deals with the - * styles characters */ - if (current_character->cos.s.type == ST_T_BEGIN - && current_character->cos.s.style != ST_CENTER - && current_character->cos.s.style != ST_FORCED_CENTER) { - /* first, if it it the beginning of a style, which is not center. - * We check if the style is not already in the stack. If it is the - * case, we suppress the character and pass (with the good macro) */ - det_style *current_style = NULL; - for (current_style = first_style; current_style - && current_style->style != current_character->cos.s.style; - current_style = current_style->next_style) { - /* just loop */ - } - if (current_style) { - suppress_char_and_end_c(); - } - /* if we are determining the end of the middle and we have a - * VERBATIM or SPECIAL_CHAR style, we end the center - * determination */ - if ((current_character->cos.s.style == ST_VERBATIM - || current_character->cos.s.style == - ST_SPECIAL_CHAR) - && center_is_determined == CENTER_DETERMINING_MIDDLE) { - end_center(center_type, current_character, &first_style); - center_is_determined = CENTER_FULLY_DETERMINED; - } - /* if it is something to add then we just push the style in the - * stack and continue. */ - style_push(&first_style, current_character->cos.s.style); - /* Here we pass all the characters after a verbatim (or special - * char) beginning, until we find a style (begin or end) */ - if (current_character->cos.s.style == ST_VERBATIM - || current_character->cos.s.style == ST_SPECIAL_CHAR) { - if (current_character->next_character) { - current_character = current_character->next_character; - } - while (current_character->next_character - && current_character->is_character) { - current_character = current_character->next_character; - } - } else { - end_c(); - } - } - /* if it is a beginning of a center, we call the good macro and end. */ - if (current_character->cos.s.type == ST_T_BEGIN - && (current_character->cos.s.style == ST_CENTER - || current_character->cos.s.style == - ST_FORCED_CENTER)) { - if (current_character->cos.s.style == ST_CENTER) { - center_type = ST_CENTER; - } else { - center_type = ST_FORCED_CENTER; + if (!in_elision) { + ++index; + if (!center_is_determined && index == start) { + /* the firstcase is if the user hasn't determined the + * middle, and we have only seen vowels so far (else + * center_is_determined would be DETERMINING_MIDDLE). The + * current_character is the first vowel, so we start the + * center here. */ + begin_center(center_type, current_character, &first_style); + center_is_determined = CENTER_DETERMINING_MIDDLE; + } else if (center_is_determined == CENTER_DETERMINING_MIDDLE + && index == end) { + /* the case where the user has not determined the middle + * and we are in the middle section of the syllable, but + * there we encounter something that is not a vowel, so the + * center ends there. */ + end_center(center_type, current_character, &first_style); + center_is_determined = CENTER_FULLY_DETERMINED; + } /* else it is just a normal character... we simply pass. */ } - if (center_is_determined) { - end_c(); - } - /* center_is_determined = DETERMINING_MIDDLE; */ - /* TODO: not really sure, but shouldn't be there */ - begin_center(center_type, current_character, &first_style); - end_c(); - } - if (current_character->cos.s.type == ST_T_END - && current_character->cos.s.style != ST_CENTER - && current_character->cos.s.style != ST_FORCED_CENTER) { - /* the case of the end of a style (the most complex). First, we - * have to see if the style is in the stack. If there is no stack, - * we just suppress and continue. */ - if (!first_style) { - suppress_char_and_end_c(); - } - /* so, we look if it is in the stack. If it is we put - * current_style to the style just before the style corresponding - * to the character that we are treating (still there ?) */ - if (first_style->style != current_character->cos.s.style) { - det_style *current_style = NULL; - for (current_style = first_style; current_style->next_style - && current_style->next_style->style != - current_character->cos.s.style; - current_style = current_style->next_style) { - /* just loop */ + } else { + const grestyle_style style = current_character->cos.s.style; + /* there starts the second part of the function that deals with the + * styles characters */ + switch (current_character->cos.s.type) { + case ST_T_BEGIN: + /* the beginning of a style */ + switch (style) { + case ST_VERBATIM: + case ST_SPECIAL_CHAR: + /* if we are determining the end of the middle and we have + * a VERBATIM or SPECIAL_CHAR style, we end the center + * determination */ + if (center_is_determined == CENTER_DETERMINING_MIDDLE) { + end_center(center_type, current_character, &first_style); + center_is_determined = CENTER_FULLY_DETERMINED; + } + /* Here we pass all the characters after a verbatim (or + * special char) beginning, until we find a style (begin or + * end) */ + if (current_character->next_character) { + current_character = current_character->next_character; + } + while (current_character && current_character != sentinel + && current_character->is_character) { + current_character = current_character->next_character; + } + assert(current_character); + if (current_character != sentinel) { + gregorio_assert2(!current_character->is_character + && current_character->cos.s.type == ST_T_END + && current_character->cos.s.style == style, + gregorio_rebuild_characters, "mismatched %s", + grestyle_style_to_string(style), break); + } + break; + + case ST_CENTER: + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail(gregorio_rebuild_characters, + "encountered unexpected begin ST_CENTER"); + break; + /* LCOV_EXCL_STOP */ + + case ST_FORCED_CENTER: + begin_center(center_type, current_character, &first_style); + current_character = suppress_character(current_character); + continue; + + default: + handle_elision(current_character, &in_elision); + /* it the beginning of a style, which is not center. We + * check if the style is not already in the stack. If it is + * the case, we suppress the character and pass */ + for (current_style = first_style; current_style + && current_style->style != current_character->cos.s.style; + current_style = current_style->next_style) { + /* just loop */ + } + if (current_style) { + current_character = suppress_character(current_character); + continue; + } + /* if it is something to add then we just push the style in the + * stack and continue. */ + style_push(&first_style, current_character->cos.s.style); + break; } - if (current_style->next_style) { - for (current_style = first_style; current_style; - current_style = current_style->previous_style) { - /* if there are styles before in the stack, we close - * them */ - insert_style_before(ST_T_END, current_style->style, - current_character); + break; + + case ST_T_END: + /* the beginning of a style */ + switch(current_character->cos.s.style) { + case ST_VERBATIM: + case ST_SPECIAL_CHAR: + case ST_CENTER: + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(gregorio_rebuild_characters, + "encountered unexpected end %s", + grestyle_style_to_string( + current_character->cos.s.style)); + break; + /* LCOV_EXCL_STOP */ + + case ST_FORCED_CENTER: + end_center(center_type, current_character, &first_style); + current_character = suppress_character(current_character); + continue; + + default: + handle_elision(current_character, &in_elision); + /* the case of the end of a style (the most complex). + * First, we have to see if the style is in the stack. If + * there is no stack, we just suppress and continue. */ + if (!first_style) { + current_character = suppress_character(current_character); + continue; } - this_style = current_character->cos.s.style; - /* and then we reopen them */ - for (current_style = first_style; current_style && - current_style->style != this_style; + /* so, we look if it is in the stack. If it is we put + * current_style to the style just before the style + * corresponding to the character that we are treating + * (still there ?) */ + for (current_style = first_style; current_style + && current_style->style + != current_character->cos.s.style; current_style = current_style->next_style) { - insert_style_after(ST_T_BEGIN, current_style->style, - ¤t_character); + /* just loop */ + } + if (current_style) { + det_style *this_style; + /* if there are styles before in the stack, we close + * them */ + for (this_style = first_style; + this_style != current_style; + this_style = this_style->next_style) { + insert_style_before(ST_T_END, this_style->style, + current_character); + } + /* and then we reopen them */ + for (this_style = this_style->previous_style; + this_style; + this_style = this_style->previous_style) { + insert_style_after(ST_T_BEGIN, this_style->style, + ¤t_character); + } + /* we delete the style in the stack */ + style_pop(&first_style, current_style); + } else { + current_character = suppress_character(current_character); + continue; } - /* we delete the style in the stack */ - style_pop(&first_style, current_style); - } else { - suppress_char_and_end_c(); } - } else { - style_pop(&first_style, first_style); - end_c(); - } - } else { /* ST_T_END && ST_CENTER */ - /* a quite simple case, we just call the good macro. */ - if (!center_is_determined) { - suppress_char_and_end_c(); + break; + + default: + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail(gregorio_rebuild_characters, + "unexpected style type"); } + /* LCOV_EXCL_STOP */ } - end_c(); - } - if (!current_character) { - return; + current_character = current_character->next_character; } + /* destroy the sentinel */ + current_character = sentinel->previous_character; + current_character->next_character = NULL; + free(sentinel); /* we terminate all the styles that are still in the stack */ - { - /* introduce a scope so current_style is local, since we can't - * initialize in the loop (as in C99) */ - det_style *current_style = NULL; - for (current_style = first_style; current_style; - current_style = current_style->next_style) { - insert_style_after(ST_T_END, current_style->style, - ¤t_character); - } + for (current_style = first_style; current_style; + current_style = current_style->next_style) { + insert_style_after(ST_T_END, current_style->style, + ¤t_character); } /* current_character is at the end of the list now, so if we havn't closed * the center, we do it at the end. */ @@ -1219,12 +1090,13 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character, gregorio_character *start_of_special; /* so, here we start: we go to the first_character */ gregorio_go_to_first_character_c(¤t_character); - /* first we look at the styles, to see if there is a FORCED_CENTER - * somewhere and we also remove the CENTER styles if the syllable starts at - * CENTER */ - if (!param_character) { - return; - } + /* first we look at the styles to see if there is a FORCED_CENTER + * somewhere */ + /* Note: we don't have to deal with ST_CENTER here because + * gregorio_rebuild_first_syllable is meant to be run **before** + * gregorio_rebuild_characters, which is what adds ST_CENTER */ + gregorio_assert(param_character, gregorio_rebuild_first_syllable, + "param_character may not be NULL", return); while (current_character) { if (!current_character->is_character) { if (current_character->cos.s.style == ST_FORCED_CENTER) { @@ -1232,16 +1104,6 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character, * center */ break; } - if (current_character->cos.s.style == ST_CENTER) { - /* we have to do it in case param_character (the first - * character) is a ST_CENTER beginning */ - if (!current_character->previous_character - && current_character == *param_character) { - *param_character = (*param_character)->next_character; - } - suppress_current_character(¤t_character); - continue; - } } current_character = current_character->next_character; } @@ -1287,10 +1149,6 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character, start_of_special->previous_character = NULL; current_character->next_character = first_character; first_character->previous_character = current_character; - - gregorio_message(_ - ("Any style applied to the initial will be ignored."), - NULL, VERBOSITY_WARNING, 0); } break; } @@ -1304,10 +1162,6 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character, current_character->previous_character = NULL; current_character->next_character = first_character; first_character->previous_character = current_character; - - gregorio_message(_ - ("Any style applied to the initial will be ignored."), - NULL, VERBOSITY_WARNING, 0); } insert_style_before(ST_T_BEGIN, ST_INITIAL, current_character); insert_style_after(ST_T_END, ST_INITIAL, ¤t_character); diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.h b/Build/source/texk/gregorio/gregorio-src/src/characters.h index 06486dadc9b..32cea87401e 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/characters.h +++ b/Build/source/texk/gregorio/gregorio-src/src/characters.h @@ -55,8 +55,6 @@ typedef struct det_style { struct det_style *next_style; } det_style; -gregorio_character *gregorio_first_text(gregorio_score *score); - typedef enum gregorio_write_text_phase { WTP_NORMAL, WTP_FIRST_SYLLABLE @@ -64,31 +62,22 @@ typedef enum gregorio_write_text_phase { void gregorio_write_text(gregorio_write_text_phase phase, const gregorio_character *current_character, FILE *f, - void (*printverb) (FILE *, grewchar *), + void (*printverb) (FILE *, const grewchar *), void (*printchar) (FILE *, grewchar), void (*begin) (FILE *, grestyle_style), void (*end) (FILE *, grestyle_style), - void (*printspchar) (FILE *, grewchar *)); + void (*printspchar) (FILE *, const grewchar *)); void gregorio_write_first_letter_alignment_text(gregorio_write_text_phase phase, const gregorio_character *current_character, FILE *f, - void (*printverb) (FILE *, grewchar *), - void (*printchar) (FILE *, grewchar), - void (*begin) (FILE *, grestyle_style), - void (*end) (FILE *, grestyle_style), - void (*printspchar) (FILE *, grewchar *)); - -void gregorio_write_initial(const gregorio_character *current_character, - FILE *f, void (*printverb) (FILE *, grewchar *), + void (*printverb) (FILE *, const grewchar *), void (*printchar) (FILE *, grewchar), void (*begin) (FILE *, grestyle_style), void (*end) (FILE *, grestyle_style), - void (*printspchar) (FILE *, grewchar *)); + void (*printspchar) (FILE *, const grewchar *)); void gregorio_set_centering_language(char *language); -gregorio_character *gregorio_first_text(gregorio_score *score); - void gregorio_rebuild_characters(gregorio_character **param_character, gregorio_center_determination center_is_determined, bool skip_initial); diff --git a/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c b/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c index f2adafa80c5..8fd22fcf508 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c +++ b/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c @@ -49,12 +49,22 @@ void dump_write_characters(FILE *const f, gregorio_print_unichar(f, current_character->cos.character); fprintf(f, "\n"); } else { - if (current_character->cos.s.type == ST_T_BEGIN) { + switch (current_character->cos.s.type) { + case ST_T_BEGIN: fprintf(f, " beginning of style %s\n", dump_style_to_string(current_character->cos.s.style)); - } else { + break; + case ST_T_END: fprintf(f, " end of style %s\n", dump_style_to_string(current_character->cos.s.style)); + break; + default: + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + fprintf(f, " !! IMPROPER STYLE !! %s\n", + dump_style_to_string(current_character->cos.s.style)); + break; + /* LCOV_EXCL_STOP */ } } current_character = current_character->next_character; @@ -74,7 +84,8 @@ static const char *dump_pitch(const char height, const char highest_pitch) { } gregorio_snprintf(buf, 20, "%c", pitch); } else { - gregorio_snprintf(buf, 20, "?%d", height); + /* not reachable unless there's a programming error */ + gregorio_snprintf(buf, 20, "?%d", height); /* LCOV_EXCL_LINE */ } return buf; } @@ -87,11 +98,8 @@ void dump_write_score(FILE *f, gregorio_score *score) gregorio_syllable *syllable; gregorio_header *header; - if (!f) { - gregorio_message(_("call with NULL file"), "gregoriotex_write_score", - VERBOSITY_ERROR, 0); - return; - } + gregorio_assert(f, dump_write_score, "call with NULL file", return); + fprintf(f, "=====================================================================\n" " SCORE INFOS\n" @@ -177,23 +185,20 @@ void dump_write_score(FILE *f, gregorio_score *score) for (syllable = score->first_syllable; syllable; syllable = syllable->next_syllable) { gregorio_element *element; - if (syllable->type) { - fprintf(f, " type %d (%s)\n", - syllable->type, gregorio_type_to_string(syllable->type)); - } + fprintf(f, " type 0 (GRE_SYLLABLE)\n"); if (syllable->position) { fprintf(f, " position %d (%s)\n", syllable->position, gregorio_word_position_to_string(syllable->position)); } - if (syllable->special_sign) { - fprintf(f, " special sign %s\n", - gregorio_sign_to_string(syllable->special_sign)); - } if (syllable->no_linebreak_area != NLBA_NORMAL) { fprintf(f, " no line break area %s\n", gregorio_nlba_to_string(syllable->no_linebreak_area)); } + if (syllable->euouae != EUOUAE_NORMAL) { + fprintf(f, " euouae %s\n", + gregorio_euouae_to_string(syllable->euouae)); + } if (syllable->text) { if (syllable->translation) { fprintf(f, "\n Text\n"); @@ -327,19 +332,6 @@ void dump_write_score(FILE *f, gregorio_score *score) unpitched.info.space)); break; - case GRE_BAR: - fprintf(f, " glyph_type %d (%s)\n", - glyph->u.misc.unpitched.info.bar, - gregorio_bar_to_string(glyph->u.misc.unpitched. - info.bar)); - if (glyph->u.misc.unpitched.special_sign) { - fprintf(f, " special sign %d (%s)\n", - glyph->u.misc.unpitched.special_sign, - gregorio_sign_to_string(glyph-> - u.misc.unpitched.special_sign)); - } - break; - case GRE_GLYPH: fprintf(f, " glyph_type %d (%s)\n", glyph->u.notes.glyph_type, @@ -354,8 +346,12 @@ void dump_write_score(FILE *f, gregorio_score *score) break; default: - fprintf(f, " !!! UNKNOWN !!! !!!\n"); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + fprintf(f, " !!! NOT ALLOWED !!! %s\n", + gregorio_type_to_string(glyph->type)); break; + /* LCOV_EXCL_STOP */ } if (glyph->type == GRE_GLYPH) { for (note = glyph->u.notes.first_note; note; @@ -388,8 +384,12 @@ void dump_write_score(FILE *f, gregorio_score *score) break; default: - fprintf(f, " !!! NOT ALLOWED !!! !!!\n"); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + fprintf(f, " !!! NOT ALLOWED !!! %s\n", + gregorio_type_to_string(note->type)); break; + /* LCOV_EXCL_STOP */ } if (note->texverb) { fprintf(f, " TeX string \"%s\"\n", @@ -466,8 +466,12 @@ void dump_write_score(FILE *f, gregorio_score *score) break; default: - /* do nothing */ + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + fprintf(f, " !!! NOT ALLOWED !!! %s\n", + gregorio_type_to_string(element->type)); break; + /* LCOV_EXCL_STOP */ } if (element->nabc_lines) { fprintf(f, " nabc_lines %d\n", diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c index a0291dd50e3..dddde3ae4b8 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c @@ -36,22 +36,32 @@ * */ -static __inline bool is_puncta_ascendens(char glyph) +static __inline bool is_puncta_ascendens(gregorio_glyph_type glyph) { - return glyph == G_2_PUNCTA_INCLINATA_ASCENDENS - || glyph == G_3_PUNCTA_INCLINATA_ASCENDENS - || glyph == G_4_PUNCTA_INCLINATA_ASCENDENS - || glyph == G_5_PUNCTA_INCLINATA_ASCENDENS - || glyph == G_PUNCTUM_INCLINATUM; + switch (glyph) { + case G_2_PUNCTA_INCLINATA_ASCENDENS: + case G_3_PUNCTA_INCLINATA_ASCENDENS: + case G_4_PUNCTA_INCLINATA_ASCENDENS: + case G_5_PUNCTA_INCLINATA_ASCENDENS: + case G_PUNCTUM_INCLINATUM: + return true; + default: + return false; + } } -static __inline bool is_puncta_descendens(char glyph) +static __inline bool is_puncta_descendens(gregorio_glyph_type glyph) { - return glyph == G_2_PUNCTA_INCLINATA_DESCENDENS - || glyph == G_3_PUNCTA_INCLINATA_DESCENDENS - || glyph == G_4_PUNCTA_INCLINATA_DESCENDENS - || glyph == G_5_PUNCTA_INCLINATA_DESCENDENS - || glyph == G_PUNCTUM_INCLINATUM; + switch (glyph) { + case G_2_PUNCTA_INCLINATA_DESCENDENS: + case G_3_PUNCTA_INCLINATA_DESCENDENS: + case G_4_PUNCTA_INCLINATA_DESCENDENS: + case G_5_PUNCTA_INCLINATA_DESCENDENS: + case G_PUNCTUM_INCLINATUM: + return true; + default: + return false; + } } /* @@ -111,17 +121,14 @@ static gregorio_element *gabc_det_elements_from_glyphs( gregorio_element *first_element = NULL; /* the first_glyph of the element that we are currently determining */ gregorio_glyph *first_glyph = current_glyph; - /* the last real (GRE_GLYPH) that we have processed, often the same as - * first_glyph */ - gregorio_glyph *previous_glyph = current_glyph; + /* the last real (GRE_GLYPH) that we have processed */ + gregorio_glyph *previous_glyph = NULL; /* a char that is necessary to determine some cases */ bool do_not_cut = false; /* a char that is necesarry to determine the type of the current_glyph */ - char current_glyph_type; + gregorio_glyph_type current_glyph_type; - if (!current_glyph) { - return NULL; - } + gregorio_not_null(current_glyph, gabc_det_elements_from_glyphs, return NULL); /* first we go to the first glyph in the chained list of glyphs (maybe to * suppress ?) */ gregorio_go_to_first_glyph(¤t_glyph); @@ -133,6 +140,7 @@ static gregorio_element *gabc_det_elements_from_glyphs( switch (current_glyph->u.misc.unpitched.info.space) { case SP_ZERO_WIDTH: case SP_HALF_SPACE: + case SP_INTERGLYPH_SPACE: if (!current_glyph->next) { close_element(¤t_element, &first_glyph, current_glyph); } @@ -144,12 +152,13 @@ static gregorio_element *gabc_det_elements_from_glyphs( break; } } - /* we must not cut after a zero_width_space */ + /* we must not cut after a texverb */ if (current_glyph->type == GRE_TEXVERB_GLYPH) { if (!current_glyph->next) { close_element(¤t_element, &first_glyph, current_glyph); } current_glyph = current_glyph->next; + do_not_cut = true; continue; } /* clef change or space or end of line */ @@ -172,19 +181,23 @@ static gregorio_element *gabc_det_elements_from_glyphs( current_glyph->texverb); } first_glyph = current_glyph->next; - previous_glyph = current_glyph->next; + previous_glyph = NULL; current_glyph->texverb = NULL; gregorio_free_one_glyph(¤t_glyph); continue; } - if (is_puncta_ascendens(current_glyph->type)) { + if (is_fused(current_glyph->u.notes.liquescentia)) { + do_not_cut = true; + } + + if (is_puncta_ascendens(current_glyph->u.notes.glyph_type)) { current_glyph_type = G_PUNCTA_ASCENDENS; } else { - if (is_puncta_descendens(current_glyph->type)) { + if (is_puncta_descendens(current_glyph->u.notes.glyph_type)) { current_glyph_type = G_PUNCTA_DESCENDENS; } else { - current_glyph_type = current_glyph->type; + current_glyph_type = current_glyph->u.notes.glyph_type; } } switch (current_glyph_type) { @@ -204,28 +217,42 @@ static gregorio_element *gabc_det_elements_from_glyphs( do_not_cut = false; } break; - case G_ONE_NOTE: - if (current_glyph->u.notes.first_note - && (current_glyph->u.notes.first_note->u.note.shape == S_STROPHA - || current_glyph->u.notes.first_note->u.note.shape == S_VIRGA - || current_glyph->u.notes.first_note->u.note.shape == S_VIRGA_REVERSA)) { - /* we determine the last pitch */ - char last_pitch; - gregorio_note *tmp_note; - tmp_note = previous_glyph->u.notes.first_note; - while (tmp_note->next) { - tmp_note = tmp_note->next; - } - last_pitch = tmp_note->u.note.pitch; - if (current_glyph->u.notes.first_note->u.note.pitch == last_pitch) { - previous_glyph = current_glyph; - break; + /* one note glyphs */ + case G_PUNCTUM: + case G_VIRGA: + case G_BIVIRGA: + case G_TRIVIRGA: + case G_VIRGA_REVERSA: + case G_STROPHA: + case G_STROPHA_AUCTA: + case G_DISTROPHA: + case G_DISTROPHA_AUCTA: + case G_TRISTROPHA: + case G_TRISTROPHA_AUCTA: + if (previous_glyph && !is_tail_liquescentia( + previous_glyph->u.notes.liquescentia)) { + if (previous_glyph) { + signed char last_pitch; + /* we determine the last pitch */ + gregorio_note *tmp_note; + tmp_note = previous_glyph->u.notes.first_note; + while (tmp_note->next) { + tmp_note = tmp_note->next; + } + last_pitch = tmp_note->u.note.pitch; + if (current_glyph->u.notes.first_note->u.note.pitch + == last_pitch) { + do_not_cut = false; + previous_glyph = current_glyph; + break; + } } } /* else we fall in the default case */ default: if (do_not_cut) { do_not_cut = false; + previous_glyph = current_glyph; } else { cut_before(current_glyph, &first_glyph, &previous_glyph, ¤t_element); diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c index b54369e9e7b..8c5a0b86971 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c @@ -98,8 +98,8 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, /* here we separate notes that would be logically in the same glyph * but that are too far to be so */ if (last_pitch) { - if (current_pitch - last_pitch > MAX_INTERVAL - || current_pitch - last_pitch < -MAX_INTERVAL) { + if (current_pitch - last_pitch > MAX_AMBITUS + || current_pitch - last_pitch < -MAX_AMBITUS) { current_glyph_type = G_UNDETERMINED; } } @@ -188,8 +188,13 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, if (current_pitch > last_pitch) { next_glyph_type = G_PORRECTUS; } else { - *end_of_glyph = DET_END_OF_CURRENT; - next_glyph_type = G_ANCUS; + if (liquescentia & L_DEMINUTUS) { + *end_of_glyph = DET_END_OF_CURRENT; + next_glyph_type = G_ANCUS; + } else { + *end_of_glyph = DET_END_OF_PREVIOUS; + next_glyph_type = G_PUNCTUM; + } } break; case G_TORCULUS: @@ -257,6 +262,7 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, break; case S_BIVIRGA: if (current_glyph_type == G_VIRGA && last_pitch == current_pitch) { + *end_of_glyph = DET_END_OF_CURRENT; next_glyph_type = G_TRIVIRGA; } else { *end_of_glyph = DET_END_OF_PREVIOUS; @@ -315,7 +321,7 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, if (last_pitch < current_pitch) { next_glyph_type = G_3_PUNCTA_INCLINATA_ASCENDENS; } else { - next_glyph_type = G_TRIGONUS; + next_glyph_type = G_PUNCTA_INCLINATA; } break; case G_3_PUNCTA_INCLINATA_ASCENDENS: @@ -334,7 +340,7 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, break; case G_2_PUNCTA_INCLINATA_DESCENDENS: if (last_pitch < current_pitch) { - next_glyph_type = G_TRIGONUS; + next_glyph_type = G_PUNCTA_INCLINATA; } else { next_glyph_type = G_3_PUNCTA_INCLINATA_DESCENDENS; } @@ -392,7 +398,12 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, next_glyph_type = G_TRISTROPHA; break; default: + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(gregorio_add_note_to_a_glyph, "unexpected shape: %s", + gregorio_shape_to_string(shape)); break; + /* LCOV_EXCL_STOP */ } /* end of the main switch */ @@ -419,12 +430,22 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, * it was not the same glyph, there we must say that the previous * glyph has ended. */ if (last_pitch) { - if (current_pitch - last_pitch > MAX_INTERVAL - || current_pitch - last_pitch < -MAX_INTERVAL) { + if (current_pitch - last_pitch > MAX_AMBITUS + || current_pitch - last_pitch < -MAX_AMBITUS) { if (*end_of_glyph == DET_END_OF_CURRENT || *end_of_glyph == DET_END_OF_BOTH) { + /* There is no current way for the code to end up here, but + * we'll leave it in because it's a good safety precaution in + * case something new is added in the future */ + /* LCOV_EXCL_START */ + gregorio_message(_("Encountered the need to switch " + "DET_END_OF_CURRENT to DET_END_OF_BOTH because of " + "overly large ambitus"), + "gregorio_add_note_to_a_glyph", VERBOSITY_WARNING, + __LINE__); *end_of_glyph = DET_END_OF_BOTH; } else { + /* LCOV_EXCL_STOP */ *end_of_glyph = DET_END_OF_PREVIOUS; } } @@ -453,9 +474,6 @@ static gregorio_note *close_normal_glyph(gregorio_glyph **last_glyph, { gregorio_note *new_current_note = current_note; gregorio_scanner_location loc; - /* a variable necessary for the patch for G_BIVIRGA & co. */ - gregorio_note *added_notes = NULL; - gregorio_note *next_note = NULL; /* patch to have good glyph type in the case where a glyph ends by a note * with shape S_QUADRATUM */ @@ -481,12 +499,16 @@ static gregorio_note *close_normal_glyph(gregorio_glyph **last_glyph, || glyph_type == G_TRISTROPHA_AUCTA) { gregorio_go_to_first_note(¤t_note); while (current_note) { + /* a variable necessary for the patch for G_BIVIRGA & co. */ + gregorio_note *added_notes = NULL; + gregorio_note *next_note = NULL; if (current_note->type == GRE_NOTE) { switch (current_note->u.note.shape) { case S_TRIVIRGA: gregorio_add_note(&added_notes, current_note->u.note.pitch, S_VIRGA, _NO_SIGN, L_NO_LIQUESCENTIA, current_note, copy_note_location(current_note, &loc)); + /* fall through */ case S_BIVIRGA: gregorio_add_note(&added_notes, current_note->u.note.pitch, S_VIRGA, _NO_SIGN, L_NO_LIQUESCENTIA, current_note, @@ -501,6 +523,7 @@ static gregorio_note *close_normal_glyph(gregorio_glyph **last_glyph, S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA, current_note, copy_note_location(current_note, &loc)); + /* fall through */ case S_DISTROPHA: gregorio_add_note(&added_notes, current_note->u.note.pitch, S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA, @@ -511,29 +534,19 @@ static gregorio_note *close_normal_glyph(gregorio_glyph **last_glyph, current_note->u.note.liquescentia, current_note, copy_note_location(current_note, &loc)); break; - case S_TRISTROPHA_AUCTA: - gregorio_add_note(&added_notes, current_note->u.note.pitch, - S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA, - current_note, - copy_note_location(current_note, &loc)); - case S_DISTROPHA_AUCTA: - gregorio_add_note(&added_notes, current_note->u.note.pitch, - S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA, - current_note, - copy_note_location(current_note, &loc)); - gregorio_add_note(&added_notes, current_note->u.note.pitch, - S_STROPHA_AUCTA, current_note->signs, - current_note->u.note.liquescentia, current_note, - copy_note_location(current_note, &loc)); - break; default: break; } } - /* this is the case of two separate virga that have been spotted - * as a bivirga */ if (!added_notes) { - break; + /* nothing added, but we must go on in case it's + * virga+bivirga = trivirga or stropa+bistropha = tristropha */ + if (current_note->next) { + current_note = current_note->next; + continue; + } else { + break; + } } next_note = current_note->next; /* now we have what we want, we set up the links and free the old @@ -542,12 +555,13 @@ static gregorio_note *close_normal_glyph(gregorio_glyph **last_glyph, current_note->next->previous = added_notes; added_notes->next = next_note; } + if (current_note == new_current_note) { + new_current_note = added_notes; + } gregorio_go_to_first_note(&added_notes); if (current_note->previous) { current_note->previous->next = added_notes; added_notes->previous = current_note->previous; - } else { - new_current_note = added_notes; } /* Detaching current_note is not strictly necessary here because we * are effectively plucking out added_notes into its own glyph; @@ -582,16 +596,15 @@ static gregorio_note *close_fused_glyph(gregorio_glyph **last_glyph, static gregorio_note *next_non_texverb_note(gregorio_note *first_note, gregorio_note *last_note) { - if (first_note == NULL) { - return NULL; - } + gregorio_not_null(first_note, gregorio_note, return NULL); if (first_note == last_note) { - if (first_note->type == GRE_TEXVERB_GLYPH) { - gregorio_message(_("Unexpected texverb at start of iteration"), - "next_non_texverb_note", VERBOSITY_ERROR, 0); - } + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_assert_only(first_note->type != GRE_TEXVERB_GLYPH, + next_non_texverb_note, "Unexpected texverb at start of iteration"); return first_note; + /* LCOV_EXCL_STOP */ } for (first_note = first_note->next; first_note && first_note != last_note; @@ -601,10 +614,8 @@ static gregorio_note *next_non_texverb_note(gregorio_note *first_note, } } - if (first_note && first_note->type == GRE_TEXVERB_GLYPH) { - gregorio_message(_("Unexpected texverb at end of iteration"), - "next_non_texverb_note", VERBOSITY_ERROR, 0); - } + gregorio_assert_only(!first_note || first_note->type != GRE_TEXVERB_GLYPH, + next_non_texverb_note, "Unexpected texverb at end of iteration"); return last_note; } @@ -636,11 +647,9 @@ static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph, int prev_shift = 0, shift, shift2; gregorio_note *result; - if ((*first_note)->type == GRE_TEXVERB_GLYPH) { - gregorio_message(_("Unexpected texverb at start of fusion"), - "close_fusion_glyph", VERBOSITY_ERROR, 0); - return real_last_note; - } + gregorio_assert((*first_note)->type != GRE_TEXVERB_GLYPH, + close_fusion_glyph, "Unexpected texverb at start of fusion", + return real_last_note); for (last_note = real_last_note; last_note != *first_note && last_note->type == GRE_TEXVERB_GLYPH; @@ -658,19 +667,16 @@ static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph, (*first_note)->type, &((*first_note)->u.other), _NO_SIGN, (*first_note)->texverb); (*first_note)->texverb = NULL; - if (*first_note == last_note) { - gregorio_message(_("Unexpected texverb at end of fusion"), - "close_fusion_glyph", VERBOSITY_ERROR, 0); - return last_note; - } + gregorio_assert(*first_note != last_note, + close_fusion_glyph, "Unexpected texverb at end of fusion", + return last_note); gregorio_free_one_note(first_note); } - if (*first_note == last_note || !(next = (*first_note)->next)) { - gregorio_message(_("Unexpected single note during fusion"), - "close_fusion_glyph", VERBOSITY_ERROR, 0); - return last_note; - } + gregorio_assert( + *first_note != last_note && (next = (*first_note)->next), + close_fusion_glyph, "Unexpected single note during fusion", + return last_note); next = next_non_texverb_note(*first_note, last_note); @@ -690,11 +696,8 @@ static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph, if (prev_shift >= 0 && shift < 0) { /* check for a porrectus-like flexus */ gregorio_note *next_next = next_non_texverb_note(next, last_note); - if (!next_next) { - gregorio_message(_("Unexpected end of notes during fusion"), - "close_fusion_glyph", VERBOSITY_ERROR, 0); - return last_note; - } + gregorio_assert(next_next, close_fusion_glyph, + "Unexpected end of notes during fusion", return last_note); shift2 = next_next->u.note.pitch - next->u.note.pitch; if (shift2 > 0) { if (next_next == last_note) { @@ -854,9 +857,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, gregorio_liquescentia head_liquescentia; bool autofuse = false, first_autofused_note = false; - if (current_note == NULL) { - return NULL; - } + gregorio_assert(current_note, gabc_det_glyphs_from_notes, + "current_note may not be NULL", return NULL); gregorio_go_to_first_note(¤t_note); @@ -1114,10 +1116,6 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, current_note->u.note.shape = S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS; break; - - default: - /* do nothing */ - break; } if (current_note->next @@ -1188,10 +1186,6 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, current_note->u.note.shape = S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS; break; - - default: - /* do nothing */ - break; } if (current_note->next diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c index 28602e9290d..df9700984f1 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c @@ -404,19 +404,19 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 40, 40, 40, 40, 40, 40, 40, 40, 41, - 42, 40, 40, 41, 40, 40, 40, 40, 40, 40, + 41, 40, 40, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 43, 44, 40, 45, 40, 46, 40, 47, - - 40, 40, 40, 40, 48, 49, 50, 51, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 52, 53, - 54, 55, 56, 40, 57, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, - 58, 40, 60, 40, 40, 40, 61, 62, 40, 40, - 63, 64, 40, 65, 40, 66, 67, 68, 68, 69, - 68, 68, 69, 68, 68, 68, 68, 68, 68, 68, - 68, 70, 68, 71, 72, 73, 40, 40, 74, 75, - 76, 77, 78, 79, 40, 80, 81, 40, 40, 40, + 40, 40, 42, 43, 40, 44, 40, 45, 40, 46, + + 40, 40, 40, 40, 47, 48, 49, 50, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 51, 52, + 53, 54, 55, 40, 56, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, + 57, 40, 59, 40, 40, 40, 60, 61, 40, 40, + 62, 63, 40, 64, 40, 65, 66, 67, 67, 68, + 67, 67, 68, 67, 67, 67, 67, 67, 67, 67, + 67, 69, 67, 70, 71, 72, 40, 40, 73, 74, + 75, 76, 77, 78, 40, 79, 80, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, @@ -436,19 +436,19 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 40, 40, 40, 40, 40, 40, 40, 40, 41, - 42, 40, 40, 41, 40, 40, 40, 40, 40, 40, + 41, 40, 40, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 43, 44, 40, 45, 40, 46, 40, 47, - 40, 40, 40, 40, 48, 49, 50, 51, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 52, 53, - 54, 55, 56, 40, 57, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, - - 58, 40, 60, 40, 40, 40, 61, 62, 40, 40, - 63, 64, 40, 65, 40, 66, 67, 68, 68, 69, - 68, 68, 69, 68, 68, 68, 68, 68, 68, 68, - 68, 70, 68, 71, 72, 73, 40, 40, 74, 75, - 76, 77, 78, 79, 40, 80, 81, 40, 40, 40, + 40, 40, 42, 43, 40, 44, 40, 45, 40, 46, + 40, 40, 40, 40, 47, 48, 49, 50, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 51, 52, + 53, 54, 55, 40, 56, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, + + 57, 40, 59, 40, 40, 40, 60, 61, 40, 40, + 62, 63, 40, 64, 40, 65, 66, 67, 67, 68, + 67, 67, 68, 67, 67, 67, 67, 67, 67, 67, + 67, 69, 67, 70, 71, 72, 40, 40, 73, 74, + 75, 76, 77, 78, 40, 79, 80, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, @@ -466,67 +466,130 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 83, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82 - }, - - { - 39, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 83, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82 - + 39, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 82, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81 + }, + + { + 39, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 82, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81 + + }, + + { + 39, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 82, 83, 83, 83, 83, 83, 83, + + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83 + }, + + { + 39, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 82, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83 }, { @@ -538,11 +601,9 @@ static yyconst flex_int32_t yy_nxt[][256] = 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 82, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, @@ -557,23 +618,23 @@ static yyconst flex_int32_t yy_nxt[][256] = 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84 }, { 39, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 82, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, @@ -588,6 +649,8 @@ static yyconst flex_int32_t yy_nxt[][256] = 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84 }, @@ -599,13 +662,11 @@ static yyconst flex_int32_t yy_nxt[][256] = 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 82, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, @@ -620,23 +681,23 @@ static yyconst flex_int32_t yy_nxt[][256] = 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 + }, { 39, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 82, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, @@ -649,6 +710,8 @@ static yyconst flex_int32_t yy_nxt[][256] = 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, @@ -660,15 +723,13 @@ static yyconst flex_int32_t yy_nxt[][256] = 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 83, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 82, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, @@ -683,8 +744,10 @@ static yyconst flex_int32_t yy_nxt[][256] = 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86 + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86 }, { @@ -696,11 +759,9 @@ static yyconst flex_int32_t yy_nxt[][256] = 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 83, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 82, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, @@ -715,23 +776,23 @@ static yyconst flex_int32_t yy_nxt[][256] = 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86 }, { 39, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 83, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 82, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, @@ -746,6 +807,8 @@ static yyconst flex_int32_t yy_nxt[][256] = 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 }, @@ -757,13 +820,11 @@ static yyconst flex_int32_t yy_nxt[][256] = 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 83, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 82, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, @@ -778,13 +839,16 @@ static yyconst flex_int32_t yy_nxt[][256] = 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 + }, { 39, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 89, 88, 88, 89, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, @@ -792,9 +856,6 @@ static yyconst flex_int32_t yy_nxt[][256] = 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 83, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, @@ -807,6 +868,8 @@ static yyconst flex_int32_t yy_nxt[][256] = 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, @@ -815,23 +878,23 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 89, 88, 88, 89, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 83, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, @@ -840,72 +903,72 @@ static yyconst flex_int32_t yy_nxt[][256] = 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88 - }, { - 39, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 90, 89, 89, 90, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89 - }, - - { - 39, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 90, 89, 89, 90, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89 + 39, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 82, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90 + }, + + { + 39, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 82, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90 }, { @@ -915,13 +978,11 @@ static yyconst flex_int32_t yy_nxt[][256] = 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 83, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 82, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, @@ -936,13 +997,15 @@ static yyconst flex_int32_t yy_nxt[][256] = 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 + }, { 39, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, @@ -950,9 +1013,7 @@ static yyconst flex_int32_t yy_nxt[][256] = 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 83, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 82, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, @@ -965,6 +1026,8 @@ static yyconst flex_int32_t yy_nxt[][256] = 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, @@ -976,15 +1039,13 @@ static yyconst flex_int32_t yy_nxt[][256] = 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 83, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 82, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, @@ -999,8 +1060,10 @@ static yyconst flex_int32_t yy_nxt[][256] = 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92 + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92 }, { @@ -1012,11 +1075,9 @@ static yyconst flex_int32_t yy_nxt[][256] = 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 83, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 82, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, @@ -1031,23 +1092,23 @@ static yyconst flex_int32_t yy_nxt[][256] = 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92 }, { 39, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 83, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 82, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, @@ -1062,6 +1123,8 @@ static yyconst flex_int32_t yy_nxt[][256] = 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93 }, @@ -1073,13 +1136,11 @@ static yyconst flex_int32_t yy_nxt[][256] = 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 83, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 82, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, @@ -1094,12 +1155,217 @@ static yyconst flex_int32_t yy_nxt[][256] = 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93 + }, { 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 95, 96, 94, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 82, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 + }, + + { + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 95, 96, 94, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 82, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 + }, + + { + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 98, 99, 94, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 82, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 + }, + + { + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 98, 99, 94, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 82, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 + }, + + { + 39, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 94, + + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 94, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101 + + }, + + { + 39, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 94, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 94, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101 + }, + + { + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 102, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 103, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, @@ -1108,39 +1374,125 @@ static yyconst flex_int32_t yy_nxt[][256] = 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 83, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 + }, + + { + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 102, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 103, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94 }, + { + 39, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 94, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + + 104, 104, 104, 94, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104 + }, + + { + 39, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 94, + + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 94, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104 + + }, + { 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 105, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 106, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 83, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, @@ -1149,6 +1501,30 @@ static yyconst flex_int32_t yy_nxt[][256] = 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 + }, + + { + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 105, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 106, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, @@ -1156,451 +1532,75 @@ static yyconst flex_int32_t yy_nxt[][256] = 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94 + }, + + { + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 82, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 }, { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 96, 97, 95, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 83, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 96, 97, 95, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 83, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 99, 100, 95, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 83, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 99, 100, 95, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 83, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 95, - - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 95, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102 - - }, - - { - 39, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 95, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 95, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 103, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 104, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 103, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 104, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 95, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - - 105, 105, 105, 95, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105 - }, - - { - 39, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 95, - - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 95, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105 - - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 106, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 107, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 106, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 107, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 83, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 39, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 83, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 82, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 }, { @@ -1667,8 +1667,8 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, -41, -41, -41, -41, -41, -41, -41, -41, 108, - 108, -41, -41, 108, -41, -41, -41, -41, -41, -41, + 39, -41, -41, -41, -41, -41, -41, -41, -41, 107, + 107, -41, -41, 107, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, @@ -1699,8 +1699,8 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, -42, -42, -42, -42, -42, -42, -42, -42, 108, - 108, -42, -42, 108, -42, -42, -42, -42, -42, -42, + 39, -42, -42, -42, -42, -42, -42, -42, -42, -42, + -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, @@ -1730,66 +1730,66 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43 - }, - - { - 39, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 110, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 111, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109 + 39, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 109, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 110, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108 + }, + + { + 39, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, + -44, -44, -44, -44, -44, -44 }, @@ -1830,7 +1830,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, + -46, -46, -46, -46, -46, -46, -46, -46, 111, 111, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, @@ -1861,8 +1861,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, 112, 112, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, + -47, -47, -47, -47, -47, -47, -47, -47, -47, 112, + 112, 112, 112, 112, 112, 112, 112, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, @@ -1891,16 +1891,16 @@ static yyconst flex_int32_t yy_nxt[][256] = 39, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, -48, 113, - 113, 113, 113, 113, 113, 113, 113, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, -48, + 113, -48, -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, -48, 113, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, @@ -1924,15 +1924,15 @@ static yyconst flex_int32_t yy_nxt[][256] = -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, 114, 114, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, -49, - 114, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, -49, 114, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, @@ -1955,13 +1955,13 @@ static yyconst flex_int32_t yy_nxt[][256] = 39, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, -50, -50, -50, -50, -50, -50, -50, 115, 115, - -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, + -50, -50, -50, 115, -50, -50, -50, -50, -50, -50, + -50, -50, -50, -50, -50, -50, -50, 116, 117, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, + -50, 118, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, @@ -1988,12 +1988,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, 116, 117, -51, + -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, + -51, -51, -51, -51, -51, -51, -51, -51, 119, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, 118, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, @@ -2019,8 +2019,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, 119, -52, + -52, -52, -52, -52, -52, -52, -52, -52, -52, 112, + 112, 112, 112, 112, 112, 112, 112, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, @@ -2051,14 +2051,14 @@ static yyconst flex_int32_t yy_nxt[][256] = -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, 113, - 113, 113, 113, 113, 113, 113, 113, -53, -53, -53, + -53, -53, -53, -53, -53, -53, -53, 120, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, + 121, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, @@ -2082,7 +2082,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, 120, -54, -54, + -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, @@ -2090,7 +2090,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - 121, -54, -54, -54, -54, -54, -54, -54, -54, -54, + -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, @@ -2148,12 +2148,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, + -56, -56, -56, -56, -56, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, -56, + 122, -56, -56, -56, -56, -56, -56, -56, -56, -56, + -56, 123, -56, -56, -56, -56, -56, 122, 122, 124, + 122, 122, 124, 122, 122, 122, 122, 122, 122, 122, + 122, -56, 122, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, @@ -2179,13 +2179,13 @@ static yyconst flex_int32_t yy_nxt[][256] = -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, -57, + -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - 122, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, 123, -57, -57, -57, -57, -57, 122, 122, 124, - 122, 122, 124, 122, 122, 122, 122, 122, 122, 122, - 122, -57, 122, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, -57, 125, -57, -57, -57, + -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, 126, -57, -57, 127, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, @@ -2213,10 +2213,10 @@ static yyconst flex_int32_t yy_nxt[][256] = -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, 125, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, 126, -58, -58, 127, -58, + -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, + -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, @@ -2335,7 +2335,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, + -62, -62, -62, 128, -62, 129, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, @@ -2365,9 +2365,6 @@ static yyconst flex_int32_t yy_nxt[][256] = 39, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, 128, -63, 129, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, @@ -2375,6 +2372,9 @@ static yyconst flex_int32_t yy_nxt[][256] = -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, + -63, -63, -63, -63, -63, -63, -63, 130, -63, 131, + -63, 132, -63, 133, 134, -63, -63, -63, 135, -63, + 136, 137, -63, -63, -63, -63, -63, 138, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, @@ -2404,9 +2404,9 @@ static yyconst flex_int32_t yy_nxt[][256] = -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, -64, -64, -64, -64, 130, -64, 131, - -64, 132, -64, 133, 134, -64, -64, -64, 135, -64, - 136, 137, -64, -64, -64, -64, -64, 138, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, @@ -2430,8 +2430,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, + -65, -65, -65, -65, -65, -65, -65, -65, 139, 139, + 139, 139, 139, 139, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, @@ -2462,8 +2462,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, -66, -66, -66, -66, -66, 139, 139, - 139, 139, 139, 139, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, @@ -2493,15 +2493,15 @@ static yyconst flex_int32_t yy_nxt[][256] = -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, + -67, -67, -67, 140, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, + -67, -67, -67, -67, -67, -67, 125, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, + -67, -67, -67, -67, -67, 126, -67, -67, 127, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, @@ -2525,12 +2525,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, 140, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, 140, -68, -68, -68, -68, -68, 141, + 141, 141, 141, 141, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, 125, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -68, -68, -68, 142, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, 126, -68, -68, 127, -68, @@ -2556,15 +2556,15 @@ static yyconst flex_int32_t yy_nxt[][256] = -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, 140, -69, -69, -69, -69, -69, 141, - 141, 141, 141, 141, -69, -69, -69, -69, -69, -69, + -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, + -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, -69, -69, -69, 125, -69, -69, -69, - -69, -69, -69, -69, -69, -69, -69, -69, 142, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, -69, -69, 126, -69, -69, 127, -69, + -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, + -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, + -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, @@ -2620,8 +2620,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, + -71, -71, -71, -71, -71, -71, -71, -71, 143, 144, + 145, 146, 147, 148, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, @@ -2651,8 +2651,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, -72, -72, -72, -72, -72, 143, 144, - 145, 146, 147, 148, -72, -72, -72, -72, -72, -72, + -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, + -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, @@ -2809,7 +2809,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, 149, -77, 150, -77, -77, 151, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, @@ -2841,7 +2841,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, 149, -78, 150, -78, -78, 151, -78, + -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, @@ -2930,131 +2930,99 @@ static yyconst flex_int32_t yy_nxt[][256] = -80, -80, -80, -80, -80, -80 }, - { - 39, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81 - }, - { 39, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, -82, 152, 152, 152, 152, 152, 152, + 152, 152, 152, -81, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152 }, { - 39, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, + 39, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83 + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, + -82, -82, -82, -82, -82, -82 }, { 39, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, -84, 153, 153, 153, 153, 153, 153, + 153, 153, 153, -83, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153 - }, { @@ -3064,28 +3032,29 @@ static yyconst flex_int32_t yy_nxt[][256] = 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, -85, 154, 154, 154, 154, 154, 154, - + 154, 154, 154, -84, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154 + }, { @@ -3093,29 +3062,28 @@ static yyconst flex_int32_t yy_nxt[][256] = 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, -86, 155, 155, 155, 155, 155, 155, + 155, 155, 155, -85, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155 }, @@ -3125,28 +3093,29 @@ static yyconst flex_int32_t yy_nxt[][256] = 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, -87, 156, 156, 156, 156, 156, 156, + 156, 156, 156, -86, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156 }, @@ -3154,29 +3123,28 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, -88, 157, 157, 157, 157, 157, 157, + 157, 157, 157, -87, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, @@ -3185,65 +3153,66 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 158, 158, 158, 158, 158, 158, 158, 158, 158, - -89, 158, 158, -89, 158, 158, 158, 158, 158, 158, + -88, 158, 158, -88, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158 - }, { - 39, -90, -90, -90, -90, -90, -90, -90, -90, -90, - 159, -90, -90, 159, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, + 39, -89, -89, -89, -89, -89, -89, -89, -89, -89, + 159, -89, -89, 159, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89 - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90 }, { @@ -3251,29 +3220,28 @@ static yyconst flex_int32_t yy_nxt[][256] = 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, -91, 160, 160, 160, 160, 160, 160, + 160, 160, 160, -90, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160 }, @@ -3283,28 +3251,29 @@ static yyconst flex_int32_t yy_nxt[][256] = 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, -92, 161, 161, 161, 161, 161, 161, + 161, 161, 161, -91, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161 }, @@ -3312,29 +3281,28 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, -93, 162, 162, 162, 162, 162, 162, + 162, 162, 162, -92, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, @@ -3344,32 +3312,64 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, -94, 163, 163, 163, 163, 163, 163, + 163, 163, 163, -93, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163 + }, + + { + 39, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, + -94, -94, -94, -94, -94, -94 }, @@ -3378,8 +3378,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, 164, -95, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, @@ -3410,8 +3410,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, 164, -96, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 165, -96, -96, + -96, -96, -96, -96, -96, -96, -96, -96, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, @@ -3441,13 +3441,13 @@ static yyconst flex_int32_t yy_nxt[][256] = -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, -97, -97, + -97, -97, -97, -97, -97, -97, 167, -97, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, + -97, -97, -97, 168, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, @@ -3473,12 +3473,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, -98, -98, -98, 167, -98, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 165, -98, -98, + -98, -98, -98, -98, -98, -98, 169, -98, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, -98, -98, + -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, 168, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, @@ -3504,8 +3504,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, -99, -99, 169, -99, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, -99, -99, + -99, -99, -99, -99, -99, -99, -99, -99, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 171, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, @@ -3536,12 +3536,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, -100, -100, -100, -100, -100, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, -100, -100, - -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, + -100, -100, -100, -100, -100, -100, 172, -100, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, + -100, -100, -100, 173, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, @@ -3562,65 +3562,34 @@ static yyconst flex_int32_t yy_nxt[][256] = -100, -100, -100, -100, -100, -100 }, - { - 39, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - - -101, -101, -101, -101, -101, -101, 172, -101, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, 173, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101 - }, - { 39, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, -102, + 174, 174, 174, 174, 174, 174, 174, 174, 174, -101, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, -102, 174, 174, 174, 174, 174, 174, + 174, 174, 174, -101, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174 }, @@ -3628,29 +3597,28 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, -103, 175, 175, 175, 175, 175, 175, + 175, 175, 175, -102, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, @@ -3660,33 +3628,33 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, -104, 176, 176, 176, 176, 176, 176, + 176, 176, 176, -103, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176 - }, { @@ -3695,29 +3663,30 @@ static yyconst flex_int32_t yy_nxt[][256] = 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, -105, + 177, 177, 177, 177, 177, 177, 177, 177, 177, -104, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, -105, 177, 177, 177, 177, 177, 177, + 177, 177, 177, -104, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177 + }, { @@ -3725,29 +3694,28 @@ static yyconst flex_int32_t yy_nxt[][256] = 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, -106, 178, 178, 178, 178, 178, 178, + 178, 178, 178, -105, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178 }, @@ -3757,35 +3725,67 @@ static yyconst flex_int32_t yy_nxt[][256] = 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, -107, 179, 179, 179, 179, 179, 179, + 179, 179, 179, -106, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179 }, { - 39, -108, -108, -108, -108, -108, -108, -108, -108, 108, - 108, -108, -108, 108, -108, -108, -108, -108, -108, -108, + 39, -107, -107, -107, -107, -107, -107, -107, -107, 107, + 107, -107, -107, 107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107 + }, + + { + 39, -108, -108, -108, -108, -108, -108, -108, -108, -108, + -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, @@ -3851,13 +3851,13 @@ static yyconst flex_int32_t yy_nxt[][256] = 39, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, 115, -110, -110, -110, -110, -110, -110, + -110, -110, -110, -110, -110, -110, -110, 180, 117, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, + -110, 181, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, @@ -3884,12 +3884,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, 180, 117, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, 181, -111, -111, -111, -111, -111, -111, -111, -111, + -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, + -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, @@ -10405,8 +10405,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 134 -#define YY_END_OF_BUFFER 135 +#define YY_NUM_RULES 135 +#define YY_END_OF_BUFFER 136 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -10419,32 +10419,32 @@ static yyconst flex_int32_t yy_accept[317] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 135, 133, - 64, 64, 97, 133, 91, 1, 115, 77, 133, 117, - 94, 80, 79, 120, 103, 119, 133, 112, 123, 83, - 127, 125, 69, 133, 29, 116, 76, 112, 112, 122, - 121, 82, 128, 126, 124, 90, 92, 66, 61, 62, - 118, 36, 54, 37, 38, 34, 35, 39, 3, 2, - 30, 31, 32, 33, 134, 134, 134, 134, 134, 134, - - 134, 46, 134, 134, 51, 134, 134, 64, 102, 101, - 98, 115, 78, 113, 117, 96, 93, 40, 81, 0, - 0, 114, 28, 114, 0, 0, 0, 70, 71, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 116, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 136, 134, + 64, 98, 134, 91, 1, 116, 77, 134, 118, 95, + 80, 79, 121, 104, 120, 134, 113, 124, 83, 128, + 126, 69, 134, 29, 117, 76, 113, 113, 123, 122, + 82, 129, 127, 125, 90, 92, 66, 61, 62, 119, + 36, 54, 37, 38, 34, 35, 39, 3, 2, 30, + 31, 32, 33, 135, 135, 135, 135, 135, 135, 135, + + 46, 135, 135, 51, 135, 135, 64, 103, 102, 99, + 116, 78, 114, 118, 94, 97, 93, 40, 81, 0, + 0, 115, 28, 115, 0, 0, 0, 70, 71, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 117, 63, 72, 0, 84, 85, 86, 87, 88, 89, 67, 68, 65, 36, 37, 38, 34, 35, 39, 3, 2, 30, 31, 32, 33, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 43, 46, 47, 48, 51, 52, 53, 100, - 42, 95, 0, 0, 74, 0, 106, 108, 104, 0, + 0, 0, 43, 46, 47, 48, 51, 52, 53, 101, + 42, 96, 0, 0, 74, 0, 107, 109, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, - 99, 0, 0, 75, 107, 109, 110, 105, 0, 5, + 100, 0, 0, 75, 108, 110, 111, 106, 0, 5, 4, 0, 24, 0, 23, 0, 0, 0, 22, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 111, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 25, 0, 20, 19, 0, 0, 0, 0, 18, 0, 0, - 0, 45, 0, 0, 50, 0, 0, 26, 0, 130, - 129, 132, 131, 6, 0, 0, 0, 0, 0, 0, + 0, 45, 0, 0, 50, 0, 0, 26, 0, 131, + 130, 133, 132, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 27, 21, 10, 14, 8, 0, 0, 0, 44, 0, 11, 15, 49, 0, 12, 16, 9, 0, 0, 0, 0, 13, 17, 0, 0, @@ -10458,18 +10458,18 @@ static char *yy_last_accepting_cpos; static yyconst yy_state_type yy_NUL_trans[317] = { 0, - 40, 40, 82, 82, 84, 84, 85, 85, 86, 86, - 87, 87, 88, 88, 89, 89, 91, 91, 92, 92, - 93, 93, 94, 94, 95, 95, 95, 95, 102, 102, - 95, 95, 105, 105, 95, 95, 95, 95, 0, 0, - 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, + 40, 40, 81, 81, 83, 83, 84, 84, 85, 85, + 86, 86, 87, 87, 88, 88, 90, 90, 91, 91, + 92, 92, 93, 93, 94, 94, 94, 94, 101, 101, + 94, 94, 104, 104, 94, 94, 94, 94, 0, 0, + 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 152, 0, 153, 154, 155, 156, 157, 158, 0, - 160, 161, 162, 163, 0, 0, 0, 0, 0, 0, + 152, 0, 153, 154, 155, 156, 157, 158, 0, 160, + 161, 162, 163, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 175, 176, 177, 178, 179, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -10564,10 +10564,10 @@ static int slur_var[2] = { 0, 0 }; static char slur_shift[2] = { '\0', '\0' }; static gregorio_note *slur_start[] = { NULL, NULL }; -typedef enum ledger_line_type { - LL_OVER = 0, - LL_UNDER = 1 -} ledger_line_type; +typedef enum sign_orientation { + SO_OVER = 0, + SO_UNDER = 1 +} sign_orientation; static __inline char pitch_letter_to_height(const char pitch) { char result = pitch - 'a' + LOWEST_PITCH; @@ -10599,12 +10599,12 @@ static __inline void lex_add_note(int i, gregorio_shape shape, char signs, tolower((unsigned char)gabc_notes_determination_text[i])), shape, signs, liquescentia, NULL, ¬es_lloc); - if (ledger_var[LL_OVER]) { + if (ledger_var[SO_OVER]) { current_note->supposed_high_ledger_line = true; current_note->explicit_high_ledger_line = true; } - if (ledger_var[LL_UNDER]) { + if (ledger_var[SO_UNDER]) { current_note->supposed_low_ledger_line = true; current_note->explicit_low_ledger_line = true; } @@ -10653,10 +10653,12 @@ static void add_h_episema(void) size = H_SMALL_RIGHT; break; default: - gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, - _("unrecognized horizontal episema modifier: %c"), - current); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(gabc_notes_determination, + "unrecognized horizontal episema modifier: %c", current); break; + /* LCOV_EXCL_STOP */ }; } @@ -10692,7 +10694,7 @@ static void save_before_ledger(const char *const before_ledger) } } -static void add_static_ledger(const ledger_line_type type, const char *length) { +static void add_static_ledger(const sign_orientation type, const char *length) { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreDrawAdditionalLine{%d}{%s}{%d}{%s}{0}{}", type, length + 1, before_ledger_type, before_ledger_length); @@ -10706,23 +10708,25 @@ static void add_static_ledger(const ledger_line_type type, const char *length) { GRE_TEXVERB_GLYPH, ¬es_lloc); } -static __inline const char *ledger_type_name(const ledger_line_type type) { +static __inline const char *sign_orientation_name(const sign_orientation type) { switch (type) { - case LL_OVER: + case SO_OVER: return "over"; - case LL_UNDER: + case SO_UNDER: return "under"; } - gregorio_messagef("ledger_type_name", VERBOSITY_ERROR, 0, - _("invalid ledger type %d"), type); - return NULL; + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(sign_orientation_name, "invalid ledger type %d", type); + return ""; + /* LCOV_EXCL_STOP */ } -static void add_variable_ledger(const ledger_line_type type, +static void add_variable_ledger(const sign_orientation type, const char *after_ledger) { if (ledger_var[type]) { - const char *const typename = ledger_type_name(type); + const char *const typename = sign_orientation_name(type); gregorio_messagef("add_variable_ledger", VERBOSITY_ERROR, 0, _("variable %s-staff ledger line without termination of " "previous %s-staff ledger line"), typename, typename); @@ -10761,10 +10765,10 @@ static void add_variable_ledger(const ledger_line_type type, } } -static void end_variable_ledger(const ledger_line_type type) +static void end_variable_ledger(const sign_orientation type) { if (!ledger_var[type]) { - const char *const typename = ledger_type_name(type); + const char *const typename = sign_orientation_name(type); gregorio_messagef("end_variable_ledger", VERBOSITY_ERROR, 0, _("variable %s-staff ledger line termination without variable " "%s-staff ledger line start"), typename, typename); @@ -10794,7 +10798,7 @@ static __inline gregorio_bar parse_dominican_bar(char bar) bar -= '0'; if (bar < 1 || bar > (2 * (staff_lines - 1))) { gregorio_messagef("parse_dominican_line", VERBOSITY_ERROR, 0, - _("invalid dominican bar for %u lines: ;%d"), + _("invalid Dominican bar for %u lines: ;%d"), (unsigned int)staff_lines, (int)bar); } @@ -10816,10 +10820,11 @@ static __inline gregorio_bar parse_dominican_bar(char bar) case 8: return B_DIVISIO_MINOR_D8; } - - gregorio_messagef("check_dominican_line", VERBOSITY_ERROR, 0, - _("invalid dominican bar: %d"), (int)bar); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(check_dominican_line, "invalid dominican bar: %d", (int)bar); return B_NO_BAR; + /* LCOV_EXCL_STOP */ } static __inline gregorio_clef letter_to_clef(char letter) @@ -10830,15 +10835,21 @@ static __inline gregorio_clef letter_to_clef(char letter) case 'f': return CLEF_F; } - gregorio_messagef("letter_to_clef", VERBOSITY_ERROR, 0, - _("invalid clef: %c"), letter); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(letter_to_clef, "invalid clef: %c", letter); return CLEF_C; + /* LCOV_EXCL_STOP */ } +/* this assertion should only fail if the lex rules are incorrect */ static __inline void slur_assert(char *fn, bool test) { if (!test) { + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ gregorio_message(_("invalid slur text"), fn, VERBOSITY_FATAL, 0); exit(1); + /* LCOV_EXCL_STOP */ } } @@ -10881,7 +10892,7 @@ static void parse_slur(int direction) gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } -static void start_var_slur(int index) +static void start_var_slur(const sign_orientation index) { if (!current_note || current_note->type != GRE_NOTE) { gregorio_message( @@ -10891,9 +10902,9 @@ static void start_var_slur(int index) } if (slur_var[index]) { - gregorio_message( - _("variable slur without termination of previous slur"), - "start_var_slur", VERBOSITY_ERROR, 0); + gregorio_messagef("start_var_slur", VERBOSITY_ERROR, 0, + _("variable %s-note slur without termination of previous slur"), + sign_orientation_name(index)); return; } @@ -10902,7 +10913,7 @@ static void start_var_slur(int index) slur_start[index] = current_note; } -static void end_var_slur(int direction, int index) +static void end_var_slur(const int direction, const sign_orientation index) { char shift; @@ -10914,8 +10925,9 @@ static void end_var_slur(int direction, int index) } if (!slur_var[index] || !slur_shift[index] || !slur_start[index]) { - gregorio_message(_("variable slur end without variable slur start"), - "end_var_slur", VERBOSITY_ERROR, 0); + gregorio_messagef("end_var_slur", VERBOSITY_ERROR, 0, + _("variable %s-note slur end without start"), + sign_orientation_name(index)); return; } @@ -10940,6 +10952,36 @@ static void end_var_slur(int direction, int index) slur_start[index] = NULL; } +void gabc_det_notes_finish(void) +{ + sign_orientation orientation; + if (overbrace_var) { + gregorio_message(_("unclosed variable over-staff brace"), + "gabc_det_notes_finish", VERBOSITY_ERROR, 0); + overbrace_var = 0; + } + if (underbrace_var) { + gregorio_message(_("unclosed variable under-staff brace"), + "gabc_det_notes_finish", VERBOSITY_ERROR, 0); + underbrace_var = 0; + } + for (orientation = SO_OVER; orientation <= SO_UNDER; ++orientation) { + const char *name = sign_orientation_name(orientation); + if (ledger_var[orientation]) { + gregorio_messagef("gabc_det_notes_finish", VERBOSITY_ERROR, 0, + _("unclosed variable %s-staff ledger line"), name); + ledger_var[orientation] = 0; + } + if (slur_var[orientation]) { + gregorio_messagef("gabc_det_notes_finish", VERBOSITY_ERROR, 0, + _("unclosed variable %s-note slur"), name); + slur_var[orientation] = 0; + slur_shift[orientation] = '\0'; + slur_start[orientation] = NULL; + } + } +} + @@ -10956,7 +10998,7 @@ static void end_var_slur(int direction, int index) -#line 10960 "gabc/gabc-notes-determination-l.c" +#line 11002 "gabc/gabc-notes-determination-l.c" #define INITIAL 0 #define texverbnote 1 @@ -11185,9 +11227,9 @@ YY_DECL } { -#line 468 "gabc/gabc-notes-determination.l" +#line 510 "gabc/gabc-notes-determination.l" -#line 11191 "gabc/gabc-notes-determination-l.c" +#line 11233 "gabc/gabc-notes-determination-l.c" while ( 1 ) /* loops until end-of-file is reached */ { @@ -11234,7 +11276,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 469 "gabc/gabc-notes-determination.l" +#line 511 "gabc/gabc-notes-determination.l" { BEGIN(comments); } @@ -11242,35 +11284,35 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 472 "gabc/gabc-notes-determination.l" +#line 514 "gabc/gabc-notes-determination.l" { BEGIN(INITIAL); } YY_BREAK case 3: YY_RULE_SETUP -#line 475 "gabc/gabc-notes-determination.l" +#line 517 "gabc/gabc-notes-determination.l" { /* ignored */ } YY_BREAK case 4: YY_RULE_SETUP -#line 478 "gabc/gabc-notes-determination.l" +#line 520 "gabc/gabc-notes-determination.l" { BEGIN(choralsign); } YY_BREAK case 5: YY_RULE_SETUP -#line 481 "gabc/gabc-notes-determination.l" +#line 523 "gabc/gabc-notes-determination.l" { BEGIN(choralnabc); } YY_BREAK case 6: YY_RULE_SETUP -#line 484 "gabc/gabc-notes-determination.l" +#line 526 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[4]-'0'; BEGIN(overbrace); @@ -11278,7 +11320,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 488 "gabc/gabc-notes-determination.l" +#line 530 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[4]-'0'; BEGIN(underbrace); @@ -11286,7 +11328,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 492 "gabc/gabc-notes-determination.l" +#line 534 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[5]-'0'; BEGIN(overcurlybrace); @@ -11294,7 +11336,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 496 "gabc/gabc-notes-determination.l" +#line 538 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[6]-'0'; BEGIN(overcurlyaccentusbrace); @@ -11302,7 +11344,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 500 "gabc/gabc-notes-determination.l" +#line 542 "gabc/gabc-notes-determination.l" { if (overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11322,7 +11364,7 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 516 "gabc/gabc-notes-determination.l" +#line 558 "gabc/gabc-notes-determination.l" { if (underbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11341,7 +11383,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 531 "gabc/gabc-notes-determination.l" +#line 573 "gabc/gabc-notes-determination.l" { if (overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11361,7 +11403,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 547 "gabc/gabc-notes-determination.l" +#line 589 "gabc/gabc-notes-determination.l" { if (overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11381,7 +11423,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 563 "gabc/gabc-notes-determination.l" +#line 605 "gabc/gabc-notes-determination.l" { if (!overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11404,7 +11446,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 582 "gabc/gabc-notes-determination.l" +#line 624 "gabc/gabc-notes-determination.l" { if (!underbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11422,7 +11464,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 596 "gabc/gabc-notes-determination.l" +#line 638 "gabc/gabc-notes-determination.l" { if (!overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11445,7 +11487,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 615 "gabc/gabc-notes-determination.l" +#line 657 "gabc/gabc-notes-determination.l" { if (!overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11468,7 +11510,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 634 "gabc/gabc-notes-determination.l" +#line 676 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[3]-'0']) { gregorio_add_texverb_to_note(current_note, @@ -11478,7 +11520,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 640 "gabc/gabc-notes-determination.l" +#line 682 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[3]-'0']) { gregorio_add_texverb_as_note(¤t_note, @@ -11489,7 +11531,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 647 "gabc/gabc-notes-determination.l" +#line 689 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[3]-'0']) { gregorio_add_texverb_as_note(¤t_note, @@ -11500,7 +11542,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 654 "gabc/gabc-notes-determination.l" +#line 696 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[5]-'0']) { gregorio_add_texverb_as_note(¤t_note, @@ -11511,56 +11553,56 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 661 "gabc/gabc-notes-determination.l" +#line 703 "gabc/gabc-notes-determination.l" { BEGIN(texverbnote); } YY_BREAK case 23: YY_RULE_SETUP -#line 664 "gabc/gabc-notes-determination.l" +#line 706 "gabc/gabc-notes-determination.l" { BEGIN(texverbglyph); } YY_BREAK case 24: YY_RULE_SETUP -#line 667 "gabc/gabc-notes-determination.l" +#line 709 "gabc/gabc-notes-determination.l" { BEGIN(texverbelement); } YY_BREAK case 25: YY_RULE_SETUP -#line 670 "gabc/gabc-notes-determination.l" +#line 712 "gabc/gabc-notes-determination.l" { BEGIN(alt); } YY_BREAK case 26: YY_RULE_SETUP -#line 673 "gabc/gabc-notes-determination.l" +#line 715 "gabc/gabc-notes-determination.l" { gregorio_add_nlba_as_note(¤t_note, NLBA_BEGINNING, ¬es_lloc); } YY_BREAK case 27: YY_RULE_SETUP -#line 676 "gabc/gabc-notes-determination.l" +#line 718 "gabc/gabc-notes-determination.l" { gregorio_add_nlba_as_note(¤t_note, NLBA_END, ¬es_lloc); } YY_BREAK case 28: YY_RULE_SETUP -#line 679 "gabc/gabc-notes-determination.l" +#line 721 "gabc/gabc-notes-determination.l" { gregorio_start_autofuse(¤t_note, ¬es_lloc); } YY_BREAK case 29: YY_RULE_SETUP -#line 682 "gabc/gabc-notes-determination.l" +#line 724 "gabc/gabc-notes-determination.l" { gregorio_end_autofuse(¤t_note, ¬es_lloc); } @@ -11568,7 +11610,7 @@ YY_RULE_SETUP case 30: /* rule 30 can match eol */ YY_RULE_SETUP -#line 685 "gabc/gabc-notes-determination.l" +#line 727 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverBrace{%s}{0pt}{0pt}{%d}", @@ -11579,7 +11621,7 @@ YY_RULE_SETUP case 31: /* rule 31 can match eol */ YY_RULE_SETUP -#line 691 "gabc/gabc-notes-determination.l" +#line 733 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreUnderBrace{%s}{0pt}{0pt}{%d}", @@ -11590,7 +11632,7 @@ YY_RULE_SETUP case 32: /* rule 32 can match eol */ YY_RULE_SETUP -#line 697 "gabc/gabc-notes-determination.l" +#line 739 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{0}", @@ -11601,7 +11643,7 @@ YY_RULE_SETUP case 33: /* rule 33 can match eol */ YY_RULE_SETUP -#line 703 "gabc/gabc-notes-determination.l" +#line 745 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{1}", @@ -11612,7 +11654,7 @@ YY_RULE_SETUP case 34: /* rule 34 can match eol */ YY_RULE_SETUP -#line 709 "gabc/gabc-notes-determination.l" +#line 751 "gabc/gabc-notes-determination.l" { gregorio_add_cs_to_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), false); @@ -11621,7 +11663,7 @@ YY_RULE_SETUP case 35: /* rule 35 can match eol */ YY_RULE_SETUP -#line 713 "gabc/gabc-notes-determination.l" +#line 755 "gabc/gabc-notes-determination.l" { gregorio_add_cs_to_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), true); @@ -11630,7 +11672,7 @@ YY_RULE_SETUP case 36: /* rule 36 can match eol */ YY_RULE_SETUP -#line 717 "gabc/gabc-notes-determination.l" +#line 759 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_to_note(current_note, gregorio_strdup(gabc_notes_determination_text)); @@ -11639,7 +11681,7 @@ YY_RULE_SETUP case 37: /* rule 37 can match eol */ YY_RULE_SETUP -#line 721 "gabc/gabc-notes-determination.l" +#line 763 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), @@ -11649,7 +11691,7 @@ YY_RULE_SETUP case 38: /* rule 38 can match eol */ YY_RULE_SETUP -#line 726 "gabc/gabc-notes-determination.l" +#line 768 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), @@ -11659,7 +11701,7 @@ YY_RULE_SETUP case 39: /* rule 39 can match eol */ YY_RULE_SETUP -#line 731 "gabc/gabc-notes-determination.l" +#line 773 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), GRE_ALT, @@ -11668,7 +11710,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 736 "gabc/gabc-notes-determination.l" +#line 778 "gabc/gabc-notes-determination.l" { BEGIN(space); } @@ -11678,7 +11720,7 @@ case 41: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */ YY_RULE_SETUP -#line 739 "gabc/gabc-notes-determination.l" +#line 781 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_AD_HOC_SPACE, gregorio_strdup(gabc_notes_determination_text), ¬es_lloc); @@ -11686,7 +11728,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 743 "gabc/gabc-notes-determination.l" +#line 785 "gabc/gabc-notes-determination.l" { BEGIN(nbspace); } @@ -11696,7 +11738,7 @@ case 43: (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */ YY_RULE_SETUP -#line 746 "gabc/gabc-notes-determination.l" +#line 788 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_AD_HOC_SPACE_NB, gregorio_strdup(gabc_notes_determination_text), ¬es_lloc); @@ -11704,14 +11746,14 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 750 "gabc/gabc-notes-determination.l" +#line 792 "gabc/gabc-notes-determination.l" { - end_variable_ledger(LL_OVER); + end_variable_ledger(SO_OVER); } YY_BREAK case 45: YY_RULE_SETUP -#line 753 "gabc/gabc-notes-determination.l" +#line 795 "gabc/gabc-notes-determination.l" { BEGIN(overledger); } @@ -11719,7 +11761,7 @@ YY_RULE_SETUP case 46: /* rule 46 can match eol */ YY_RULE_SETUP -#line 756 "gabc/gabc-notes-determination.l" +#line 798 "gabc/gabc-notes-determination.l" { save_before_ledger(gabc_notes_determination_text); BEGIN(overledger2); @@ -11728,31 +11770,31 @@ YY_RULE_SETUP case 47: /* rule 47 can match eol */ YY_RULE_SETUP -#line 760 "gabc/gabc-notes-determination.l" +#line 802 "gabc/gabc-notes-determination.l" { - add_static_ledger(LL_OVER, gabc_notes_determination_text); + add_static_ledger(SO_OVER, gabc_notes_determination_text); BEGIN(endledger); } YY_BREAK case 48: /* rule 48 can match eol */ YY_RULE_SETUP -#line 764 "gabc/gabc-notes-determination.l" +#line 806 "gabc/gabc-notes-determination.l" { - add_variable_ledger(LL_OVER, gabc_notes_determination_text); + add_variable_ledger(SO_OVER, gabc_notes_determination_text); BEGIN(endledger); } YY_BREAK case 49: YY_RULE_SETUP -#line 768 "gabc/gabc-notes-determination.l" +#line 810 "gabc/gabc-notes-determination.l" { - end_variable_ledger(LL_UNDER); + end_variable_ledger(SO_UNDER); } YY_BREAK case 50: YY_RULE_SETUP -#line 771 "gabc/gabc-notes-determination.l" +#line 813 "gabc/gabc-notes-determination.l" { BEGIN(underledger); } @@ -11760,7 +11802,7 @@ YY_RULE_SETUP case 51: /* rule 51 can match eol */ YY_RULE_SETUP -#line 774 "gabc/gabc-notes-determination.l" +#line 816 "gabc/gabc-notes-determination.l" { save_before_ledger(gabc_notes_determination_text); BEGIN(underledger2); @@ -11769,24 +11811,24 @@ YY_RULE_SETUP case 52: /* rule 52 can match eol */ YY_RULE_SETUP -#line 778 "gabc/gabc-notes-determination.l" +#line 820 "gabc/gabc-notes-determination.l" { - add_static_ledger(LL_UNDER, gabc_notes_determination_text); + add_static_ledger(SO_UNDER, gabc_notes_determination_text); BEGIN(endledger); } YY_BREAK case 53: /* rule 53 can match eol */ YY_RULE_SETUP -#line 782 "gabc/gabc-notes-determination.l" +#line 824 "gabc/gabc-notes-determination.l" { - add_variable_ledger(LL_UNDER, gabc_notes_determination_text); + add_variable_ledger(SO_UNDER, gabc_notes_determination_text); BEGIN(endledger); } YY_BREAK case 54: YY_RULE_SETUP -#line 786 "gabc/gabc-notes-determination.l" +#line 828 "gabc/gabc-notes-determination.l" { BEGIN(INITIAL); } @@ -11794,50 +11836,50 @@ YY_RULE_SETUP case 55: /* rule 55 can match eol */ YY_RULE_SETUP -#line 789 "gabc/gabc-notes-determination.l" +#line 831 "gabc/gabc-notes-determination.l" { parse_slur(1); } YY_BREAK case 56: YY_RULE_SETUP -#line 792 "gabc/gabc-notes-determination.l" +#line 834 "gabc/gabc-notes-determination.l" { - start_var_slur(0); + start_var_slur(SO_OVER); } YY_BREAK case 57: YY_RULE_SETUP -#line 795 "gabc/gabc-notes-determination.l" +#line 837 "gabc/gabc-notes-determination.l" { - end_var_slur(1, 0); + end_var_slur(1, SO_OVER); } YY_BREAK case 58: /* rule 58 can match eol */ YY_RULE_SETUP -#line 798 "gabc/gabc-notes-determination.l" +#line 840 "gabc/gabc-notes-determination.l" { parse_slur(-1); } YY_BREAK case 59: YY_RULE_SETUP -#line 801 "gabc/gabc-notes-determination.l" +#line 843 "gabc/gabc-notes-determination.l" { - start_var_slur(1); + start_var_slur(SO_UNDER); } YY_BREAK case 60: YY_RULE_SETUP -#line 804 "gabc/gabc-notes-determination.l" +#line 846 "gabc/gabc-notes-determination.l" { - end_var_slur(-1, 1); + end_var_slur(-1, SO_UNDER); } YY_BREAK case 61: YY_RULE_SETUP -#line 807 "gabc/gabc-notes-determination.l" +#line 849 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup("\\hbox to 0pt{"), GRE_TEXVERB_ELEMENT, @@ -11846,7 +11888,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 812 "gabc/gabc-notes-determination.l" +#line 854 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup("\\hss%\n}%\n\\GreNoBreak\\relax "), @@ -11855,7 +11897,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 817 "gabc/gabc-notes-determination.l" +#line 859 "gabc/gabc-notes-determination.l" { gregorio_add_manual_custos_as_note(¤t_note, pitch_letter_to_height(gabc_notes_determination_text[0]), @@ -11865,19 +11907,19 @@ YY_RULE_SETUP case 64: /* rule 64 can match eol */ YY_RULE_SETUP -#line 822 "gabc/gabc-notes-determination.l" +#line 864 "gabc/gabc-notes-determination.l" /* ignore ends of line and tabs */; YY_BREAK case 65: YY_RULE_SETUP -#line 823 "gabc/gabc-notes-determination.l" +#line 865 "gabc/gabc-notes-determination.l" { gregorio_add_custo_as_note(¤t_note, ¬es_lloc); } YY_BREAK case 66: YY_RULE_SETUP -#line 826 "gabc/gabc-notes-determination.l" +#line 868 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, false, false, false, ¬es_lloc); @@ -11885,7 +11927,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 830 "gabc/gabc-notes-determination.l" +#line 872 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, false, true, true, ¬es_lloc); @@ -11893,7 +11935,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 834 "gabc/gabc-notes-determination.l" +#line 876 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, false, true, false, ¬es_lloc); @@ -11901,7 +11943,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 838 "gabc/gabc-notes-determination.l" +#line 880 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, true, false, false, ¬es_lloc); @@ -11909,7 +11951,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 842 "gabc/gabc-notes-determination.l" +#line 884 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, true, true, true, ¬es_lloc); @@ -11917,7 +11959,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 846 "gabc/gabc-notes-determination.l" +#line 888 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, true, true, false, ¬es_lloc); @@ -11925,7 +11967,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 850 "gabc/gabc-notes-determination.l" +#line 892 "gabc/gabc-notes-determination.l" { gregorio_add_clef_as_note(¤t_note, letter_to_clef(gabc_notes_determination_text[0]), @@ -11935,7 +11977,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 856 "gabc/gabc-notes-determination.l" +#line 898 "gabc/gabc-notes-determination.l" { gregorio_add_clef_as_note(¤t_note, letter_to_clef(gabc_notes_determination_text[0]), @@ -11945,7 +11987,7 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 862 "gabc/gabc-notes-determination.l" +#line 904 "gabc/gabc-notes-determination.l" { gregorio_add_secondary_clef_to_note(current_note, letter_to_clef(gabc_notes_determination_text[1]), @@ -11954,7 +11996,7 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 867 "gabc/gabc-notes-determination.l" +#line 909 "gabc/gabc-notes-determination.l" { gregorio_add_secondary_clef_to_note(current_note, letter_to_clef(gabc_notes_determination_text[1]), @@ -11963,49 +12005,49 @@ YY_RULE_SETUP YY_BREAK case 76: YY_RULE_SETUP -#line 872 "gabc/gabc-notes-determination.l" +#line 914 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_VIRGULA); } YY_BREAK case 77: YY_RULE_SETUP -#line 875 "gabc/gabc-notes-determination.l" +#line 917 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_MINIMA); } YY_BREAK case 78: YY_RULE_SETUP -#line 878 "gabc/gabc-notes-determination.l" +#line 920 "gabc/gabc-notes-determination.l" { add_bar_as_note(parse_dominican_bar(gabc_notes_determination_text[1])); } YY_BREAK case 79: YY_RULE_SETUP -#line 881 "gabc/gabc-notes-determination.l" +#line 923 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_MINOR); } YY_BREAK case 80: YY_RULE_SETUP -#line 884 "gabc/gabc-notes-determination.l" +#line 926 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_MAIOR); } YY_BREAK case 81: YY_RULE_SETUP -#line 887 "gabc/gabc-notes-determination.l" +#line 929 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_FINALIS); } YY_BREAK case 82: YY_RULE_SETUP -#line 890 "gabc/gabc-notes-determination.l" +#line 932 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_PUNCTUM_CAVUM, legacy_oriscus_orientation); @@ -12013,7 +12055,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 894 "gabc/gabc-notes-determination.l" +#line 936 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_LINEA_PUNCTUM, legacy_oriscus_orientation); @@ -12021,7 +12063,7 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 898 "gabc/gabc-notes-determination.l" +#line 940 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM, legacy_oriscus_orientation); @@ -12029,49 +12071,49 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 902 "gabc/gabc-notes-determination.l" +#line 944 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _ACCENTUS); } YY_BREAK case 86: YY_RULE_SETUP -#line 905 "gabc/gabc-notes-determination.l" +#line 947 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _ACCENTUS_REVERSUS); } YY_BREAK case 87: YY_RULE_SETUP -#line 908 "gabc/gabc-notes-determination.l" +#line 950 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _CIRCULUS); } YY_BREAK case 88: YY_RULE_SETUP -#line 911 "gabc/gabc-notes-determination.l" +#line 953 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _SEMI_CIRCULUS); } YY_BREAK case 89: YY_RULE_SETUP -#line 914 "gabc/gabc-notes-determination.l" +#line 956 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _SEMI_CIRCULUS_REVERSUS); } YY_BREAK case 90: YY_RULE_SETUP -#line 917 "gabc/gabc-notes-determination.l" +#line 959 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_FLAT, legacy_oriscus_orientation); } YY_BREAK case 91: YY_RULE_SETUP -#line 920 "gabc/gabc-notes-determination.l" +#line 962 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_SHARP, legacy_oriscus_orientation); @@ -12079,7 +12121,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 924 "gabc/gabc-notes-determination.l" +#line 966 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_NATURAL, legacy_oriscus_orientation); @@ -12087,7 +12129,7 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 928 "gabc/gabc-notes-determination.l" +#line 970 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_HALF_SPACE, NULL, ¬es_lloc); @@ -12095,332 +12137,340 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 932 "gabc/gabc-notes-determination.l" +#line 974 "gabc/gabc-notes-determination.l" { - gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT, NULL, + gregorio_add_space_as_note(¤t_note, SP_INTERGLYPH_SPACE, NULL, ¬es_lloc); } YY_BREAK case 95: +YY_RULE_SETUP +#line 978 "gabc/gabc-notes-determination.l" +{ + gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT, NULL, + ¬es_lloc); + } + YY_BREAK +case 96: *yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */ YY_RULE_SETUP -#line 936 "gabc/gabc-notes-determination.l" +#line 982 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT, NULL, ¬es_lloc); } YY_BREAK -case 96: +case 97: YY_RULE_SETUP -#line 940 "gabc/gabc-notes-determination.l" +#line 986 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_LARGER_SPACE, NULL, ¬es_lloc); } YY_BREAK -case 97: +case 98: YY_RULE_SETUP -#line 944 "gabc/gabc-notes-determination.l" +#line 990 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_GLYPH_SPACE, NULL, ¬es_lloc); } YY_BREAK -case 98: +case 99: YY_RULE_SETUP -#line 948 "gabc/gabc-notes-determination.l" +#line 994 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT_NB, NULL, ¬es_lloc); } YY_BREAK -case 99: +case 100: *yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */ (yy_c_buf_p) = yy_cp = yy_bp + 2; YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */ YY_RULE_SETUP -#line 952 "gabc/gabc-notes-determination.l" +#line 998 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT_NB, NULL, ¬es_lloc); } YY_BREAK -case 100: +case 101: YY_RULE_SETUP -#line 956 "gabc/gabc-notes-determination.l" +#line 1002 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_LARGER_SPACE_NB, NULL, ¬es_lloc); } YY_BREAK -case 101: +case 102: YY_RULE_SETUP -#line 960 "gabc/gabc-notes-determination.l" +#line 1006 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_GLYPH_SPACE_NB, NULL, ¬es_lloc); } YY_BREAK -case 102: -/* rule 102 can match eol */ +case 103: +/* rule 103 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */ YY_LINENO_REWIND_TO(yy_bp + 1); (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */ YY_RULE_SETUP -#line 964 "gabc/gabc-notes-determination.l" +#line 1010 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_ZERO_WIDTH, NULL, ¬es_lloc); } YY_BREAK -case 103: +case 104: YY_RULE_SETUP -#line 968 "gabc/gabc-notes-determination.l" +#line 1014 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_LINEA, legacy_oriscus_orientation); } YY_BREAK -case 104: +case 105: YY_RULE_SETUP -#line 972 "gabc/gabc-notes-determination.l" +#line 1018 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK -case 105: +case 106: YY_RULE_SETUP -#line 975 "gabc/gabc-notes-determination.l" +#line 1021 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK -case 106: +case 107: YY_RULE_SETUP -#line 978 "gabc/gabc-notes-determination.l" +#line 1024 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK -case 107: +case 108: YY_RULE_SETUP -#line 981 "gabc/gabc-notes-determination.l" +#line 1027 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK -case 108: +case 109: YY_RULE_SETUP -#line 984 "gabc/gabc-notes-determination.l" +#line 1030 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK -case 109: +case 110: YY_RULE_SETUP -#line 987 "gabc/gabc-notes-determination.l" +#line 1033 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS); } YY_BREAK -case 110: +case 111: YY_RULE_SETUP -#line 990 "gabc/gabc-notes-determination.l" +#line 1036 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK -case 111: +case 112: YY_RULE_SETUP -#line 993 "gabc/gabc-notes-determination.l" +#line 1039 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS); } YY_BREAK -case 112: +case 113: YY_RULE_SETUP -#line 996 "gabc/gabc-notes-determination.l" +#line 1042 "gabc/gabc-notes-determination.l" { lex_add_note(0, punctum(gabc_notes_determination_text[0]), _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK -case 113: +case 114: YY_RULE_SETUP -#line 1000 "gabc/gabc-notes-determination.l" +#line 1046 "gabc/gabc-notes-determination.l" { lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN, L_INITIO_DEBILIS); } YY_BREAK -case 114: +case 115: YY_RULE_SETUP -#line 1004 "gabc/gabc-notes-determination.l" +#line 1050 "gabc/gabc-notes-determination.l" { lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN, L_FUSED); } YY_BREAK -case 115: +case 116: YY_RULE_SETUP -#line 1008 "gabc/gabc-notes-determination.l" +#line 1054 "gabc/gabc-notes-determination.l" { add_sign(_V_EPISEMA); } YY_BREAK -case 116: +case 117: YY_RULE_SETUP -#line 1011 "gabc/gabc-notes-determination.l" +#line 1057 "gabc/gabc-notes-determination.l" { add_h_episema(); } YY_BREAK -case 117: +case 118: YY_RULE_SETUP -#line 1014 "gabc/gabc-notes-determination.l" +#line 1060 "gabc/gabc-notes-determination.l" { add_sign(_PUNCTUM_MORA); } YY_BREAK -case 118: +case 119: YY_RULE_SETUP -#line 1017 "gabc/gabc-notes-determination.l" +#line 1063 "gabc/gabc-notes-determination.l" { gregorio_add_tail_liquescentia(current_note, L_DEMINUTUS, legacy_oriscus_orientation); } YY_BREAK -case 119: +case 120: YY_RULE_SETUP -#line 1021 "gabc/gabc-notes-determination.l" +#line 1067 "gabc/gabc-notes-determination.l" { gregorio_add_tail_liquescentia(current_note, L_AUCTUS_DESCENDENS, legacy_oriscus_orientation); } YY_BREAK -case 120: +case 121: YY_RULE_SETUP -#line 1025 "gabc/gabc-notes-determination.l" +#line 1071 "gabc/gabc-notes-determination.l" { gregorio_add_tail_liquescentia(current_note, L_AUCTUS_ASCENDENS, legacy_oriscus_orientation); } YY_BREAK -case 121: +case 122: YY_RULE_SETUP -#line 1029 "gabc/gabc-notes-determination.l" +#line 1075 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_QUADRATUM, legacy_oriscus_orientation); } YY_BREAK -case 122: +case 123: YY_RULE_SETUP -#line 1033 "gabc/gabc-notes-determination.l" +#line 1079 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, legacy_oriscus_orientation - ? S_ORISCUS_ASCENDENS : S_ORISCUS_UNDETERMINED, + gregorio_change_shape(current_note, S_ORISCUS_UNDETERMINED, legacy_oriscus_orientation); } YY_BREAK -case 123: +case 124: YY_RULE_SETUP -#line 1038 "gabc/gabc-notes-determination.l" +#line 1083 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_ORISCUS_SCAPUS, legacy_oriscus_orientation); } YY_BREAK -case 124: +case 125: YY_RULE_SETUP -#line 1042 "gabc/gabc-notes-determination.l" +#line 1087 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_QUILISMA, legacy_oriscus_orientation); } YY_BREAK -case 125: +case 126: YY_RULE_SETUP -#line 1046 "gabc/gabc-notes-determination.l" +#line 1091 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM, legacy_oriscus_orientation); } YY_BREAK -case 126: +case 127: YY_RULE_SETUP -#line 1050 "gabc/gabc-notes-determination.l" +#line 1095 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_VIRGA, legacy_oriscus_orientation); } YY_BREAK -case 127: +case 128: YY_RULE_SETUP -#line 1054 "gabc/gabc-notes-determination.l" +#line 1099 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_VIRGA_REVERSA, legacy_oriscus_orientation); } YY_BREAK -case 128: +case 129: YY_RULE_SETUP -#line 1058 "gabc/gabc-notes-determination.l" +#line 1103 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_STROPHA, legacy_oriscus_orientation); } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 1062 "gabc/gabc-notes-determination.l" +#line 1107 "gabc/gabc-notes-determination.l" { current_note->supposed_high_ledger_line = true; current_note->explicit_high_ledger_line = true; } YY_BREAK -case 130: +case 131: YY_RULE_SETUP -#line 1066 "gabc/gabc-notes-determination.l" +#line 1111 "gabc/gabc-notes-determination.l" { current_note->supposed_high_ledger_line = false; current_note->explicit_high_ledger_line = true; } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 1070 "gabc/gabc-notes-determination.l" +#line 1115 "gabc/gabc-notes-determination.l" { current_note->supposed_low_ledger_line = true; current_note->explicit_low_ledger_line = true; } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 1074 "gabc/gabc-notes-determination.l" +#line 1119 "gabc/gabc-notes-determination.l" { current_note->supposed_low_ledger_line = false; current_note->explicit_low_ledger_line = true; } YY_BREAK -case 133: +case 134: +/* rule 134 can match eol */ YY_RULE_SETUP -#line 1078 "gabc/gabc-notes-determination.l" +#line 1123 "gabc/gabc-notes-determination.l" { gregorio_messagef("det_notes_from_string", VERBOSITY_ERROR, 0, _("unrecognized character: \"%c\""), gabc_notes_determination_text[0]); } YY_BREAK -case 134: +case 135: YY_RULE_SETUP -#line 1084 "gabc/gabc-notes-determination.l" +#line 1129 "gabc/gabc-notes-determination.l" ECHO; YY_BREAK -#line 12424 "gabc/gabc-notes-determination-l.c" +#line 12474 "gabc/gabc-notes-determination-l.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(texverbnote): case YY_STATE_EOF(texverbglyph): @@ -13399,7 +13449,7 @@ void gabc_notes_determination_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 1084 "gabc/gabc-notes-determination.l" +#line 1129 "gabc/gabc-notes-determination.l" diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l index c3813238d43..d47eb1a7027 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l @@ -55,10 +55,10 @@ static int slur_var[2] = { 0, 0 }; static char slur_shift[2] = { '\0', '\0' }; static gregorio_note *slur_start[] = { NULL, NULL }; -typedef enum ledger_line_type { - LL_OVER = 0, - LL_UNDER = 1 -} ledger_line_type; +typedef enum sign_orientation { + SO_OVER = 0, + SO_UNDER = 1 +} sign_orientation; static __inline char pitch_letter_to_height(const char pitch) { char result = pitch - 'a' + LOWEST_PITCH; @@ -90,12 +90,12 @@ static __inline void lex_add_note(int i, gregorio_shape shape, char signs, tolower((unsigned char)gabc_notes_determination_text[i])), shape, signs, liquescentia, NULL, ¬es_lloc); - if (ledger_var[LL_OVER]) { + if (ledger_var[SO_OVER]) { current_note->supposed_high_ledger_line = true; current_note->explicit_high_ledger_line = true; } - if (ledger_var[LL_UNDER]) { + if (ledger_var[SO_UNDER]) { current_note->supposed_low_ledger_line = true; current_note->explicit_low_ledger_line = true; } @@ -144,10 +144,12 @@ static void add_h_episema(void) size = H_SMALL_RIGHT; break; default: - gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, - _("unrecognized horizontal episema modifier: %c"), - current); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(gabc_notes_determination, + "unrecognized horizontal episema modifier: %c", current); break; + /* LCOV_EXCL_STOP */ }; } @@ -183,7 +185,7 @@ static void save_before_ledger(const char *const before_ledger) } } -static void add_static_ledger(const ledger_line_type type, const char *length) { +static void add_static_ledger(const sign_orientation type, const char *length) { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreDrawAdditionalLine{%d}{%s}{%d}{%s}{0}{}", type, length + 1, before_ledger_type, before_ledger_length); @@ -197,23 +199,25 @@ static void add_static_ledger(const ledger_line_type type, const char *length) { GRE_TEXVERB_GLYPH, ¬es_lloc); } -static __inline const char *ledger_type_name(const ledger_line_type type) { +static __inline const char *sign_orientation_name(const sign_orientation type) { switch (type) { - case LL_OVER: + case SO_OVER: return "over"; - case LL_UNDER: + case SO_UNDER: return "under"; } - gregorio_messagef("ledger_type_name", VERBOSITY_ERROR, 0, - _("invalid ledger type %d"), type); - return NULL; + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(sign_orientation_name, "invalid ledger type %d", type); + return ""; + /* LCOV_EXCL_STOP */ } -static void add_variable_ledger(const ledger_line_type type, +static void add_variable_ledger(const sign_orientation type, const char *after_ledger) { if (ledger_var[type]) { - const char *const typename = ledger_type_name(type); + const char *const typename = sign_orientation_name(type); gregorio_messagef("add_variable_ledger", VERBOSITY_ERROR, 0, _("variable %s-staff ledger line without termination of " "previous %s-staff ledger line"), typename, typename); @@ -252,10 +256,10 @@ static void add_variable_ledger(const ledger_line_type type, } } -static void end_variable_ledger(const ledger_line_type type) +static void end_variable_ledger(const sign_orientation type) { if (!ledger_var[type]) { - const char *const typename = ledger_type_name(type); + const char *const typename = sign_orientation_name(type); gregorio_messagef("end_variable_ledger", VERBOSITY_ERROR, 0, _("variable %s-staff ledger line termination without variable " "%s-staff ledger line start"), typename, typename); @@ -285,7 +289,7 @@ static __inline gregorio_bar parse_dominican_bar(char bar) bar -= '0'; if (bar < 1 || bar > (2 * (staff_lines - 1))) { gregorio_messagef("parse_dominican_line", VERBOSITY_ERROR, 0, - _("invalid dominican bar for %u lines: ;%d"), + _("invalid Dominican bar for %u lines: ;%d"), (unsigned int)staff_lines, (int)bar); } @@ -307,10 +311,11 @@ static __inline gregorio_bar parse_dominican_bar(char bar) case 8: return B_DIVISIO_MINOR_D8; } - - gregorio_messagef("check_dominican_line", VERBOSITY_ERROR, 0, - _("invalid dominican bar: %d"), (int)bar); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(check_dominican_line, "invalid dominican bar: %d", (int)bar); return B_NO_BAR; + /* LCOV_EXCL_STOP */ } static __inline gregorio_clef letter_to_clef(char letter) @@ -321,15 +326,21 @@ static __inline gregorio_clef letter_to_clef(char letter) case 'f': return CLEF_F; } - gregorio_messagef("letter_to_clef", VERBOSITY_ERROR, 0, - _("invalid clef: %c"), letter); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail2(letter_to_clef, "invalid clef: %c", letter); return CLEF_C; + /* LCOV_EXCL_STOP */ } +/* this assertion should only fail if the lex rules are incorrect */ static __inline void slur_assert(char *fn, bool test) { if (!test) { + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ gregorio_message(_("invalid slur text"), fn, VERBOSITY_FATAL, 0); exit(1); + /* LCOV_EXCL_STOP */ } } @@ -372,7 +383,7 @@ static void parse_slur(int direction) gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } -static void start_var_slur(int index) +static void start_var_slur(const sign_orientation index) { if (!current_note || current_note->type != GRE_NOTE) { gregorio_message( @@ -382,9 +393,9 @@ static void start_var_slur(int index) } if (slur_var[index]) { - gregorio_message( - _("variable slur without termination of previous slur"), - "start_var_slur", VERBOSITY_ERROR, 0); + gregorio_messagef("start_var_slur", VERBOSITY_ERROR, 0, + _("variable %s-note slur without termination of previous slur"), + sign_orientation_name(index)); return; } @@ -393,7 +404,7 @@ static void start_var_slur(int index) slur_start[index] = current_note; } -static void end_var_slur(int direction, int index) +static void end_var_slur(const int direction, const sign_orientation index) { char shift; @@ -405,8 +416,9 @@ static void end_var_slur(int direction, int index) } if (!slur_var[index] || !slur_shift[index] || !slur_start[index]) { - gregorio_message(_("variable slur end without variable slur start"), - "end_var_slur", VERBOSITY_ERROR, 0); + gregorio_messagef("end_var_slur", VERBOSITY_ERROR, 0, + _("variable %s-note slur end without start"), + sign_orientation_name(index)); return; } @@ -431,6 +443,36 @@ static void end_var_slur(int direction, int index) slur_start[index] = NULL; } +void gabc_det_notes_finish(void) +{ + sign_orientation orientation; + if (overbrace_var) { + gregorio_message(_("unclosed variable over-staff brace"), + "gabc_det_notes_finish", VERBOSITY_ERROR, 0); + overbrace_var = 0; + } + if (underbrace_var) { + gregorio_message(_("unclosed variable under-staff brace"), + "gabc_det_notes_finish", VERBOSITY_ERROR, 0); + underbrace_var = 0; + } + for (orientation = SO_OVER; orientation <= SO_UNDER; ++orientation) { + const char *name = sign_orientation_name(orientation); + if (ledger_var[orientation]) { + gregorio_messagef("gabc_det_notes_finish", VERBOSITY_ERROR, 0, + _("unclosed variable %s-staff ledger line"), name); + ledger_var[orientation] = 0; + } + if (slur_var[orientation]) { + gregorio_messagef("gabc_det_notes_finish", VERBOSITY_ERROR, 0, + _("unclosed variable %s-note slur"), name); + slur_var[orientation] = 0; + slur_shift[orientation] = '\0'; + slur_start[orientation] = NULL; + } + } +} + %} %option stack @@ -748,7 +790,7 @@ static void end_var_slur(int direction, int index) gregorio_strdup(gabc_notes_determination_text), ¬es_lloc); } \[oll:\}\] { - end_variable_ledger(LL_OVER); + end_variable_ledger(SO_OVER); } \[oll: { BEGIN(overledger); @@ -758,15 +800,15 @@ static void end_var_slur(int direction, int index) BEGIN(overledger2); } ;[^\]]+ { - add_static_ledger(LL_OVER, gabc_notes_determination_text); + add_static_ledger(SO_OVER, gabc_notes_determination_text); BEGIN(endledger); } \{[^\]]+ { - add_variable_ledger(LL_OVER, gabc_notes_determination_text); + add_variable_ledger(SO_OVER, gabc_notes_determination_text); BEGIN(endledger); } \[ull:\}\] { - end_variable_ledger(LL_UNDER); + end_variable_ledger(SO_UNDER); } \[ull: { BEGIN(underledger); @@ -776,11 +818,11 @@ static void end_var_slur(int direction, int index) BEGIN(underledger2); } ;[^\]]+ { - add_static_ledger(LL_UNDER, gabc_notes_determination_text); + add_static_ledger(SO_UNDER, gabc_notes_determination_text); BEGIN(endledger); } \{[^\]]+ { - add_variable_ledger(LL_UNDER, gabc_notes_determination_text); + add_variable_ledger(SO_UNDER, gabc_notes_determination_text); BEGIN(endledger); } \] { @@ -790,19 +832,19 @@ static void end_var_slur(int direction, int index) parse_slur(1); } \[oslur:[012]\{\] { - start_var_slur(0); + start_var_slur(SO_OVER); } \[oslur:[012]\}\] { - end_var_slur(1, 0); + end_var_slur(1, SO_OVER); } \[uslur:[012];[^,]+,[^\]]+\] { parse_slur(-1); } \[uslur:[012]\{\] { - start_var_slur(1); + start_var_slur(SO_UNDER); } \[uslur:[012]\}\] { - end_var_slur(-1, 1); + end_var_slur(-1, SO_UNDER); } \{ { gregorio_add_texverb_as_note(¤t_note, @@ -929,6 +971,10 @@ y { gregorio_add_space_as_note(¤t_note, SP_HALF_SPACE, NULL, ¬es_lloc); } +!?\/! { + gregorio_add_space_as_note(¤t_note, SP_INTERGLYPH_SPACE, NULL, + ¬es_lloc); + } \/ { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT, NULL, ¬es_lloc); @@ -1031,8 +1077,7 @@ q { legacy_oriscus_orientation); } o { - gregorio_change_shape(current_note, legacy_oriscus_orientation - ? S_ORISCUS_ASCENDENS : S_ORISCUS_UNDETERMINED, + gregorio_change_shape(current_note, S_ORISCUS_UNDETERMINED, legacy_oriscus_orientation); } O { @@ -1075,7 +1120,7 @@ s { current_note->supposed_low_ledger_line = false; current_note->explicit_low_ledger_line = true; } -. { +.|\n { gregorio_messagef("det_notes_from_string", VERBOSITY_ERROR, 0, _("unrecognized character: \"%c\""), gabc_notes_determination_text[0]); diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c index 03994f45487..c76c41a7205 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c @@ -393,42 +393,41 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int32_t yy_accept[307] = +static yyconst flex_int32_t yy_accept[292] = { 0, 0, 1, 7, 7, 0, 0, 65, 65, 46, 46, - 52, 52, 49, 49, 5, 5, 57, 57, 71, 27, - 70, 27, 27, 24, 6, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 2, 2, 3, 3, 1, 7, - 7, 70, 28, 47, 64, 29, 53, 62, 63, 54, - 55, 65, 66, 68, 67, 46, 53, 52, 53, 49, - 48, 5, 4, 57, 53, 26, 0, 25, 0, 24, - 6, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 2, 1, 7, 7, 0, 7, 7, - 0, 7, 8, 8, 28, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 65, 69, 46, - 0, 52, 0, 49, 48, 5, 4, 57, 0, 25, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 7, 0, 0, 0, 40, 38, - 0, 30, 0, 0, 0, 0, 0, 50, 61, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 24, 0, - 24, 24, 24, 15, 24, 11, 24, 24, 24, 24, - 0, 0, 0, 59, 0, 42, 44, 34, 36, 41, - 39, 33, 0, 0, 0, 0, 51, 0, 24, 24, - 24, 0, 24, 24, 0, 0, 24, 24, 24, 24, - - 60, 0, 56, 0, 43, 45, 35, 37, 0, 24, - 19, 9, 24, 24, 24, 24, 24, 24, 24, 24, - 0, 0, 0, 31, 58, 24, 24, 24, 24, 24, - 24, 24, 0, 24, 24, 24, 32, 24, 24, 0, - 20, 24, 24, 24, 24, 0, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 18, 24, - 24, 24, 24, 22, 0, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 21, 24, 24, 24, 24, - 24, 24, 24, 24, 14, 24, 16, 24, 24, 24, - 13, 24, 24, 24, 24, 24, 24, 24, 12, 17, - - 10, 24, 24, 24, 23, 0 + 52, 52, 49, 49, 5, 5, 57, 57, 71, 25, + 69, 25, 23, 6, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 2, 2, 3, 3, 1, 7, 7, + 70, 26, 47, 64, 27, 53, 62, 63, 54, 55, + 65, 67, 66, 46, 53, 52, 53, 49, 48, 5, + 4, 57, 53, 0, 0, 23, 6, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 2, 1, + 7, 7, 0, 7, 7, 0, 7, 8, 0, 26, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 65, 68, 46, 0, 0, 52, 0, 49, + 48, 5, 4, 57, 0, 24, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 7, + 0, 0, 0, 38, 36, 42, 0, 30, 0, 0, + 0, 0, 0, 50, 61, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 23, 0, 23, 23, 23, + 14, 23, 10, 23, 23, 23, 0, 0, 0, 59, + 0, 40, 44, 32, 34, 39, 37, 43, 31, 0, + 0, 0, 0, 51, 0, 23, 23, 23, 0, 23, + 23, 0, 0, 23, 23, 23, 60, 0, 56, 0, + + 41, 45, 33, 35, 0, 23, 18, 9, 23, 23, + 23, 23, 23, 23, 23, 0, 0, 0, 28, 58, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 29, 23, 23, 0, 19, 23, 23, 23, 0, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 17, 23, 23, 23, 23, 21, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 20, 23, 23, 23, 23, + 23, 23, 23, 13, 23, 15, 23, 23, 12, 23, + 23, 23, 23, 23, 11, 16, 23, 23, 23, 22, + 0 + } ; static yyconst flex_int32_t yy_ec[256] = @@ -436,294 +435,280 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 1, 1, 6, 1, 7, 8, 1, 9, - 10, 1, 1, 1, 11, 1, 12, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 15, 16, - 1, 17, 1, 1, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 19, 1, 20, 1, 18, 1, 21, 22, 23, 24, - - 25, 26, 27, 28, 29, 18, 18, 30, 31, 32, - 33, 34, 18, 35, 36, 37, 38, 39, 18, 18, - 40, 18, 41, 42, 43, 1, 1, 1, 1, 1, + 1, 5, 1, 1, 6, 1, 7, 1, 1, 8, + 9, 1, 1, 1, 10, 1, 11, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 13, 14, 15, + 1, 16, 1, 1, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 18, 1, 19, 1, 17, 1, 20, 21, 22, 23, + + 24, 25, 26, 27, 28, 17, 17, 29, 30, 31, + 32, 33, 17, 34, 35, 36, 37, 38, 17, 17, + 39, 17, 40, 41, 42, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 44, 1, 1, 1, - 45, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 43, 1, 1, 1, + 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 46, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 45, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[47] = +static yyconst flex_int32_t yy_meta[46] = { 0, - 1, 1, 2, 3, 1, 1, 4, 5, 4, 5, - 6, 1, 7, 1, 8, 9, 1, 7, 4, 4, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 10, 5, 10, 1, 1, 1 + 1, 1, 2, 2, 1, 1, 3, 3, 4, 5, + 1, 6, 1, 7, 8, 1, 6, 3, 3, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 9, + 4, 9, 1, 1, 1 } ; -static yyconst flex_int32_t yy_base[329] = +static yyconst flex_int32_t yy_base[313] = { 0, - 0, 44, 49, 51, 84, 121, 50, 55, 33, 40, - 688, 687, 58, 64, 66, 68, 686, 685, 700, 705, - 705, 75, 688, 687, 692, 48, 62, 64, 66, 73, - 85, 88, 94, 96, 98, 107, 705, 109, 76, 120, - 135, 139, 0, 705, 705, 705, 153, 684, 705, 705, - 705, 0, 705, 142, 705, 0, 136, 0, 683, 0, - 111, 0, 148, 0, 682, 152, 156, 0, 0, 682, - 705, 138, 97, 142, 95, 155, 147, 156, 166, 162, - 158, 161, 160, 192, 154, 198, 200, 202, 677, 204, - 0, 206, 208, 705, 0, 191, 661, 673, 672, 650, - - 670, 656, 191, 648, 654, 666, 662, 0, 224, 0, - 208, 0, 642, 0, 229, 0, 231, 0, 659, 0, - 668, 209, 211, 667, 213, 227, 230, 236, 232, 237, - 238, 239, 241, 240, 662, 638, 645, 637, 705, 705, - 656, 705, 650, 654, 653, 652, 651, 705, 705, 650, - 649, 648, 231, 627, 633, 645, 631, 242, 245, 629, - 648, 248, 247, 647, 646, 645, 256, 257, 258, 260, - 638, 632, 636, 705, 631, 705, 705, 705, 705, 705, - 705, 705, 634, 633, 632, 631, 705, 610, 252, 259, - 261, 623, 271, 276, 260, 613, 277, 278, 616, 613, - - 705, 587, 705, 590, 705, 705, 705, 705, 581, 282, - 586, 583, 284, 279, 287, 289, 288, 291, 561, 290, - 542, 533, 429, 705, 705, 293, 294, 434, 285, 297, - 300, 295, 410, 430, 292, 302, 705, 296, 304, 404, - 428, 319, 321, 322, 323, 405, 324, 325, 327, 326, - 328, 329, 330, 331, 423, 335, 332, 337, 422, 340, - 341, 342, 344, 421, 392, 349, 352, 353, 355, 360, - 363, 368, 364, 369, 357, 419, 372, 373, 374, 380, - 381, 384, 385, 365, 417, 388, 416, 390, 392, 393, - 207, 394, 397, 396, 398, 403, 400, 407, 175, 172, - - 125, 408, 409, 415, 120, 705, 447, 457, 467, 477, - 487, 497, 507, 517, 522, 529, 539, 549, 559, 567, - 577, 585, 595, 605, 615, 625, 50, 635 + 0, 43, 48, 50, 82, 118, 39, 50, 41, 42, + 635, 634, 57, 62, 64, 66, 633, 632, 646, 651, + 651, 638, 634, 638, 48, 53, 83, 45, 84, 63, + 86, 64, 95, 68, 104, 651, 635, 66, 109, 115, + 131, 0, 651, 651, 651, 150, 630, 651, 651, 651, + 0, 136, 651, 0, 131, 0, 629, 0, 111, 0, + 117, 0, 628, 140, 0, 628, 651, 68, 117, 138, + 136, 122, 142, 139, 146, 149, 158, 144, 162, 139, + 188, 190, 192, 623, 194, 0, 196, 176, 208, 0, + 183, 607, 619, 618, 185, 617, 603, 183, 595, 601, + + 613, 609, 0, 215, 0, 202, 611, 0, 588, 0, + 224, 0, 228, 0, 605, 231, 614, 193, 219, 613, + 199, 179, 226, 92, 231, 230, 232, 234, 233, 608, + 584, 591, 583, 651, 651, 651, 602, 651, 596, 600, + 599, 598, 597, 651, 651, 596, 595, 594, 593, 223, + 572, 578, 590, 576, 237, 238, 574, 593, 241, 239, + 592, 591, 590, 240, 247, 249, 583, 577, 581, 651, + 576, 651, 651, 651, 651, 651, 651, 651, 651, 579, + 578, 577, 576, 651, 555, 245, 250, 251, 568, 262, + 265, 256, 560, 254, 578, 577, 651, 566, 651, 569, + + 651, 651, 651, 651, 566, 256, 564, 549, 267, 268, + 270, 273, 271, 277, 278, 528, 518, 511, 651, 651, + 279, 283, 511, 280, 284, 285, 288, 509, 290, 292, + 651, 296, 300, 377, 400, 301, 302, 305, 373, 304, + 307, 311, 313, 308, 317, 315, 314, 321, 322, 324, + 394, 323, 325, 326, 335, 392, 340, 333, 336, 343, + 344, 342, 346, 348, 347, 387, 349, 355, 352, 364, + 368, 367, 370, 385, 371, 382, 372, 374, 203, 375, + 376, 377, 380, 378, 165, 159, 381, 379, 384, 120, + 651, 415, 424, 433, 442, 451, 460, 469, 478, 483, + + 489, 498, 507, 516, 523, 532, 539, 548, 557, 566, + 69, 575 } ; -static yyconst flex_int32_t yy_def[329] = +static yyconst flex_int32_t yy_def[313] = { 0, - 306, 1, 307, 307, 308, 308, 309, 309, 310, 310, - 311, 311, 312, 312, 313, 313, 314, 314, 306, 306, - 306, 306, 306, 315, 306, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 306, 306, 306, 306, 306, 316, - 317, 318, 319, 306, 306, 306, 306, 306, 306, 306, - 306, 320, 306, 306, 306, 321, 47, 322, 306, 323, - 306, 324, 306, 325, 306, 306, 306, 326, 327, 315, - 306, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 306, 306, 316, 317, 318, 317, 317, - 328, 318, 306, 306, 319, 306, 306, 306, 306, 306, - - 306, 306, 306, 306, 306, 306, 306, 320, 306, 321, - 306, 322, 306, 323, 306, 324, 306, 325, 306, 326, - 327, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 328, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 315, 315, 327, - 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 315, 315, - 327, 327, 315, 315, 327, 327, 315, 315, 315, 315, - - 306, 306, 306, 306, 306, 306, 306, 306, 306, 315, - 315, 327, 327, 315, 315, 327, 327, 327, 315, 315, - 327, 327, 306, 306, 306, 315, 327, 315, 315, 327, - 327, 327, 327, 315, 327, 327, 306, 315, 327, 327, - 315, 327, 327, 327, 327, 327, 327, 327, 315, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 315, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - - 327, 327, 327, 327, 327, 0, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306 + 291, 1, 292, 292, 293, 293, 294, 294, 295, 295, + 296, 296, 297, 297, 298, 298, 299, 299, 291, 291, + 291, 291, 300, 291, 300, 300, 300, 300, 300, 300, + 300, 300, 300, 291, 291, 291, 291, 291, 301, 302, + 303, 304, 291, 291, 291, 291, 291, 291, 291, 291, + 305, 291, 291, 306, 46, 307, 291, 308, 291, 309, + 291, 310, 291, 291, 311, 300, 291, 300, 300, 300, + 300, 300, 300, 300, 300, 300, 300, 300, 291, 291, + 301, 302, 303, 302, 302, 312, 303, 291, 291, 304, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + + 291, 291, 305, 291, 306, 291, 291, 307, 291, 308, + 291, 309, 291, 310, 291, 291, 311, 300, 300, 300, + 300, 300, 300, 300, 300, 300, 300, 300, 300, 312, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 300, 300, 311, 300, 300, 300, + 300, 300, 300, 300, 300, 300, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 300, 300, 311, 311, 300, + 300, 311, 311, 300, 300, 300, 291, 291, 291, 291, + + 291, 291, 291, 291, 291, 300, 300, 311, 311, 300, + 300, 311, 311, 311, 300, 311, 311, 291, 291, 291, + 300, 311, 300, 300, 311, 311, 311, 300, 311, 311, + 291, 300, 311, 311, 300, 311, 311, 311, 311, 311, + 311, 300, 311, 311, 311, 311, 311, 311, 311, 311, + 300, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 0, 291, 291, 291, 291, 291, 291, 291, 291, 291, + + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291 } ; -static yyconst flex_int32_t yy_nxt[752] = +static yyconst flex_int32_t yy_nxt[697] = { 0, 20, 20, 21, 20, 20, 20, 22, 20, 20, 20, - 23, 20, 24, 25, 20, 20, 20, 24, 20, 20, - 26, 24, 24, 27, 24, 24, 28, 24, 29, 30, - 31, 32, 33, 24, 24, 34, 24, 24, 24, 24, - 20, 20, 20, 20, 20, 20, 35, 36, 57, 37, - 38, 41, 41, 41, 41, 57, 121, 53, 69, 54, - 61, 61, 53, 42, 54, 42, 61, 61, 63, 63, - 63, 63, 69, 50, 69, 51, 69, 66, 66, 72, - 50, 67, 51, 69, 75, 73, 74, 39, 39, 39, - 44, 55, 45, 77, 46, 69, 55, 76, 69, 47, - - 84, 84, 48, 49, 69, 69, 69, 69, 79, 84, - 84, 66, 66, 115, 115, 67, 125, 78, 82, 85, - 85, 85, 87, 87, 50, 80, 51, 44, 81, 45, - 69, 46, 83, 123, 88, 69, 47, 90, 90, 48, - 49, 93, 93, 109, 109, 109, 109, 111, 69, 91, - 117, 117, 69, 94, 66, 66, 306, 69, 66, 66, - 306, 50, 67, 51, 96, 69, 69, 124, 69, 122, - 69, 69, 69, 97, 98, 99, 69, 100, 127, 128, - 134, 101, 69, 126, 102, 69, 132, 129, 103, 104, - 105, 106, 131, 133, 84, 84, 130, 85, 85, 85, - - 87, 87, 90, 90, 306, 306, 90, 90, 87, 87, - 93, 93, 88, 144, 91, 136, 306, 69, 91, 69, - 88, 69, 137, 69, 145, 109, 109, 109, 109, 150, - 151, 115, 115, 117, 117, 161, 152, 69, 159, 137, - 69, 158, 69, 153, 154, 155, 69, 69, 69, 69, - 69, 69, 69, 183, 165, 69, 163, 69, 69, 167, - 164, 166, 69, 162, 184, 170, 69, 69, 69, 69, - 69, 69, 210, 212, 168, 169, 193, 190, 189, 198, - 197, 69, 199, 216, 194, 200, 69, 69, 69, 69, - 217, 214, 69, 211, 69, 69, 215, 69, 69, 69, - - 69, 69, 69, 69, 69, 69, 69, 69, 228, 241, - 69, 219, 69, 229, 69, 220, 227, 230, 226, 232, - 231, 238, 242, 243, 247, 234, 244, 239, 249, 69, - 248, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 250, 252, 69, 254, 69, 255, 253, - 69, 69, 69, 262, 69, 263, 258, 257, 259, 69, - 260, 268, 69, 69, 261, 69, 264, 69, 269, 266, - 69, 267, 272, 69, 69, 69, 271, 274, 69, 69, - 270, 277, 69, 69, 69, 283, 275, 279, 276, 278, - 69, 69, 280, 282, 69, 69, 281, 285, 69, 284, - - 69, 291, 69, 69, 69, 286, 69, 69, 69, 288, - 69, 290, 293, 69, 287, 289, 298, 69, 69, 69, - 295, 297, 296, 300, 292, 69, 69, 69, 294, 69, - 273, 69, 69, 265, 299, 301, 303, 256, 69, 251, - 246, 304, 245, 302, 240, 237, 305, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 52, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 70, 70, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 95, - 95, 95, 236, 95, 235, 95, 95, 108, 108, 108, - 108, 233, 108, 108, 108, 108, 108, 110, 110, 110, - 110, 110, 110, 110, 110, 112, 112, 112, 112, 112, - 112, 112, 112, 69, 112, 114, 69, 225, 114, 114, - - 114, 114, 114, 114, 114, 116, 224, 223, 116, 116, - 116, 116, 116, 116, 116, 118, 118, 118, 118, 118, - 118, 118, 118, 222, 118, 120, 221, 120, 120, 120, - 120, 120, 120, 120, 120, 135, 135, 135, 135, 135, - 135, 135, 218, 135, 135, 213, 209, 208, 207, 206, - 205, 204, 203, 202, 201, 69, 196, 195, 192, 191, - 188, 187, 186, 185, 182, 181, 180, 179, 178, 177, - 176, 175, 174, 173, 172, 171, 91, 160, 69, 157, - 156, 149, 148, 147, 146, 143, 142, 141, 140, 139, - 138, 91, 69, 119, 113, 107, 71, 69, 68, 306, - - 65, 65, 59, 59, 19, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306 + 20, 23, 24, 20, 20, 20, 23, 20, 20, 25, + 23, 23, 26, 23, 23, 27, 23, 28, 29, 30, + 31, 32, 23, 23, 33, 23, 23, 23, 23, 20, + 20, 20, 20, 20, 20, 34, 35, 52, 36, 37, + 40, 40, 40, 40, 65, 55, 55, 65, 52, 59, + 59, 41, 65, 41, 59, 59, 61, 61, 61, 61, + 79, 79, 65, 65, 117, 72, 70, 65, 68, 53, + 49, 49, 50, 50, 69, 38, 38, 38, 43, 44, + 53, 45, 65, 65, 74, 65, 46, 76, 118, 47, + + 48, 65, 71, 73, 65, 75, 79, 79, 80, 80, + 80, 82, 82, 111, 111, 161, 77, 85, 85, 113, + 113, 49, 83, 50, 43, 44, 65, 45, 86, 65, + 78, 65, 46, 88, 88, 47, 48, 104, 104, 104, + 104, 106, 116, 116, 89, 65, 64, 65, 65, 122, + 291, 65, 119, 65, 107, 65, 121, 49, 65, 50, + 91, 124, 120, 129, 79, 79, 125, 65, 65, 92, + 93, 94, 123, 95, 65, 126, 127, 96, 88, 88, + 97, 80, 80, 80, 98, 99, 100, 101, 65, 128, + 82, 82, 85, 85, 291, 291, 85, 85, 82, 82, + + 136, 83, 65, 86, 140, 291, 131, 86, 65, 83, + 88, 88, 65, 132, 159, 141, 104, 104, 104, 104, + 158, 137, 146, 147, 155, 148, 111, 111, 65, 149, + 113, 113, 132, 116, 116, 65, 150, 151, 152, 65, + 65, 65, 65, 65, 180, 156, 65, 65, 65, 65, + 65, 160, 162, 163, 65, 181, 65, 166, 65, 65, + 65, 194, 208, 65, 206, 65, 164, 165, 190, 187, + 195, 65, 186, 196, 65, 191, 65, 65, 212, 65, + 65, 210, 65, 207, 211, 213, 65, 65, 65, 65, + 215, 221, 65, 65, 65, 224, 223, 65, 222, 65, + + 225, 65, 226, 235, 227, 65, 232, 237, 236, 65, + 65, 65, 228, 65, 65, 233, 65, 65, 238, 241, + 65, 240, 65, 65, 65, 245, 65, 242, 247, 246, + 65, 65, 65, 65, 65, 65, 249, 250, 243, 255, + 254, 251, 65, 253, 65, 65, 252, 259, 256, 65, + 260, 65, 65, 65, 257, 65, 65, 65, 65, 262, + 258, 65, 263, 261, 65, 269, 265, 264, 267, 270, + 266, 271, 268, 65, 272, 273, 65, 65, 274, 65, + 65, 65, 275, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 278, 65, 65, 284, 65, 276, 277, 286, + + 282, 65, 283, 65, 248, 279, 280, 281, 288, 65, + 289, 244, 285, 287, 290, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 66, 66, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 84, 84, + + 84, 84, 84, 84, 84, 84, 84, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 90, 90, 239, 90, + 234, 90, 90, 103, 103, 103, 231, 103, 103, 103, + 103, 103, 105, 105, 105, 105, 105, 105, 105, 108, + 108, 108, 108, 108, 108, 108, 230, 108, 110, 229, + 110, 110, 110, 110, 110, 110, 110, 112, 65, 112, + 112, 112, 112, 112, 112, 112, 114, 114, 114, 114, + 114, 114, 114, 65, 114, 130, 130, 130, 130, 130, + 130, 220, 130, 130, 219, 218, 217, 216, 214, 209, + 205, 204, 203, 202, 201, 200, 199, 198, 197, 65, + + 193, 192, 189, 188, 185, 184, 183, 182, 179, 178, + 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, + 167, 86, 157, 65, 154, 153, 136, 145, 144, 143, + 142, 139, 138, 135, 134, 133, 86, 65, 115, 109, + 102, 64, 67, 65, 64, 291, 63, 63, 57, 57, + 19, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291 + } ; -static yyconst flex_int32_t yy_chk[752] = +static yyconst flex_int32_t yy_chk[697] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 9, 2, - 2, 3, 3, 4, 4, 10, 327, 7, 26, 7, - 13, 13, 8, 3, 8, 4, 14, 14, 15, 15, - 16, 16, 27, 9, 28, 9, 29, 22, 22, 26, - 10, 22, 10, 30, 28, 26, 27, 2, 2, 2, - 5, 7, 5, 30, 5, 31, 8, 29, 32, 5, - - 35, 35, 5, 5, 33, 75, 34, 73, 32, 36, - 36, 38, 38, 61, 61, 38, 75, 31, 34, 39, - 39, 39, 40, 40, 5, 32, 5, 6, 33, 6, - 305, 6, 34, 73, 40, 301, 6, 41, 41, 6, - 6, 42, 42, 54, 54, 54, 54, 57, 72, 41, - 63, 63, 74, 42, 66, 66, 57, 77, 67, 67, - 57, 6, 67, 6, 47, 76, 78, 74, 81, 72, - 83, 82, 80, 47, 47, 47, 79, 47, 77, 78, - 83, 47, 300, 76, 47, 299, 81, 79, 47, 47, - 47, 47, 80, 82, 84, 84, 79, 85, 85, 85, - - 86, 86, 87, 87, 88, 88, 90, 90, 92, 92, - 93, 93, 86, 103, 87, 96, 88, 291, 90, 122, - 92, 123, 96, 125, 103, 109, 109, 109, 109, 111, - 111, 115, 115, 117, 117, 125, 111, 126, 123, 111, - 127, 122, 129, 111, 111, 111, 128, 130, 131, 132, - 134, 133, 158, 153, 129, 159, 127, 163, 162, 131, - 128, 130, 189, 126, 153, 134, 167, 168, 169, 190, - 170, 191, 189, 191, 132, 133, 162, 159, 158, 168, - 167, 193, 169, 195, 163, 170, 194, 197, 198, 214, - 195, 193, 210, 190, 213, 229, 194, 215, 217, 216, - - 220, 218, 235, 226, 227, 232, 238, 230, 214, 229, - 231, 197, 236, 215, 239, 198, 213, 216, 210, 218, - 217, 226, 230, 231, 235, 220, 232, 227, 238, 242, - 236, 243, 244, 245, 247, 248, 250, 249, 251, 252, - 253, 254, 257, 239, 242, 256, 244, 258, 245, 243, - 260, 261, 262, 252, 263, 253, 248, 247, 249, 266, - 250, 258, 267, 268, 251, 269, 254, 275, 260, 256, - 270, 257, 263, 271, 273, 284, 262, 266, 272, 274, - 261, 269, 277, 278, 279, 275, 267, 271, 268, 270, - 280, 281, 272, 274, 282, 283, 273, 278, 286, 277, - - 288, 284, 289, 290, 292, 279, 294, 293, 295, 281, - 297, 283, 288, 296, 280, 282, 294, 298, 302, 303, - 290, 293, 292, 296, 286, 304, 287, 285, 289, 276, - 265, 264, 259, 255, 295, 297, 302, 246, 241, 240, - 234, 303, 233, 298, 228, 223, 304, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 307, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 309, 309, 309, - 309, 309, 309, 309, 309, 309, 309, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 312, 312, 312, - - 312, 312, 312, 312, 312, 312, 312, 313, 313, 313, - 313, 313, 313, 313, 313, 313, 313, 314, 314, 314, - 314, 314, 314, 314, 314, 314, 314, 315, 315, 316, - 316, 316, 316, 316, 316, 316, 316, 316, 316, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 317, 318, - 318, 318, 318, 318, 318, 318, 318, 318, 318, 319, - 319, 319, 222, 319, 221, 319, 319, 320, 320, 320, - 320, 219, 320, 320, 320, 320, 320, 321, 321, 321, - 321, 321, 321, 321, 321, 322, 322, 322, 322, 322, - 322, 322, 322, 212, 322, 323, 211, 209, 323, 323, - - 323, 323, 323, 323, 323, 324, 204, 202, 324, 324, - 324, 324, 324, 324, 324, 325, 325, 325, 325, 325, - 325, 325, 325, 200, 325, 326, 199, 326, 326, 326, - 326, 326, 326, 326, 326, 328, 328, 328, 328, 328, - 328, 328, 196, 328, 328, 192, 188, 186, 185, 184, - 183, 175, 173, 172, 171, 166, 165, 164, 161, 160, - 157, 156, 155, 154, 152, 151, 150, 147, 146, 145, - 144, 143, 141, 138, 137, 136, 135, 124, 121, 119, - 113, 107, 106, 105, 104, 102, 101, 100, 99, 98, - 97, 89, 70, 65, 59, 48, 25, 24, 23, 19, - - 18, 17, 12, 11, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306 + 1, 1, 1, 1, 1, 2, 2, 7, 2, 2, + 3, 3, 4, 4, 28, 9, 10, 25, 8, 13, + 13, 3, 26, 4, 14, 14, 15, 15, 16, 16, + 34, 34, 30, 32, 311, 28, 26, 68, 25, 7, + 9, 10, 9, 10, 25, 2, 2, 2, 5, 5, + 8, 5, 27, 29, 30, 31, 5, 32, 68, 5, + + 5, 124, 27, 29, 33, 31, 35, 35, 38, 38, + 38, 39, 39, 59, 59, 124, 33, 40, 40, 61, + 61, 5, 39, 5, 6, 6, 69, 6, 40, 290, + 33, 72, 6, 41, 41, 6, 6, 52, 52, 52, + 52, 55, 64, 64, 41, 71, 64, 70, 74, 72, + 55, 73, 69, 78, 55, 75, 71, 6, 76, 6, + 46, 74, 70, 78, 79, 79, 75, 77, 286, 46, + 46, 46, 73, 46, 285, 75, 76, 46, 88, 88, + 46, 80, 80, 80, 46, 46, 46, 46, 122, 77, + 81, 81, 82, 82, 83, 83, 85, 85, 87, 87, + + 95, 81, 118, 82, 98, 83, 91, 85, 121, 87, + 89, 89, 279, 91, 122, 98, 104, 104, 104, 104, + 121, 95, 106, 106, 118, 106, 111, 111, 119, 106, + 113, 113, 106, 116, 116, 123, 106, 106, 106, 126, + 125, 127, 129, 128, 150, 119, 155, 156, 160, 164, + 159, 123, 125, 126, 186, 150, 165, 129, 166, 187, + 188, 164, 188, 194, 186, 206, 127, 128, 159, 156, + 165, 190, 155, 166, 191, 160, 209, 210, 192, 211, + 213, 190, 212, 187, 191, 192, 214, 215, 221, 224, + 194, 206, 222, 225, 226, 211, 210, 227, 209, 229, + + 212, 230, 213, 224, 214, 232, 221, 226, 225, 233, + 236, 237, 215, 240, 238, 222, 241, 244, 227, 230, + 242, 229, 243, 247, 246, 236, 245, 232, 238, 237, + 248, 249, 252, 250, 253, 254, 240, 241, 233, 246, + 245, 242, 258, 244, 255, 259, 243, 250, 247, 257, + 252, 262, 260, 261, 248, 263, 265, 264, 267, 254, + 249, 269, 255, 253, 268, 262, 258, 257, 260, 263, + 259, 264, 261, 270, 265, 267, 272, 271, 268, 273, + 275, 277, 269, 278, 280, 281, 282, 284, 288, 283, + 287, 276, 272, 289, 274, 281, 266, 270, 271, 283, + + 278, 256, 280, 251, 239, 273, 275, 277, 287, 235, + 288, 234, 282, 284, 289, 292, 292, 292, 292, 292, + 292, 292, 292, 292, 293, 293, 293, 293, 293, 293, + 293, 293, 293, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 296, 296, 296, 296, 296, 296, 296, 296, 296, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 298, + 298, 298, 298, 298, 298, 298, 298, 298, 299, 299, + 299, 299, 299, 299, 299, 299, 299, 300, 300, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, + + 302, 302, 302, 302, 302, 302, 302, 303, 303, 303, + 303, 303, 303, 303, 303, 303, 304, 304, 228, 304, + 223, 304, 304, 305, 305, 305, 218, 305, 305, 305, + 305, 305, 306, 306, 306, 306, 306, 306, 306, 307, + 307, 307, 307, 307, 307, 307, 217, 307, 308, 216, + 308, 308, 308, 308, 308, 308, 308, 309, 208, 309, + 309, 309, 309, 309, 309, 309, 310, 310, 310, 310, + 310, 310, 310, 207, 310, 312, 312, 312, 312, 312, + 312, 205, 312, 312, 200, 198, 196, 195, 193, 189, + 185, 183, 182, 181, 180, 171, 169, 168, 167, 163, + + 162, 161, 158, 157, 154, 153, 152, 151, 149, 148, + 147, 146, 143, 142, 141, 140, 139, 137, 133, 132, + 131, 130, 120, 117, 115, 109, 107, 102, 101, 100, + 99, 97, 96, 94, 93, 92, 84, 66, 63, 57, + 47, 37, 24, 23, 22, 19, 18, 17, 12, 11, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291 + } ; static yy_state_type yy_last_accepting_state; @@ -828,7 +813,7 @@ static bool eof_found = false; for (a) single-line values, ending with a semicolon at end of line or a double semicolon, (b) multi-line values, which end at a double semicolon. */ -#line 832 "gabc/gabc-score-determination-l.c" +#line 817 "gabc/gabc-score-determination-l.c" #define INITIAL 0 #define attribute 1 @@ -1052,7 +1037,7 @@ YY_DECL { #line 108 "gabc/gabc-score-determination.l" -#line 1056 "gabc/gabc-score-determination-l.c" +#line 1041 "gabc/gabc-score-determination-l.c" while ( 1 ) /* loops until end-of-file is reached */ { @@ -1080,13 +1065,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 307 ) + if ( yy_current_state >= 292 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 705 ); + while ( yy_base[yy_current_state] != 651 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1188,7 +1173,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return NUMBER_OF_VOICES; + return NAME; } YY_BREAK case 11: @@ -1197,7 +1182,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return NAME; + return SCORE_COPYRIGHT; } YY_BREAK case 12: @@ -1206,24 +1191,24 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return SCORE_COPYRIGHT; + return GABC_COPYRIGHT; } YY_BREAK case 13: YY_RULE_SETUP #line 156 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return GABC_COPYRIGHT; + /* DEPRECATED by 4.1 */ + return INITIAL_STYLE; } YY_BREAK case 14: YY_RULE_SETUP -#line 161 "gabc/gabc-score-determination.l" +#line 160 "gabc/gabc-score-determination.l" { - /* DEPRECATED by 4.1 */ - return INITIAL_STYLE; + gabc_score_determination_lval.text = + gregorio_strdup(gabc_score_determination_text); + return MODE; } YY_BREAK case 15: @@ -1232,7 +1217,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return MODE; + return MODE_MODIFIER; } YY_BREAK case 16: @@ -1241,7 +1226,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return MODE_MODIFIER; + return MODE_DIFFERENTIA; } YY_BREAK case 17: @@ -1250,7 +1235,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return MODE_DIFFERENTIA; + return ANNOTATION; } YY_BREAK case 18: @@ -1259,7 +1244,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return ANNOTATION; + return AUTHOR; } YY_BREAK case 19: @@ -1268,7 +1253,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return AUTHOR; + return LANGUAGE; } YY_BREAK case 20: @@ -1277,7 +1262,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return LANGUAGE; + return STAFF_LINES; } YY_BREAK case 21: @@ -1286,7 +1271,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return STAFF_LINES; + return NABC_LINES; } YY_BREAK case 22: @@ -1295,7 +1280,7 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return NABC_LINES; + return ORISCUS_ORIENTATION; } YY_BREAK case 23: @@ -1304,206 +1289,210 @@ YY_RULE_SETUP { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); - return ORISCUS_ORIENTATION; + return OTHER_HEADER; } YY_BREAK case 24: +/* rule 24 can match eol */ YY_RULE_SETUP #line 210 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return OTHER_HEADER; + BEGIN(score); + return END_OF_DEFINITIONS; } YY_BREAK case 25: YY_RULE_SETUP -#line 215 "gabc/gabc-score-determination.l" +#line 214 "gabc/gabc-score-determination.l" { - return VOICE_CHANGE; + gregorio_messagef("det_score", VERBOSITY_ERROR, 0, + _("unrecognized character: \"%c\" in definition part"), + gabc_score_determination_text[0]); } YY_BREAK case 26: /* rule 26 can match eol */ YY_RULE_SETUP -#line 218 "gabc/gabc-score-determination.l" +#line 219 "gabc/gabc-score-determination.l" { - BEGIN(score); - return END_OF_DEFINITIONS; + gabc_score_determination_lval.text = + gregorio_strdup(gabc_score_determination_text); + return CHARACTERS; } YY_BREAK case 27: YY_RULE_SETUP -#line 222 "gabc/gabc-score-determination.l" +#line 224 "gabc/gabc-score-determination.l" { - gregorio_messagef("det_score", VERBOSITY_ERROR, 0, - _("unrecognized character: \"%c\" in definition part"), - gabc_score_determination_text[0]); + return HYPHEN; } YY_BREAK case 28: -/* rule 28 can match eol */ YY_RULE_SETUP #line 227 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; + return NLBA_B; } YY_BREAK case 29: YY_RULE_SETUP -#line 232 "gabc/gabc-score-determination.l" +#line 230 "gabc/gabc-score-determination.l" { - return HYPHEN; + return NLBA_E; } YY_BREAK case 30: YY_RULE_SETUP -#line 235 "gabc/gabc-score-determination.l" +#line 233 "gabc/gabc-score-determination.l" { BEGIN(style); style_stack ++; - return I_BEGINNING; + return I_BEGIN; } YY_BREAK case 31: YY_RULE_SETUP -#line 240 "gabc/gabc-score-determination.l" +#line 238 "gabc/gabc-score-determination.l" { - return BNLBA; + style_stack --; + if (style_stack == 0) { + BEGIN(score); + } + return I_END; } YY_BREAK case 32: YY_RULE_SETUP -#line 243 "gabc/gabc-score-determination.l" +#line 245 "gabc/gabc-score-determination.l" { - return ENLBA; + BEGIN(style); + style_stack ++; + return TT_BEGIN; } YY_BREAK case 33: YY_RULE_SETUP -#line 246 "gabc/gabc-score-determination.l" +#line 250 "gabc/gabc-score-determination.l" { style_stack --; if (style_stack == 0) { BEGIN(score); } - return I_END; + return TT_END; } YY_BREAK case 34: YY_RULE_SETUP -#line 253 "gabc/gabc-score-determination.l" +#line 257 "gabc/gabc-score-determination.l" { BEGIN(style); style_stack ++; - return TT_BEGINNING; + return UL_BEGIN; } YY_BREAK case 35: YY_RULE_SETUP -#line 258 "gabc/gabc-score-determination.l" +#line 262 "gabc/gabc-score-determination.l" { style_stack --; if (style_stack == 0) { BEGIN(score); } - return TT_END; + return UL_END; } YY_BREAK case 36: YY_RULE_SETUP -#line 265 "gabc/gabc-score-determination.l" +#line 269 "gabc/gabc-score-determination.l" { BEGIN(style); style_stack ++; - return UL_BEGINNING; + return C_BEGIN; } YY_BREAK case 37: YY_RULE_SETUP -#line 270 "gabc/gabc-score-determination.l" +#line 274 "gabc/gabc-score-determination.l" { style_stack --; if (style_stack == 0) { BEGIN(score); } - return UL_END; + return C_END; } YY_BREAK case 38: YY_RULE_SETUP -#line 277 "gabc/gabc-score-determination.l" +#line 281 "gabc/gabc-score-determination.l" { BEGIN(style); style_stack ++; - return C_BEGINNING; + return B_BEGIN; } YY_BREAK case 39: YY_RULE_SETUP -#line 282 "gabc/gabc-score-determination.l" +#line 286 "gabc/gabc-score-determination.l" { style_stack --; if (style_stack == 0) { BEGIN(score); } - return C_END; + return B_END; } YY_BREAK case 40: YY_RULE_SETUP -#line 289 "gabc/gabc-score-determination.l" +#line 293 "gabc/gabc-score-determination.l" { BEGIN(style); style_stack ++; - return B_BEGINNING; + return SC_BEGIN; } YY_BREAK case 41: YY_RULE_SETUP -#line 294 "gabc/gabc-score-determination.l" +#line 298 "gabc/gabc-score-determination.l" { style_stack --; if (style_stack == 0) { BEGIN(score); } - return B_END; + return SC_END; } YY_BREAK case 42: YY_RULE_SETUP -#line 301 "gabc/gabc-score-determination.l" +#line 305 "gabc/gabc-score-determination.l" { BEGIN(style); style_stack ++; - return SC_BEGINNING; + return ELISION_BEGIN; } YY_BREAK case 43: YY_RULE_SETUP -#line 306 "gabc/gabc-score-determination.l" +#line 310 "gabc/gabc-score-determination.l" { style_stack --; if (style_stack == 0) { BEGIN(score); } - return SC_END; + return ELISION_END; } YY_BREAK case 44: YY_RULE_SETUP -#line 313 "gabc/gabc-score-determination.l" +#line 317 "gabc/gabc-score-determination.l" { BEGIN(style); style_stack ++; - return SP_BEGINNING; + return SP_BEGIN; } YY_BREAK case 45: YY_RULE_SETUP -#line 318 "gabc/gabc-score-determination.l" +#line 322 "gabc/gabc-score-determination.l" { style_stack --; if (style_stack == 0) { @@ -1515,7 +1504,7 @@ YY_RULE_SETUP case 46: /* rule 46 can match eol */ YY_RULE_SETUP -#line 325 "gabc/gabc-score-determination.l" +#line 329 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1524,7 +1513,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 330 "gabc/gabc-score-determination.l" +#line 334 "gabc/gabc-score-determination.l" { BEGIN(comments); } @@ -1532,29 +1521,29 @@ YY_RULE_SETUP case 48: /* rule 48 can match eol */ YY_RULE_SETUP -#line 333 "gabc/gabc-score-determination.l" +#line 337 "gabc/gabc-score-determination.l" { BEGIN(score); } YY_BREAK case 49: YY_RULE_SETUP -#line 336 "gabc/gabc-score-determination.l" +#line 340 "gabc/gabc-score-determination.l" { /* ignored */ } YY_BREAK case 50: YY_RULE_SETUP -#line 339 "gabc/gabc-score-determination.l" +#line 343 "gabc/gabc-score-determination.l" { BEGIN(verb); - return VERB_BEGINNING; + return VERB_BEGIN; } YY_BREAK case 51: YY_RULE_SETUP -#line 343 "gabc/gabc-score-determination.l" +#line 347 "gabc/gabc-score-determination.l" { if (style_stack == 0) { BEGIN(score); @@ -1567,7 +1556,7 @@ YY_RULE_SETUP case 52: /* rule 52 can match eol */ YY_RULE_SETUP -#line 351 "gabc/gabc-score-determination.l" +#line 355 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1576,7 +1565,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 356 "gabc/gabc-score-determination.l" +#line 360 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1585,21 +1574,21 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 361 "gabc/gabc-score-determination.l" +#line 365 "gabc/gabc-score-determination.l" { - return CENTER_BEGINNING; + return CENTER_BEGIN; } YY_BREAK case 55: YY_RULE_SETUP -#line 364 "gabc/gabc-score-determination.l" +#line 368 "gabc/gabc-score-determination.l" { return CENTER_END; } YY_BREAK case 56: YY_RULE_SETUP -#line 367 "gabc/gabc-score-determination.l" +#line 371 "gabc/gabc-score-determination.l" { BEGIN(alt); return ALT_BEGIN; @@ -1608,7 +1597,7 @@ YY_RULE_SETUP case 57: /* rule 57 can match eol */ YY_RULE_SETUP -#line 371 "gabc/gabc-score-determination.l" +#line 375 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1617,7 +1606,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 376 "gabc/gabc-score-determination.l" +#line 380 "gabc/gabc-score-determination.l" { BEGIN(score); return ALT_END; @@ -1625,42 +1614,42 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 380 "gabc/gabc-score-determination.l" +#line 384 "gabc/gabc-score-determination.l" { return EUOUAE_B; } YY_BREAK case 60: YY_RULE_SETUP -#line 383 "gabc/gabc-score-determination.l" +#line 387 "gabc/gabc-score-determination.l" { return EUOUAE_E; } YY_BREAK case 61: YY_RULE_SETUP -#line 386 "gabc/gabc-score-determination.l" +#line 390 "gabc/gabc-score-determination.l" { return TRANSLATION_CENTER_END; } YY_BREAK case 62: YY_RULE_SETUP -#line 389 "gabc/gabc-score-determination.l" +#line 393 "gabc/gabc-score-determination.l" { - return TRANSLATION_BEGINNING; + return TRANSLATION_BEGIN; } YY_BREAK case 63: YY_RULE_SETUP -#line 392 "gabc/gabc-score-determination.l" +#line 396 "gabc/gabc-score-determination.l" { return TRANSLATION_END; } YY_BREAK case 64: YY_RULE_SETUP -#line 395 "gabc/gabc-score-determination.l" +#line 399 "gabc/gabc-score-determination.l" { BEGIN(notes); return OPENING_BRACKET; @@ -1669,7 +1658,7 @@ YY_RULE_SETUP case 65: /* rule 65 can match eol */ YY_RULE_SETUP -#line 399 "gabc/gabc-score-determination.l" +#line 403 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1678,30 +1667,23 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 404 "gabc/gabc-score-determination.l" -{ - return VOICE_CUT; - } - YY_BREAK -case 67: -YY_RULE_SETUP -#line 407 "gabc/gabc-score-determination.l" +#line 408 "gabc/gabc-score-determination.l" { return NABC_CUT; } YY_BREAK -case 68: +case 67: YY_RULE_SETUP -#line 410 "gabc/gabc-score-determination.l" +#line 411 "gabc/gabc-score-determination.l" { BEGIN(score); return CLOSING_BRACKET; } YY_BREAK -case 69: -/* rule 69 can match eol */ +case 68: +/* rule 68 can match eol */ YY_RULE_SETUP -#line 414 "gabc/gabc-score-determination.l" +#line 415 "gabc/gabc-score-determination.l" { BEGIN(score); return CLOSING_BRACKET_WITH_SPACE; @@ -1716,7 +1698,7 @@ case YY_STATE_EOF(verb): case YY_STATE_EOF(comments): case YY_STATE_EOF(inicomments): case YY_STATE_EOF(alt): -#line 418 "gabc/gabc-score-determination.l" +#line 419 "gabc/gabc-score-determination.l" { if (!eof_found) { eof_found = true; @@ -1726,12 +1708,22 @@ case YY_STATE_EOF(alt): } } YY_BREAK +case 69: +/* rule 69 can match eol */ +YY_RULE_SETUP +#line 427 "gabc/gabc-score-determination.l" +{ + gregorio_messagef("gabc_score_determination_lex", VERBOSITY_ERROR, 0, + _("unrecognized character: \"%c\""), + gabc_score_determination_text[0]); + } + YY_BREAK case 70: YY_RULE_SETUP -#line 426 "gabc/gabc-score-determination.l" +#line 432 "gabc/gabc-score-determination.l" ECHO; YY_BREAK -#line 1735 "gabc/gabc-score-determination-l.c" +#line 1727 "gabc/gabc-score-determination-l.c" case YY_END_OF_BUFFER: { @@ -2023,7 +2015,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 307 ) + if ( yy_current_state >= 292 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2051,11 +2043,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 307 ) + if ( yy_current_state >= 292 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 306); + yy_is_jam = (yy_current_state == 291); return yy_is_jam ? 0 : yy_current_state; } @@ -2698,7 +2690,7 @@ void gabc_score_determination_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 426 "gabc/gabc-score-determination.l" +#line 432 "gabc/gabc-score-determination.l" diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.h b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.h index 39fa2afbb0c..1d5ffb28f39 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.h +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.h @@ -322,7 +322,7 @@ extern int gabc_score_determination_lex (void); #undef YY_DECL #endif -#line 426 "gabc/gabc-score-determination.l" +#line 432 "gabc/gabc-score-determination.l" #line 329 "gabc/gabc-score-determination-l.h" diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c index 2f27b7c54d1..8fd16bb08ef 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c @@ -249,30 +249,65 @@ static void fix_custos(gregorio_score *score_to_check) } /* - * A function that checks to score integrity. For now it is... quite - * ridiculous... but it might be improved in the future. + * A function that checks the score integrity. */ -static int check_score_integrity(gregorio_score *score_to_check) +static bool check_score_integrity(gregorio_score *score_to_check) { - if (!score_to_check) { - return 0; + bool good = true; + + gregorio_assert(score_to_check, check_score_integrity, "score is NULL", + return false); + + if (score_to_check->first_syllable + && score_to_check->first_syllable->elements + && *(score_to_check->first_syllable->elements)) { + gregorio_character *ch; + if ((score_to_check->first_syllable->elements)[0]->type + == GRE_END_OF_LINE) { + gregorio_message( + "line break is not supported on the first syllable", + "check_score_integrity", VERBOSITY_ERROR, 0); + good = false; + } + if (gregorio_get_clef_change(score_to_check->first_syllable)) { + gregorio_message( + "clef change is not supported on the first syllable", + "check_score_integrity", VERBOSITY_ERROR, 0); + good = false; + } + /* check first syllable for elision at the beginning */ + for (ch = score_to_check->first_syllable->text; ch; + ch = ch->next_character) { + if (ch->is_character) { + break; + } else if (ch->cos.s.style == ST_VERBATIM + || ch->cos.s.style == ST_SPECIAL_CHAR) { + break; + } else if (ch->cos.s.style == ST_ELISION) { + gregorio_message( + _("score initial may not be in an elision"), + "rebuild_characters", VERBOSITY_ERROR, 0); + break; + } + } } - return 1; + + return good; } /* * Another function to be improved: this one checks the validity of the voice_infos. */ -static int check_infos_integrity(gregorio_score *score_to_check) +static bool check_infos_integrity(gregorio_score *score_to_check) { if (!score_to_check->name) { gregorio_message(_("no name specified, put `name:...;' at the " "beginning of the file, can be dangerous with some output " "formats"), "det_score", VERBOSITY_WARNING, 0); } - return 1; + return true; } /* @@ -289,8 +324,8 @@ static void initialize_variables(void) gregorio_add_voice_info(¤t_voice_info); score->first_voice_info = current_voice_info; /* other initializations */ - number_of_voices = 0; - voice = 1; + number_of_voices = 1; + voice = 0; /* first (and only) voice */ current_character = NULL; first_translation_character = NULL; first_text_character = NULL; @@ -321,40 +356,6 @@ static void free_variables(void) } } -/* see whether a voice_info is empty */ -static int voice_info_is_not_empty(const gregorio_voice_info *voice_info) -{ - return (voice_info->initial_clef.line); -} - -/* - * a function called when we see "--\n" that end the infos for a certain voice - */ -static void next_voice_info(void) -{ - /* we must do this test in the case where there would be a "--" before - * first_declarations */ - if (voice_info_is_not_empty(current_voice_info)) { - gregorio_add_voice_info(¤t_voice_info); - voice++; - } -} - -/* - * Function that frees the voice_infos for voices > final_count. Useful if - * there are too many voice_infos - */ - -static void reajust_voice_infos(gregorio_voice_info *voice_info, - int final_count) -{ - int i = 1; - while (voice_info && i <= final_count) { - voice_info = voice_info->next_voice_info; - } - gregorio_free_voice_infos(voice_info); -} - /* * Function called when we have reached the end of the definitions, it tries to * make the voice_infos coherent. @@ -363,39 +364,9 @@ static void end_definitions(void) { int i; - if (!check_infos_integrity(score)) { - gregorio_message(_("can't determine valid infos on the score"), - "det_score", VERBOSITY_ERROR, 0); - } - if (!number_of_voices) { - if (voice > MAX_NUMBER_OF_VOICES) { - voice = MAX_NUMBER_OF_VOICES; - reajust_voice_infos(score->first_voice_info, number_of_voices); - } - number_of_voices = voice; - score->number_of_voices = voice; - } else { - if (number_of_voices > voice) { - gregorio_messagef("det_score", VERBOSITY_WARNING, 0, - ngt_("not enough voice infos found: %d found, %d waited, " - "%d assumed", "not enough voice infos found: %d found, %d " - "waited, %d assumed", voice), voice, - number_of_voices, voice); - score->number_of_voices = voice; - number_of_voices = voice; - } else { - if (number_of_voices < voice) { - gregorio_messagef("det_score", VERBOSITY_WARNING, 0, - ngt_("too many voice infos found: %d found, %d " - "waited, %d assumed", "not enough voice infos found: " - "%d found, %d waited, %d assumed", - number_of_voices), voice, number_of_voices, - number_of_voices); - } - } - } - /* voice is now voice-1, so that it can be the index of elements */ - voice = 0; + gregorio_assert_only(check_infos_integrity(score), end_definitions, + "can't determine valid infos on the score"); + elements = (gregorio_element **) gregorio_malloc(number_of_voices * sizeof(gregorio_element *)); for (i = 0; i < number_of_voices; i++) { @@ -417,19 +388,6 @@ static char position = WORD_BEGINNING; static gregorio_syllable *current_syllable = NULL; static char *abovelinestext = NULL; -/* - * Function called when we see a ")", it completes the gregorio_element array - * of the syllable with NULL pointers. Usefull in the cases where for example - * you have two voices, but a voice that is silent on a certain syllable. - */ -static void complete_with_nulls(int last_voice) -{ - int i; - for (i = last_voice + 1; i < number_of_voices; i++) { - elements[i] = NULL; - } -} - /* * Function called each time we find a space, it updates the current position. */ @@ -473,24 +431,41 @@ static void gregorio_set_translation_center_beginning( current_syllable->translation_type = TR_NORMAL; } -static void rebuild_characters(void) +static void ready_characters(void) { - /* we rebuild the first syllable text if it is the first syllable, or if - * it is the second when the first has no text. - * it is a patch for cases like (c4) Al(ab)le(ab) */ - if ((!score->first_syllable && current_character) - || (current_syllable && !current_syllable->previous_syllable - && !current_syllable->text && current_character)) { - /* leave the first syllable text untouched at this time */ + if (current_character) { gregorio_go_to_first_character_c(¤t_character); + if (!score->first_syllable || (current_syllable + && !current_syllable->previous_syllable + && !current_syllable->text)) { + started_first_word = true; + } + } +} - started_first_word = true; - } else { - gregorio_rebuild_characters(¤t_character, center_is_determined, - false); +static void rebuild_score_characters(void) +{ + if (score->first_syllable) { + gregorio_syllable *syllable; + /* leave the first syllable text untouched at this time */ + for (syllable = score->first_syllable->next_syllable; syllable; + syllable = syllable->next_syllable) { + const gregorio_character *t; + + /* find out if there is a forced center */ + gregorio_center_determination center = CENTER_NOT_DETERMINED; + for (t = syllable->text; t; t = t->next_character) { + if (!t->is_character && t->cos.s.style == ST_FORCED_CENTER) { + center = CENTER_FULLY_DETERMINED; + break; + } + } - if (started_first_word) { - gregorio_set_first_word(¤t_character); + gregorio_rebuild_characters(&(syllable->text), center, false); + + if (syllable->first_word) { + gregorio_set_first_word(&(syllable->text)); + } } } } @@ -501,7 +476,56 @@ static void rebuild_characters(void) static void close_syllable(YYLTYPE *loc) { - int i; + int i = 0; + gregorio_character *ch; + + /* make sure any elisions that are opened are closed within the syllable */ + for (ch = first_text_character; ch; ch = ch->next_character) { + if (!ch->is_character) { + switch (ch->cos.s.style) { + case ST_ELISION: + switch (ch->cos.s.type) { + case ST_T_BEGIN: + ++i; + if (i > 1) { + gregorio_message(_("elisions may not be nested"), + "close_syllable", VERBOSITY_ERROR, 0); + } + break; + + case ST_T_END: + --i; + /* the parser precludes this from failing here */ + gregorio_assert_only(i >= 0, close_syllable, + "encountered elision end with no beginning"); + break; + + case ST_T_NOTHING: + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail(close_syllable, "encountered ST_T_NOTHING"); + break; + /* LCOV_EXCL_STOP */ + } + break; + + case ST_FORCED_CENTER: + if (i > 0) { + gregorio_message( + _("forced center may not be within an elision"), + "close_syllable", VERBOSITY_ERROR, 0); + } + break; + + default: + break; + } + } + } + /* the parser precludes this from failing here */ + gregorio_assert_only(i == 0, close_syllable, + "encountered elision beginning with no end"); + gregorio_add_syllable(¤t_syllable, number_of_voices, elements, first_text_character, first_translation_character, position, abovelinestext, translation_type, no_linebreak_area, euouae, loc, @@ -542,7 +566,7 @@ static void close_syllable(YYLTYPE *loc) * the translation pointer instead of the text pointer */ static void start_translation(unsigned char asked_translation_type) { - rebuild_characters(); + ready_characters(); first_text_character = current_character; /* the middle letters of the translation have no sense */ center_is_determined = CENTER_FULLY_DETERMINED; @@ -552,7 +576,7 @@ static void start_translation(unsigned char asked_translation_type) static void end_translation(void) { - rebuild_characters(); + ready_characters(); first_translation_character = current_character; } @@ -631,10 +655,14 @@ static void determine_oriscus_orientation(gregorio_score *score) { S_ORISCUS_CAVUM_DESCENDENS; break; default: - gregorio_message(_("bad shape"), - "determine_oriscus_orientation", - VERBOSITY_ERROR, 0); + /* not reachable unless there's a + * programming error */ + /* LCOV_EXCL_START */ + gregorio_fail( + determine_oriscus_orientation, + "bad_shape"); break; + /* LCOV_EXCL_STOP */ } } else { /* ascending or the same */ switch(oriscus->u.note.shape) { @@ -647,10 +675,14 @@ static void determine_oriscus_orientation(gregorio_score *score) { S_ORISCUS_CAVUM_ASCENDENS; break; default: - gregorio_message(_("bad shape"), - "determine_oriscus_orientation", - VERBOSITY_ERROR, 0); + /* not reachable unless there's a + * programming error */ + /* LCOV_EXCL_START */ + gregorio_fail( + determine_oriscus_orientation, + "bad_shape"); break; + /* LCOV_EXCL_STOP */ } } oriscus = NULL; @@ -683,9 +715,11 @@ static void determine_oriscus_orientation(gregorio_score *score) { oriscus->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS; break; default: - gregorio_message(_("bad shape"), "determine_oriscus_orientation", - VERBOSITY_ERROR, 0); + /* not reachable unless there's a programming error */ + /* LCOV_EXCL_START */ + gregorio_fail(determine_oriscus_orientation, "bad_shape"); break; + /* LCOV_EXCL_STOP */ } } } @@ -705,11 +739,8 @@ gregorio_score *gabc_read_score(FILE *f_in) sha1_process_bytes(GREGORIO_VERSION, strlen(GREGORIO_VERSION), &digester); /* the input file that flex will parse */ gabc_score_determination_in = f_in; - if (!f_in) { - gregorio_message(_("can't read stream from argument, returning NULL " - "pointer"), "det_score", VERBOSITY_ERROR, 0); - return NULL; - } + gregorio_assert(f_in, gabc_read_score, "can't read stream from NULL", + return NULL); initialize_variables(); /* the flex/bison main call, it will build the score (that we have * initialized) */ @@ -718,14 +749,14 @@ gregorio_score *gabc_read_score(FILE *f_in) determine_oriscus_orientation(score); } gregorio_fix_initial_keys(score, gregorio_default_clef); + rebuild_score_characters(); fix_custos(score); + gabc_det_notes_finish(); free_variables(); - /* the we check the validity and integrity of the score we have built. */ + /* then we check the validity and integrity of the score we have built. */ if (!check_score_integrity(score)) { - gregorio_free_score(score); - score = NULL; gregorio_message(_("unable to determine a valid score from file"), - "det_score", VERBOSITY_FATAL, 0); + "gabc_read_score", VERBOSITY_ERROR, 0); } sha1_finish_ctx(&digester, score->digest); return score; @@ -735,18 +766,16 @@ unsigned char nabc_state = 0; size_t nabc_lines = 0; static void gabc_y_add_notes(char *notes, YYLTYPE loc) { - gregorio_element *new_elements; - gregorio_element *last_element; if (nabc_state == 0) { if (!elements[voice]) { elements[voice] = gabc_det_elements_from_string(notes, ¤t_key, macros, &loc, score); current_element = elements[voice]; } else { - new_elements = gabc_det_elements_from_string(notes, - ¤t_key, macros, &loc, score); - last_element = elements[voice]; - while(last_element->next) { + gregorio_element *new_elements = gabc_det_elements_from_string( + notes, ¤t_key, macros, &loc, score); + gregorio_element *last_element = elements[voice]; + while (last_element->next) { last_element = last_element->next; } last_element->next = new_elements; @@ -758,10 +787,9 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) { gregorio_add_element(&elements[voice], NULL); current_element = elements[voice]; } - if (!current_element) { - gregorio_message(_("current_element is null, this shouldn't " - "happen!"), "gabc_y_add_notes", VERBOSITY_FATAL, 0); - } + gregorio_assert(current_element, gabc_y_add_notes, + "current_element is null, this shouldn't happen!", + return); if (!current_element->nabc) { current_element->nabc = (char **) gregorio_calloc (nabc_lines, sizeof (char *)); @@ -771,7 +799,7 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) { } } -#line 775 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */ +#line 803 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -810,61 +838,60 @@ extern int gabc_score_determination_debug; AUTHOR = 259, GABC_COPYRIGHT = 260, SCORE_COPYRIGHT = 261, - NUMBER_OF_VOICES = 262, - LANGUAGE = 263, - STAFF_LINES = 264, - ORISCUS_ORIENTATION = 265, - DEF_MACRO = 266, - OTHER_HEADER = 267, - ANNOTATION = 268, - MODE = 269, - MODE_MODIFIER = 270, - MODE_DIFFERENTIA = 271, - INITIAL_STYLE = 272, - VOICE_CUT = 273, - VOICE_CHANGE = 274, - END_OF_DEFINITIONS = 275, - END_OF_FILE = 276, - COLON = 277, - SEMICOLON = 278, - SPACE = 279, - CHARACTERS = 280, - NOTES = 281, - HYPHEN = 282, - ATTRIBUTE = 283, - OPENING_BRACKET = 284, - CLOSING_BRACKET = 285, - CLOSING_BRACKET_WITH_SPACE = 286, - I_BEGINNING = 287, - I_END = 288, - TT_BEGINNING = 289, - TT_END = 290, - UL_BEGINNING = 291, - UL_END = 292, - C_BEGINNING = 293, - C_END = 294, - B_BEGINNING = 295, - B_END = 296, - SC_BEGINNING = 297, - SC_END = 298, - SP_BEGINNING = 299, - SP_END = 300, - VERB_BEGINNING = 301, - VERB = 302, - VERB_END = 303, - CENTER_BEGINNING = 304, - CENTER_END = 305, - TRANSLATION_BEGINNING = 306, - TRANSLATION_END = 307, - TRANSLATION_CENTER_END = 308, - ALT_BEGIN = 309, - ALT_END = 310, - BNLBA = 311, - ENLBA = 312, - EUOUAE_B = 313, - EUOUAE_E = 314, - NABC_CUT = 315, - NABC_LINES = 316 + LANGUAGE = 262, + STAFF_LINES = 263, + ORISCUS_ORIENTATION = 264, + DEF_MACRO = 265, + OTHER_HEADER = 266, + ANNOTATION = 267, + MODE = 268, + MODE_MODIFIER = 269, + MODE_DIFFERENTIA = 270, + INITIAL_STYLE = 271, + END_OF_DEFINITIONS = 272, + END_OF_FILE = 273, + COLON = 274, + SEMICOLON = 275, + SPACE = 276, + CHARACTERS = 277, + NOTES = 278, + HYPHEN = 279, + ATTRIBUTE = 280, + OPENING_BRACKET = 281, + CLOSING_BRACKET = 282, + CLOSING_BRACKET_WITH_SPACE = 283, + I_BEGIN = 284, + I_END = 285, + TT_BEGIN = 286, + TT_END = 287, + UL_BEGIN = 288, + UL_END = 289, + C_BEGIN = 290, + C_END = 291, + B_BEGIN = 292, + B_END = 293, + SC_BEGIN = 294, + SC_END = 295, + SP_BEGIN = 296, + SP_END = 297, + VERB_BEGIN = 298, + VERB = 299, + VERB_END = 300, + CENTER_BEGIN = 301, + CENTER_END = 302, + ELISION_BEGIN = 303, + ELISION_END = 304, + TRANSLATION_BEGIN = 305, + TRANSLATION_END = 306, + TRANSLATION_CENTER_END = 307, + ALT_BEGIN = 308, + ALT_END = 309, + NLBA_B = 310, + NLBA_E = 311, + EUOUAE_B = 312, + EUOUAE_E = 313, + NABC_CUT = 314, + NABC_LINES = 315 }; #endif /* Tokens. */ @@ -872,61 +899,60 @@ extern int gabc_score_determination_debug; #define AUTHOR 259 #define GABC_COPYRIGHT 260 #define SCORE_COPYRIGHT 261 -#define NUMBER_OF_VOICES 262 -#define LANGUAGE 263 -#define STAFF_LINES 264 -#define ORISCUS_ORIENTATION 265 -#define DEF_MACRO 266 -#define OTHER_HEADER 267 -#define ANNOTATION 268 -#define MODE 269 -#define MODE_MODIFIER 270 -#define MODE_DIFFERENTIA 271 -#define INITIAL_STYLE 272 -#define VOICE_CUT 273 -#define VOICE_CHANGE 274 -#define END_OF_DEFINITIONS 275 -#define END_OF_FILE 276 -#define COLON 277 -#define SEMICOLON 278 -#define SPACE 279 -#define CHARACTERS 280 -#define NOTES 281 -#define HYPHEN 282 -#define ATTRIBUTE 283 -#define OPENING_BRACKET 284 -#define CLOSING_BRACKET 285 -#define CLOSING_BRACKET_WITH_SPACE 286 -#define I_BEGINNING 287 -#define I_END 288 -#define TT_BEGINNING 289 -#define TT_END 290 -#define UL_BEGINNING 291 -#define UL_END 292 -#define C_BEGINNING 293 -#define C_END 294 -#define B_BEGINNING 295 -#define B_END 296 -#define SC_BEGINNING 297 -#define SC_END 298 -#define SP_BEGINNING 299 -#define SP_END 300 -#define VERB_BEGINNING 301 -#define VERB 302 -#define VERB_END 303 -#define CENTER_BEGINNING 304 -#define CENTER_END 305 -#define TRANSLATION_BEGINNING 306 -#define TRANSLATION_END 307 -#define TRANSLATION_CENTER_END 308 -#define ALT_BEGIN 309 -#define ALT_END 310 -#define BNLBA 311 -#define ENLBA 312 -#define EUOUAE_B 313 -#define EUOUAE_E 314 -#define NABC_CUT 315 -#define NABC_LINES 316 +#define LANGUAGE 262 +#define STAFF_LINES 263 +#define ORISCUS_ORIENTATION 264 +#define DEF_MACRO 265 +#define OTHER_HEADER 266 +#define ANNOTATION 267 +#define MODE 268 +#define MODE_MODIFIER 269 +#define MODE_DIFFERENTIA 270 +#define INITIAL_STYLE 271 +#define END_OF_DEFINITIONS 272 +#define END_OF_FILE 273 +#define COLON 274 +#define SEMICOLON 275 +#define SPACE 276 +#define CHARACTERS 277 +#define NOTES 278 +#define HYPHEN 279 +#define ATTRIBUTE 280 +#define OPENING_BRACKET 281 +#define CLOSING_BRACKET 282 +#define CLOSING_BRACKET_WITH_SPACE 283 +#define I_BEGIN 284 +#define I_END 285 +#define TT_BEGIN 286 +#define TT_END 287 +#define UL_BEGIN 288 +#define UL_END 289 +#define C_BEGIN 290 +#define C_END 291 +#define B_BEGIN 292 +#define B_END 293 +#define SC_BEGIN 294 +#define SC_END 295 +#define SP_BEGIN 296 +#define SP_END 297 +#define VERB_BEGIN 298 +#define VERB 299 +#define VERB_END 300 +#define CENTER_BEGIN 301 +#define CENTER_END 302 +#define ELISION_BEGIN 303 +#define ELISION_END 304 +#define TRANSLATION_BEGIN 305 +#define TRANSLATION_END 306 +#define TRANSLATION_CENTER_END 307 +#define ALT_BEGIN 308 +#define ALT_END 309 +#define NLBA_B 310 +#define NLBA_E 311 +#define EUOUAE_B 312 +#define EUOUAE_E 313 +#define NABC_CUT 314 +#define NABC_LINES 315 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -958,7 +984,7 @@ int gabc_score_determination_parse (void); /* Copy the second part of user declarations. */ -#line 962 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */ +#line 988 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */ #ifdef short # undef short @@ -1202,21 +1228,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 175 +#define YYLAST 166 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 62 +#define YYNTOKENS 61 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 23 /* YYNRULES -- Number of rules. */ -#define YYNRULES 82 +#define YYNRULES 81 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 117 +#define YYNSTATES 115 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 316 +#define YYMAXUTOK 315 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1256,22 +1282,22 @@ static const yytype_uint8 yytranslate[] = 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61 + 55, 56, 57, 58, 59, 60 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 736, 736, 740, 745, 746, 750, 754, 760, 770, - 775, 784, 790, 795, 800, 805, 810, 815, 823, 831, - 841, 850, 855, 859, 862, 867, 868, 872, 894, 917, - 930, 943, 948, 957, 958, 959, 963, 966, 969, 972, - 975, 978, 981, 984, 987, 996, 999, 1002, 1005, 1008, - 1011, 1014, 1017, 1020, 1029, 1032, 1038, 1041, 1047, 1048, - 1051, 1052, 1053, 1054, 1058, 1061, 1066, 1067, 1068, 1072, - 1078, 1081, 1087, 1093, 1098, 1106, 1109, 1118, 1121, 1127, - 1128, 1131, 1132 + 0, 765, 765, 769, 774, 775, 779, 783, 789, 794, + 803, 809, 814, 819, 824, 829, 834, 842, 850, 860, + 869, 874, 878, 883, 884, 888, 893, 899, 910, 914, + 922, 923, 924, 928, 931, 934, 937, 940, 943, 946, + 949, 952, 955, 964, 967, 970, 973, 976, 979, 982, + 985, 988, 991, 1000, 1003, 1009, 1012, 1018, 1019, 1022, + 1023, 1024, 1025, 1029, 1032, 1037, 1038, 1039, 1043, 1049, + 1052, 1058, 1064, 1069, 1077, 1080, 1089, 1092, 1098, 1099, + 1102, 1103 }; #endif @@ -1281,24 +1307,23 @@ static const yytype_uint16 yyrline[] = static const char *const yytname[] = { "$end", "error", "$undefined", "NAME", "AUTHOR", "GABC_COPYRIGHT", - "SCORE_COPYRIGHT", "NUMBER_OF_VOICES", "LANGUAGE", "STAFF_LINES", - "ORISCUS_ORIENTATION", "DEF_MACRO", "OTHER_HEADER", "ANNOTATION", "MODE", - "MODE_MODIFIER", "MODE_DIFFERENTIA", "INITIAL_STYLE", "VOICE_CUT", - "VOICE_CHANGE", "END_OF_DEFINITIONS", "END_OF_FILE", "COLON", - "SEMICOLON", "SPACE", "CHARACTERS", "NOTES", "HYPHEN", "ATTRIBUTE", - "OPENING_BRACKET", "CLOSING_BRACKET", "CLOSING_BRACKET_WITH_SPACE", - "I_BEGINNING", "I_END", "TT_BEGINNING", "TT_END", "UL_BEGINNING", - "UL_END", "C_BEGINNING", "C_END", "B_BEGINNING", "B_END", "SC_BEGINNING", - "SC_END", "SP_BEGINNING", "SP_END", "VERB_BEGINNING", "VERB", "VERB_END", - "CENTER_BEGINNING", "CENTER_END", "TRANSLATION_BEGINNING", - "TRANSLATION_END", "TRANSLATION_CENTER_END", "ALT_BEGIN", "ALT_END", - "BNLBA", "ENLBA", "EUOUAE_B", "EUOUAE_E", "NABC_CUT", "NABC_LINES", - "$accept", "score", "all_definitions", "definitions", "attribute", - "definition", "notes", "note", "closing_bracket_with_space", - "style_beginning", "style_end", "euouae", "linebreak_area", "character", - "text_hyphen", "text", "translation_beginning", "translation", - "above_line_text", "syllable_with_notes", "notes_without_word", - "syllable", "syllables", YY_NULLPTR + "SCORE_COPYRIGHT", "LANGUAGE", "STAFF_LINES", "ORISCUS_ORIENTATION", + "DEF_MACRO", "OTHER_HEADER", "ANNOTATION", "MODE", "MODE_MODIFIER", + "MODE_DIFFERENTIA", "INITIAL_STYLE", "END_OF_DEFINITIONS", "END_OF_FILE", + "COLON", "SEMICOLON", "SPACE", "CHARACTERS", "NOTES", "HYPHEN", + "ATTRIBUTE", "OPENING_BRACKET", "CLOSING_BRACKET", + "CLOSING_BRACKET_WITH_SPACE", "I_BEGIN", "I_END", "TT_BEGIN", "TT_END", + "UL_BEGIN", "UL_END", "C_BEGIN", "C_END", "B_BEGIN", "B_END", "SC_BEGIN", + "SC_END", "SP_BEGIN", "SP_END", "VERB_BEGIN", "VERB", "VERB_END", + "CENTER_BEGIN", "CENTER_END", "ELISION_BEGIN", "ELISION_END", + "TRANSLATION_BEGIN", "TRANSLATION_END", "TRANSLATION_CENTER_END", + "ALT_BEGIN", "ALT_END", "NLBA_B", "NLBA_E", "EUOUAE_B", "EUOUAE_E", + "NABC_CUT", "NABC_LINES", "$accept", "score", "all_definitions", + "definitions", "attribute", "definition", "notes", "note", + "closing_bracket_with_space", "style_beginning", "style_end", "euouae", + "linebreak_area", "character", "text_hyphen", "text", + "translation_beginning", "translation", "above_line_text", + "syllable_with_notes", "notes_without_word", "syllable", "syllables", YY_NULLPTR }; #endif @@ -1313,14 +1338,14 @@ static const yytype_uint16 yytoknum[] = 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316 + 315 }; # endif -#define YYPACT_NINF -55 +#define YYPACT_NINF -52 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-55))) + (!!((Yystate) == (-52))) #define YYTABLE_NINF -3 @@ -1331,18 +1356,18 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int8 yypact[] = { - -55, 26, -55, -1, -55, 1, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, -55, -55, 5, -55, -55, -55, -55, 36, -55, - 2, -55, -55, -55, 0, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -6, -55, -8, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, 7, -55, -55, -55, -55, -55, -55, - -55, -55, -55, 99, 8, -55, 71, -55, -55, 6, - 4, 15, 17, -55, -55, -55, 10, -6, -15, -55, - -55, -55, -55, -55, -6, -55, -55, 15, -55, -55, - -55, -55, -6, -55, -55, -6, -6 + -52, 17, -52, -2, -52, 16, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + -52, 18, -52, -52, -52, -52, 41, -52, 12, -52, + -52, -52, 28, -52, -52, -52, -52, -52, -52, -52, + -52, -52, -52, -52, -52, -52, -52, -52, 24, -52, + -6, -52, -52, -52, -52, -52, -52, -52, -52, -52, + -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, + -52, -52, 19, -52, -52, -52, -52, -52, -52, -52, + -52, -52, 108, 13, -52, 78, -52, -52, 20, -9, + 36, 37, -52, -52, -52, 30, 24, 3, -52, -52, + -52, -52, -52, 24, -52, 36, -52, -52, -52, -52, + 24, -52, -52, 24, 24 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1350,34 +1375,34 @@ static const yytype_int8 yypact[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 4, 0, 81, 0, 1, 66, 0, 0, 0, 0, + 4, 0, 80, 0, 1, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 3, 0, 5, 25, 69, 71, 0, 66, - 0, 79, 80, 82, 0, 10, 21, 12, 13, 8, - 11, 17, 22, 9, 23, 20, 14, 15, 16, 19, - 18, 77, 59, 64, 25, 36, 45, 37, 46, 38, - 47, 39, 48, 40, 49, 41, 50, 43, 52, 42, - 51, 44, 53, 0, 56, 57, 54, 55, 60, 61, - 63, 62, 67, 0, 0, 58, 0, 25, 7, 0, - 0, 31, 33, 26, 32, 25, 0, 73, 0, 65, - 68, 25, 64, 70, 78, 6, 29, 27, 30, 28, - 35, 34, 74, 25, 72, 75, 76 + 3, 0, 5, 23, 68, 70, 0, 65, 0, 78, + 79, 81, 0, 9, 20, 11, 12, 10, 16, 21, + 8, 22, 19, 13, 14, 15, 18, 17, 76, 58, + 63, 23, 33, 43, 34, 44, 35, 45, 36, 46, + 37, 47, 38, 48, 40, 50, 39, 49, 42, 52, + 41, 51, 0, 55, 56, 53, 54, 59, 60, 62, + 61, 66, 0, 0, 57, 0, 23, 7, 0, 0, + 28, 30, 24, 29, 23, 0, 72, 0, 64, 67, + 23, 63, 69, 77, 6, 25, 27, 26, 32, 31, + 73, 23, 71, 74, 75 }; /* YYPGOTO[NTERM-NUM]. */ -static const yytype_int16 yypgoto[] = +static const yytype_int8 yypgoto[] = { - -55, -55, -55, -55, 152, -55, -54, -55, -46, -55, - -55, -55, -55, -37, -55, 19, -55, -11, -55, -55, - -55, -55, -55 + -52, -52, -52, -52, 15, -52, -51, -52, -30, -52, + -52, -52, -52, -21, -52, 35, -52, -5, -52, -52, + -52, -52, -52 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 1, 2, 3, 35, 24, 51, 93, 94, 78, - 79, 80, 81, 82, 83, 28, 29, 30, 85, 31, - 32, 33, 5 + -1, 1, 2, 3, 33, 22, 48, 92, 93, 77, + 78, 79, 80, 81, 82, 26, 27, 28, 84, 29, + 30, 31, 5 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1385,78 +1410,76 @@ static const yytype_int8 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int8 yytable[] = { - 97, -2, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 84, 21, 22, - 90, 95, 106, 88, 91, 92, 4, 34, 89, 105, - 25, 87, 98, 104, 107, 92, 110, 101, 111, 113, - 114, 112, 96, 26, 109, 27, 100, 115, 86, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 116, - 23, 52, 0, 53, 108, 54, 0, 0, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 0, 70, 71, 72, 26, 0, 27, - 73, 0, 74, 75, 76, 77, 52, 0, 102, 0, - 0, 0, 0, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 0, 70, - 71, 72, 0, 103, 52, 73, 99, 74, 75, 76, - 77, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 0, 70, 71, 72, - 0, 0, 0, 73, 0, 74, 75, 76, 77, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 0, 0, 50 + 96, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, -2, 4, 105, 91, + 94, 83, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 103, 47, 32, 86, 100, + 104, 97, 23, 110, 24, 95, 25, 89, 87, 113, + 106, 90, 91, 88, 108, 109, 111, 112, 21, 107, + 114, 99, 85, 49, 0, 50, 24, 51, 25, 0, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 0, 67, 68, 69, 70, + 71, 24, 0, 25, 72, 0, 73, 74, 75, 76, + 49, 0, 101, 0, 0, 0, 0, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 0, 67, 68, 69, 70, 71, 0, 102, + 49, 72, 98, 73, 74, 75, 76, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 0, 67, 68, 69, 70, 71, 0, 0, + 0, 72, 0, 73, 74, 75, 76 }; static const yytype_int8 yycheck[] = { - 54, 0, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 28, 19, 20, - 26, 29, 18, 23, 30, 31, 0, 22, 28, 23, - 29, 29, 25, 87, 30, 31, 21, 29, 21, 29, - 55, 95, 53, 51, 90, 53, 83, 101, 29, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, 113, - 61, 25, -1, 27, 60, 29, -1, -1, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, -1, 48, 49, 50, 51, -1, 53, - 54, -1, 56, 57, 58, 59, 25, -1, 27, -1, - -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, -1, 48, - 49, 50, -1, 52, 25, 54, 27, 56, 57, 58, - 59, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, -1, 48, 49, 50, - -1, -1, -1, 54, -1, 56, 57, 58, 59, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, -1, -1, 23 + 51, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 0, 0, 27, 28, + 26, 26, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 86, 21, 19, 26, 26, + 20, 22, 26, 94, 50, 50, 52, 23, 20, 100, + 59, 27, 28, 25, 18, 18, 26, 54, 60, 89, + 111, 82, 27, 22, -1, 24, 50, 26, 52, -1, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, -1, 45, 46, 47, 48, + 49, 50, -1, 52, 53, -1, 55, 56, 57, 58, + 22, -1, 24, -1, -1, -1, -1, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, -1, 45, 46, 47, 48, 49, -1, 51, + 22, 53, 24, 55, 56, 57, 58, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, -1, 45, 46, 47, 48, 49, -1, -1, + -1, 53, -1, 55, 56, 57, 58 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 63, 64, 65, 0, 84, 3, 4, 5, 6, + 0, 62, 63, 64, 0, 83, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 19, 20, 61, 67, 29, 51, 53, 77, 78, - 79, 81, 82, 83, 22, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 68, 25, 27, 29, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 48, 49, 50, 54, 56, 57, 58, 59, 71, 72, - 73, 74, 75, 76, 79, 80, 77, 29, 23, 28, - 26, 30, 31, 69, 70, 29, 79, 68, 25, 27, - 75, 29, 27, 52, 68, 23, 18, 30, 60, 70, - 21, 21, 68, 29, 55, 68, 68 + 17, 60, 66, 26, 50, 52, 76, 77, 78, 80, + 81, 82, 19, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, 67, 22, + 24, 26, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, + 48, 49, 53, 55, 56, 57, 58, 70, 71, 72, + 73, 74, 75, 78, 79, 76, 26, 20, 25, 23, + 27, 28, 68, 69, 26, 78, 67, 22, 24, 74, + 26, 24, 51, 67, 20, 27, 59, 69, 18, 18, + 67, 26, 54, 67, 67 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 62, 63, 64, 65, 65, 66, 66, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 68, 68, 69, 69, 69, - 69, 69, 69, 70, 70, 70, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 73, 73, 74, 74, 75, 75, - 75, 75, 75, 75, 76, 76, 77, 77, 77, 78, - 79, 79, 80, 81, 81, 81, 81, 82, 82, 83, - 83, 84, 84 + 0, 61, 62, 63, 64, 64, 65, 65, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 67, 67, 68, 68, 68, 68, 68, + 69, 69, 69, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 72, 72, 73, 73, 74, 74, 74, + 74, 74, 74, 75, 75, 76, 76, 76, 77, 78, + 78, 79, 80, 80, 80, 80, 81, 81, 82, 82, + 83, 83 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1464,13 +1487,13 @@ static const yytype_uint8 yyr2[] = { 0, 2, 2, 2, 0, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 1, 0, 2, 2, 2, 2, - 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, + 2, 2, 2, 0, 2, 2, 2, 2, 1, 1, + 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 0, 2, 3, 1, - 3, 1, 3, 3, 4, 4, 5, 2, 3, 1, - 1, 0, 2 + 1, 1, 1, 1, 2, 0, 2, 3, 1, 3, + 1, 3, 3, 4, 4, 5, 2, 3, 1, 1, + 0, 2 }; @@ -2056,7 +2079,7 @@ yyparse (void) yychar = YYEMPTY; /* Cause a token to be read. */ /* User initialization code. */ -#line 701 "gabc/gabc-score-determination.y" /* yacc.c:1429 */ +#line 729 "gabc/gabc-score-determination.y" /* yacc.c:1429 */ { yylloc.first_line = 1; yylloc.first_column = 0; @@ -2066,7 +2089,7 @@ yyparse (void) yylloc.last_offset = 0; } -#line 2070 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */ +#line 2093 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */ yylsp[0] = yylloc; goto yysetstate; @@ -2253,56 +2276,41 @@ yyreduce: switch (yyn) { case 3: -#line 740 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 769 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { end_definitions(); } -#line 2261 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2284 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 6: -#line 750 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 779 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { (yyval).text = (yyvsp[-1]).text; } -#line 2269 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2292 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 7: -#line 754 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 783 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { (yyval).text = NULL; } -#line 2277 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2300 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 8: -#line 760 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ - { - gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); - number_of_voices=atoi((yyvsp[0]).text); - if (number_of_voices > MAX_NUMBER_OF_VOICES) { - gregorio_messagef("det_score", VERBOSITY_WARNING, 0, - _("can't define %d voices, maximum is %d"), - number_of_voices, MAX_NUMBER_OF_VOICES); - } - score->number_of_voices = number_of_voices; - } -#line 2292 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ - break; - - case 9: -#line 770 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 789 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { /* these definitions are not passed through */ free(macros[(yyvsp[-1]).character - '0']); macros[(yyvsp[-1]).character - '0'] = (yyvsp[0]).text; } -#line 2302 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2310 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 10: -#line 775 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 9: +#line 794 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if ((yyvsp[0]).text == NULL) { gregorio_message("name can't be empty","det_score", @@ -2312,72 +2320,72 @@ yyreduce: gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->name = (yyvsp[0]).text; } -#line 2316 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2324 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 11: -#line 784 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 10: +#line 803 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("language", got_language); gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); gregorio_set_centering_language((yyvsp[0]).text); got_language = true; } -#line 2327 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2335 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 12: -#line 790 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 11: +#line 809 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("gabc-copyright", score->gabc_copyright != NULL); gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->gabc_copyright = (yyvsp[0]).text; } -#line 2337 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2345 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 13: -#line 795 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 12: +#line 814 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("score_copyright", score->score_copyright != NULL); gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->score_copyright = (yyvsp[0]).text; } -#line 2347 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2355 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 14: -#line 800 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 13: +#line 819 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("mode", score->mode != 0); gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->mode = (yyvsp[0]).text; } -#line 2357 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2365 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 15: -#line 805 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 14: +#line 824 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("mode-modifier", score->mode_modifier != NULL); gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->mode_modifier = (yyvsp[0]).text; } -#line 2367 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2375 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 16: -#line 810 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 15: +#line 829 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("mode-differentia", score->mode_differentia != NULL); gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->mode_differentia = (yyvsp[0]).text; } -#line 2377 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2385 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 17: -#line 815 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 16: +#line 834 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("staff-lines", got_staff_lines); if ((yyvsp[0]).text) { @@ -2386,11 +2394,11 @@ yyreduce: got_staff_lines = true; } } -#line 2390 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2398 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 18: -#line 823 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 17: +#line 842 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("nabc lines", score->nabc_lines != 0); if ((yyvsp[0]).text) { @@ -2399,11 +2407,11 @@ yyreduce: score->nabc_lines=nabc_lines; } } -#line 2403 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2411 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 19: -#line 831 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 18: +#line 850 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if ((yyvsp[0]).text) { /* DEPRECATED by 4.1 */ @@ -2414,11 +2422,11 @@ yyreduce: free((yyvsp[0]).text); } } -#line 2418 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2426 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 20: -#line 841 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 19: +#line 860 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if (score->annotation [MAX_ANNOTATIONS - 1]) { gregorio_messagef("det_score", VERBOSITY_WARNING, 0, @@ -2428,119 +2436,59 @@ yyreduce: gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); gregorio_set_score_annotation(score, (yyvsp[0]).text); } -#line 2432 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2440 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 21: -#line 850 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 20: +#line 869 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("author", score->author != NULL); gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->author = (yyvsp[0]).text; } -#line 2442 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2450 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 22: -#line 855 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 21: +#line 874 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->legacy_oriscus_orientation = (strcmp((yyvsp[0]).text, "legacy") == 0); } -#line 2451 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ - break; - - case 23: -#line 859 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ - { - gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); - } #line 2459 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 24: -#line 862 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 22: +#line 878 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - next_voice_info(); + gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); } #line 2467 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; - case 27: -#line 872 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ + case 25: +#line 888 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - if (voice;(;|[\n\r]+) { +;;?[\n\r]+ { BEGIN(INITIAL); return SEMICOLON; } @@ -138,11 +138,6 @@ semicolon. */ gabc_score_determination_lval.character = gabc_score_determination_text[5]; return DEF_MACRO; } -number-of-voices { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return NUMBER_OF_VOICES; - } name { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -212,10 +207,7 @@ semicolon. */ gregorio_strdup(gabc_score_determination_text); return OTHER_HEADER; } ---(.*) { - return VOICE_CHANGE; - } -%(%)*(\n|\r)+ { +%%+(\n|\r)+ { BEGIN(score); return END_OF_DEFINITIONS; } @@ -232,16 +224,16 @@ semicolon. */ - { return HYPHEN; } - { - BEGIN(style); - style_stack ++; - return I_BEGINNING; - } { - return BNLBA; + return NLBA_B; } <\/nlba> { - return ENLBA; + return NLBA_E; + } + { + BEGIN(style); + style_stack ++; + return I_BEGIN; }