summaryrefslogtreecommitdiff
path: root/Build/source/texk/gregorio
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2017-04-06 05:08:53 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2017-04-06 05:08:53 +0000
commit5fedb5d6169efecebd0dfbb1da555805573d14e5 (patch)
tree1f2654660ca658b3d06ee656be81e9735684bf5d /Build/source/texk/gregorio
parent3c806bd4ccf248e9411683a41ef534d1a909bc99 (diff)
gregorio 5.0.0-rc1
git-svn-id: svn://tug.org/texlive/trunk@43706 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/gregorio')
-rw-r--r--Build/source/texk/gregorio/ChangeLog8
-rw-r--r--Build/source/texk/gregorio/Makefile.am8
-rw-r--r--Build/source/texk/gregorio/Makefile.in29
-rw-r--r--Build/source/texk/gregorio/TLpatches/ChangeLog4
-rw-r--r--Build/source/texk/gregorio/TLpatches/TL-Changes4
-rw-r--r--Build/source/texk/gregorio/config_.h.in3
-rwxr-xr-xBuild/source/texk/gregorio/configure30
-rw-r--r--Build/source/texk/gregorio/configure.ac3
-rw-r--r--Build/source/texk/gregorio/gregorio-src/.gregorio-version2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/CHANGELOG.md70
-rw-r--r--Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/Makefile.am2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/README.md8
-rw-r--r--Build/source/texk/gregorio/gregorio-src/UPGRADE.md54
-rw-r--r--Build/source/texk/gregorio/gregorio-src/VersionManager.py4
-rw-r--r--Build/source/texk/gregorio/gregorio-src/configure.ac6
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/900_gregorio.xml51
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/Makefile.am4
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/README.md40
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/Makefile.am2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/auto-configure.command39
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/checkSyllabation.py156
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/gabc.lang2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/gabc.vim8
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/gprocess2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/gregorio-scribus.lua95
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/system-setup.bat13
-rw-r--r--Build/source/texk/gregorio/gregorio-src/contrib/system-setup.command13
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex74
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex178
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex166
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex214
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex16
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.pdfbin292142 -> 484860 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.tex1059
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua327
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.pdfbin746163 -> 751469 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex10
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Makefile.am5
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/omnes.gabc13
-rw-r--r--Build/source/texk/gregorio/gregorio-src/examples/Makefile.am2
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-src/install-gtex.sh110
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-src/install.sh2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/Makefile.am16
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/bool.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/characters.c119
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/characters.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/config.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/dump/dump.c54
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/encode_utf8strings.c2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/enum_generator.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c4
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c169
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c4424
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l213
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c929
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.h6
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c1298
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h184
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c474
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.h14
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l54
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y454
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c114
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c6
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c153
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c587
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h12
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/messages.c8
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/messages.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/plugins.h6
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/sha1.c2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/sha1.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/struct.c328
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/struct.h125
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/struct_iter.h98
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/support.c2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/support.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/unicode.c2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/unicode.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/utf8strings.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/utf8strings.h.in2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-l.c2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-y.c2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.h2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.l2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.y2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.c26
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.h5
-rw-r--r--Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc8
-rwxr-xr-xBuild/source/texk/gregorio/gregorio.test7
-rw-r--r--Build/source/texk/gregorio/version.ac2
93 files changed, 8293 insertions, 4482 deletions
diff --git a/Build/source/texk/gregorio/ChangeLog b/Build/source/texk/gregorio/ChangeLog
index 481ef272b57..b61fd0dd870 100644
--- a/Build/source/texk/gregorio/ChangeLog
+++ b/Build/source/texk/gregorio/ChangeLog
@@ -1,6 +1,10 @@
-2017-03-27 Karl Berry <karl@freefriends.org>
+2017-04-06 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
- * Makefile.am (AM_TESTS_ENVIRONMENT): use instead of TESTS_ENVIRONMENT.
+ * Import gregorio-5.0.0-rc1.
+ * configure.ac (FILENAME_VERSION): Gregorio developers seem to want to
+ use FILENAME_VERSION postfix for the executable name in TeX Live 2017.
+ * gregorio.test (gregorio): use $FILENAME_VERSION.
+ * Makefile.am (bin_PROGRAMS): use $FILENAME_VERSION.
2016-09-29 Karl Berry <karl@tug.org>
diff --git a/Build/source/texk/gregorio/Makefile.am b/Build/source/texk/gregorio/Makefile.am
index 1de6788f0e4..9a73bd15c52 100644
--- a/Build/source/texk/gregorio/Makefile.am
+++ b/Build/source/texk/gregorio/Makefile.am
@@ -23,9 +23,9 @@ AM_CPPFLAGS = \
$(KPATHSEA_INCLUDES) -D_GNU_SOURCE -DUSE_KPSE
AM_CFLAGS = $(WARNING_CFLAGS)
-bin_PROGRAMS = gregorio
+bin_PROGRAMS = gregorio-$(FILENAME_VERSION)
-gregorio_SOURCES = \
+gregorio___FILENAME_VERSION__SOURCES = \
@GREGORIO_TREE@/src/characters.c \
@GREGORIO_TREE@/src/gregorio-utils.c \
@GREGORIO_TREE@/src/messages.c \
@@ -49,7 +49,7 @@ gregorio_SOURCES = \
LDADD = $(KPATHSEA_LIBS)
-$(gregorio_OBJECTS): $(KPATHSEA_DEPEND)
+$(gregorio___FILENAME_VERSION__OBJECTS): $(KPATHSEA_DEPEND)
## Rebuild libkpathsea
@KPATHSEA_RULE@
@@ -57,7 +57,7 @@ $(gregorio_OBJECTS): $(KPATHSEA_DEPEND)
## TESTS
AM_TESTS_ENVIRONMENT = GREGORIO_TREE='$(GREGORIO_TREE)'; export GREGORIO_TREE;
TESTS = gregorio.test
-gregorio.log: gregorio$(EXEEXT)
+gregorio.log: gregorio-$(FILENAME_VERSION)$(EXEEXT)
EXTRA_DIST += $(TESTS)
DISTCLEANFILES = factus.gtex veni.gtex
diff --git a/Build/source/texk/gregorio/Makefile.in b/Build/source/texk/gregorio/Makefile.in
index 7d11a596936..1c7a4334dd4 100644
--- a/Build/source/texk/gregorio/Makefile.in
+++ b/Build/source/texk/gregorio/Makefile.in
@@ -88,7 +88,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-bin_PROGRAMS = gregorio$(EXEEXT)
+bin_PROGRAMS = gregorio-$(FILENAME_VERSION)$(EXEEXT)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \
@@ -113,7 +113,8 @@ CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
-am_gregorio_OBJECTS = @GREGORIO_TREE@/src/characters.$(OBJEXT) \
+am_gregorio___FILENAME_VERSION__OBJECTS = \
+ @GREGORIO_TREE@/src/characters.$(OBJEXT) \
@GREGORIO_TREE@/src/gregorio-utils.$(OBJEXT) \
@GREGORIO_TREE@/src/messages.$(OBJEXT) \
@GREGORIO_TREE@/src/sha1.$(OBJEXT) \
@@ -133,10 +134,11 @@ am_gregorio_OBJECTS = @GREGORIO_TREE@/src/characters.$(OBJEXT) \
@GREGORIO_TREE@/src/vowel/vowel.$(OBJEXT) \
@GREGORIO_TREE@/src/vowel/vowel-rules-l.$(OBJEXT) \
@GREGORIO_TREE@/src/vowel/vowel-rules-y.$(OBJEXT)
-gregorio_OBJECTS = $(am_gregorio_OBJECTS)
-gregorio_LDADD = $(LDADD)
+gregorio___FILENAME_VERSION__OBJECTS = \
+ $(am_gregorio___FILENAME_VERSION__OBJECTS)
+gregorio___FILENAME_VERSION__LDADD = $(LDADD)
am__DEPENDENCIES_1 =
-gregorio_DEPENDENCIES = $(am__DEPENDENCIES_1)
+gregorio___FILENAME_VERSION__DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
@@ -175,8 +177,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(gregorio_SOURCES)
-DIST_SOURCES = $(gregorio_SOURCES)
+SOURCES = $(gregorio___FILENAME_VERSION__SOURCES)
+DIST_SOURCES = $(gregorio___FILENAME_VERSION__SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -463,6 +465,7 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+FILENAME_VERSION = @FILENAME_VERSION@
GREGORIO_TREE = @GREGORIO_TREE@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -576,7 +579,7 @@ AM_CPPFLAGS = \
$(KPATHSEA_INCLUDES) -D_GNU_SOURCE -DUSE_KPSE
AM_CFLAGS = $(WARNING_CFLAGS)
-gregorio_SOURCES = \
+gregorio___FILENAME_VERSION__SOURCES = \
@GREGORIO_TREE@/src/characters.c \
@GREGORIO_TREE@/src/gregorio-utils.c \
@GREGORIO_TREE@/src/messages.c \
@@ -796,9 +799,9 @@ clean-binPROGRAMS:
@GREGORIO_TREE@/src/vowel/$(am__dirstamp) \
@GREGORIO_TREE@/src/vowel/$(DEPDIR)/$(am__dirstamp)
-gregorio$(EXEEXT): $(gregorio_OBJECTS) $(gregorio_DEPENDENCIES) $(EXTRA_gregorio_DEPENDENCIES)
- @rm -f gregorio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(gregorio_OBJECTS) $(gregorio_LDADD) $(LIBS)
+gregorio-$(FILENAME_VERSION)$(EXEEXT): $(gregorio___FILENAME_VERSION__OBJECTS) $(gregorio___FILENAME_VERSION__DEPENDENCIES) $(EXTRA_gregorio___FILENAME_VERSION__DEPENDENCIES)
+ @rm -f gregorio-$(FILENAME_VERSION)$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(gregorio___FILENAME_VERSION__OBJECTS) $(gregorio___FILENAME_VERSION__LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -1397,10 +1400,10 @@ uninstall-am: uninstall-binPROGRAMS
dist-hook:
cd "$(distdir)" && rm -rf $(NEVER_DIST)
-$(gregorio_OBJECTS): $(KPATHSEA_DEPEND)
+$(gregorio___FILENAME_VERSION__OBJECTS): $(KPATHSEA_DEPEND)
@KPATHSEA_RULE@
-gregorio.log: gregorio$(EXEEXT)
+gregorio.log: gregorio-$(FILENAME_VERSION)$(EXEEXT)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/Build/source/texk/gregorio/TLpatches/ChangeLog b/Build/source/texk/gregorio/TLpatches/ChangeLog
index 4885ef3d5b1..0f1c561b40c 100644
--- a/Build/source/texk/gregorio/TLpatches/ChangeLog
+++ b/Build/source/texk/gregorio/TLpatches/ChangeLog
@@ -1,3 +1,7 @@
+2017-04-06 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ Import gregorio-5.0.0-rc1.
+
2016-09-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Import gregorio-4.2.0.
diff --git a/Build/source/texk/gregorio/TLpatches/TL-Changes b/Build/source/texk/gregorio/TLpatches/TL-Changes
index c01b07cfc21..bd769204560 100644
--- a/Build/source/texk/gregorio/TLpatches/TL-Changes
+++ b/Build/source/texk/gregorio/TLpatches/TL-Changes
@@ -1,5 +1,5 @@
-Changes applied to the gregorio-4.2.0 tree as obtained from:
- https://github.com/gregorio-project/gregorio/releases/tag/v4.2.0/
+Changes applied to the gregorio-5.0.0-rc1 tree as obtained from:
+ https://github.com/gregorio-project/gregorio/releases/download/v5.0.0-rc1
Remove:
Makefile.in
diff --git a/Build/source/texk/gregorio/config_.h.in b/Build/source/texk/gregorio/config_.h.in
index 875e70578b0..3f8ed63e3b1 100644
--- a/Build/source/texk/gregorio/config_.h.in
+++ b/Build/source/texk/gregorio/config_.h.in
@@ -9,6 +9,9 @@
/* Define to 1 if the `closedir' function returns void instead of `int'. */
#undef CLOSEDIR_VOID
+/* version suitable for file names */
+#undef FILENAME_VERSION
+
/* Define to 1 if realpath() can malloc memory, always gives an absolute path,
and handles trailing slash correctly. */
#undef FUNC_REALPATH_WORKS
diff --git a/Build/source/texk/gregorio/configure b/Build/source/texk/gregorio/configure
index a14f4c3a10c..0fadd1bfb27 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.2.0.
+# Generated by GNU Autoconf 2.69 for Gregorio (TeX Live) 5.0.0-rc1.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Gregorio (TeX Live)'
PACKAGE_TARNAME='gregorio--tex-live-'
-PACKAGE_VERSION='4.2.0'
-PACKAGE_STRING='Gregorio (TeX Live) 4.2.0'
+PACKAGE_VERSION='5.0.0-rc1'
+PACKAGE_STRING='Gregorio (TeX Live) 5.0.0-rc1'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL='http://gregorio-project.github.io/'
@@ -724,6 +724,7 @@ am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
+FILENAME_VERSION
target_alias
host_alias
build_alias
@@ -1330,7 +1331,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.2.0 to adapt to many kinds of systems.
+\`configure' configures Gregorio (TeX Live) 5.0.0-rc1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1401,7 +1402,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Gregorio (TeX Live) 4.2.0:";;
+ short | recursive ) echo "Configuration of Gregorio (TeX Live) 5.0.0-rc1:";;
esac
cat <<\_ACEOF
@@ -1521,7 +1522,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Gregorio (TeX Live) configure 4.2.0
+Gregorio (TeX Live) configure 5.0.0-rc1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2360,7 +2361,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.2.0, which was
+It was created by Gregorio (TeX Live) $as_me 5.0.0-rc1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2709,6 +2710,13 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+FILENAME_VERSION="5_0_0-rc1"
+
+
+cat >>confdefs.h <<_ACEOF
+#define FILENAME_VERSION "$FILENAME_VERSION"
+_ACEOF
+
ac_aux_dir=
@@ -8046,7 +8054,7 @@ fi
# Define the identity of the package.
PACKAGE='gregorio--tex-live-'
- VERSION='4.2.0'
+ VERSION='5.0.0-rc1'
cat >>confdefs.h <<_ACEOF
@@ -14466,7 +14474,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-Gregorio (TeX Live) config.lt 4.2.0
+Gregorio (TeX Live) config.lt 5.0.0-rc1
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -16053,7 +16061,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.2.0, which was
+This file was extended by Gregorio (TeX Live) $as_me 5.0.0-rc1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16120,7 +16128,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.2.0
+Gregorio (TeX Live) config.status 5.0.0-rc1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/gregorio/configure.ac b/Build/source/texk/gregorio/configure.ac
index faf7a68017e..6ad22262c21 100644
--- a/Build/source/texk/gregorio/configure.ac
+++ b/Build/source/texk/gregorio/configure.ac
@@ -10,6 +10,9 @@ dnl with or without modifications, as long as this notice is preserved.
dnl
m4_include([version.ac])[] dnl define gregorio_version
AC_INIT([Gregorio (TeX Live)], gregorio_version, [tex-k@tug.org], [gregorio--tex-live-], [http://gregorio-project.github.io/])
+FILENAME_VERSION="5_0_0-rc1"
+AC_SUBST(FILENAME_VERSION)
+AC_DEFINE_UNQUOTED(FILENAME_VERSION, "$FILENAME_VERSION", [version suitable for file names])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([gregorio-src/src/gregorio-utils.c])
AC_CONFIG_AUX_DIR([../../build-aux])
diff --git a/Build/source/texk/gregorio/gregorio-src/.gregorio-version b/Build/source/texk/gregorio/gregorio-src/.gregorio-version
index e1eb41352e7..f38f1af9d13 100644
--- a/Build/source/texk/gregorio/gregorio-src/.gregorio-version
+++ b/Build/source/texk/gregorio/gregorio-src/.gregorio-version
@@ -1,4 +1,4 @@
-4.2.0
+5.0.0-rc1
*** 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 76c4b0130d4..2dc1f97fe37 100644
--- a/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md
+++ b/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md
@@ -2,6 +2,76 @@
All notable changes to this project will be documented in this file.
As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). It follows [some conventions](http://keepachangelog.com/).
+## [Unreleased][unreleased]
+
+
+## [5.0.0-rc1] - 2017-04-04
+### Fixed
+- The printing of the commentary box is no longer tied to the printing of the inital. As a result it is now possible to have a score which has a commentary but not an initial. See [this thread on the user list](http://www.mail-archive.com/gregorio-users@gna.org/msg03911.html).
+- Elisions after a vowel centering prefix will no longer cause the center to be placed on the vowel in the prefix. Since prefixes are unvoiced vowels, this makes more sense than the previous behavior. As usual, you may use the manual centering features to force the centering where you want if this does not produce what you want. See [#1320](https://github.com/gregorio-project/gregorio/issues/1320).
+- Dynmanic line spacing when a clef change occurs at the end of a line is fixed so that the line after the clef change is spaced appropriately. See [#1285](https://github.com/gregorio-project/gregorio/issues/1285).
+- Spaces in the filename of a score no longer cause Gregoriotex to fail. See [#1224](https://github.com/gregorio-project/gregorio/issues/1224).
+
+## [5.0.0-beta2] - 2017-02-24
+### Fixed
+- Glyphs for pes quadratum shapes with initio debilis are no longer missing. Use `-fqg` to engrave them. See [#1310](https://github.com/gregorio-project/gregorio/issues/1310).
+
+### Changed
+- The default behaviour of `\gregorioscore` has been changed to autocompile.
+- When the note after an oriscus is at the same pitch, the oriscus direction now depends on the first non-unison, non-oriscus note after the oriscus (see [#1179](https://github.com/gregorio-project/gregorio/issues/1179)).
+- 6 new St. Gall neume glyphs have been added to the `gregall` font and glyph for nabc `to!ciG` has been changed (see [#1303](https://github.com/gregorio-project/gregorio/issues/1303), [#1305](https://github.com/gregorio-project/gregorio/issues/1305), [#1313](https://github.com/gregorio-project/gregorio/issues/1313), [#1314](https://github.com/gregorio-project/gregorio/issues/1314), [#1315](https://github.com/gregorio-project/gregorio/issues/1315)).
+
+## [5.0.0-beta1] - 2017-01-31
+### Fixed
+- Horizontal episemata bridge spaces more correctly. As mentioned earlier, you can prevent this by appending `2` to the `_` on the note before the space you do not want bridged. See [#1216](https://github.com/gregorio-project/gregorio/issues/1216).
+- A rising note after an oriscus flexus will no longer generate a porrectus (see [#1220](https://github.com/gregorio-project/gregorio/issues/1220)).
+- The Scribus external tool script now uses latexmk in order to handle the multi-pass features of Gregorio (see [#1236](https://github.com/gregorio-project/gregorio/issues/1236)).
+- Translation text in a syllable with a trailing (forced) hyphen is no longer truncated to its first character (see [#1254](https://github.com/gregorio-project/gregorio/issues/1254)).
+- A trailing (forced) hyphen in a syllable no longer generates a forced hyphen in the previous syllable (see [#1255](https://github.com/gregorio-project/gregorio/issues/1255)).
+- A trailing space on a header line is now ignored (see [#1269](https://github.com/gregorio-project/gregorio/issues/1269)).
+- A pes whose second note is an oriscus now obeys the oriscus orientation rules (see [#1272](https://github.com/gregorio-project/gregorio/issues/1272))
+
+### Changed
+- Notes are now left-aligned as if all clefs had the same width as the largest clef in the score. You can get previous behavior back with `\grebolshiftcleftype{current}`, or temporary force alignment until the end of a score with `\grelocalbolshiftcleftype`. See Documentation of these functions and [#1189](https://github.com/gregorio-project/gregorio/issues/1189).
+- A clef change immediately before a line break `(z)` will now typeset the new clef at the beginning of the next line. An explicit custos `(z0)` immediately before such a clef change (or separated by only a bar) will be suppressed. See [#1190](https://github.com/gregorio-project/gregorio/issues/1190).
+- Ledger lines are now extended through notes on either side of a ledger line that crosses a stem, as long as the notes are within the same "element." If the algorithm doesn't produce the result you want, you can use `[oll:0]` to suppress an over-the-staff ledger line on a note, `[ull:0]` to suppress an under-the-staff ledger line on a note, `[oll:1]` to force an over-the-line ledger line on a note, or [ull:1] to force an under-the-staff ledger line on a note. Please note that other forms of `[oll:...]` and `[ull:...]` can interfere with these new settings. See [UPGRADE.md](UPGRADE.md) and [#1215](https://github.com/gregorio-project/gregorio/issues/1215) for details.
+- The left stem of Dominican plicae on lines has been shortened (see [#1238](https://github.com/gregorio-project/gregorio/issues/1238)).
+- Clefs on the top or bottom line adjust the spacing as if there were a note above the top line or below the bottom line, respectively (see [#1007](https://github.com/gregorio-project/gregorio/issues/1007)).
+- Default spaces have been adjusted (see [#1182](https://github.com/gregorio-project/gregorio/issues/1182)).
+- `\grechangenextscorelinedim` can now take a comma-separated list of line numbers as its first argument (see [#1280](https://github.com/gregorio-project/gregorio/issues/1280)).
+
+### Added
+- More cavum shapes are now available. To use them, simply add `r` in gabc to any note in a glyph. See [#844](https://github.com/gregorio-project/gregorio/issues/844).
+- Square brackets can be placed around notes by using `[[` and `]]` to surround said notes in gabc (see [#844](https://github.com/gregorio-project/gregorio/issues/844)).
+- a font `grelaon` for Laon style adiastematic notation has been added (see GregorioNabcRef.pdf for details). This is a preview, backward incompatible change are possible in future releases.
+- 9 new St. Gall neume glyphs have been added to the `gregall` font.
+- 5 new St. Gall neume glyphs have been added to the `gresgmodern` font.
+- install-gtex.sh now generates uninstall-gtex.sh, which can be used to uninstall the TeX portion of the installation when GregorioTeX was installed from source.
+- A `<clear>` tag may be added to a syllable to indicate that its text should not overlap any previous syllable (see [#1029](https://github.com/gregorio-project/gregorio/issues/1029)).
+- More general support for protrusions. The `<pr>` tag in gabc indicates where a protrusion should begin. There is an optional argument `<pr:.5>` that allows the protrusion factor to be specified (in this example, `.5`). Additionally, the comma, semicolon, colon, and period are automatically protruded, with configurable protrusion factors. See GregorioRef and [#931](https://github.com/gregorio-project/gregorio/issues/931) for more information.
+- `minimalinitialwidth` space, controlling the minimum amount of space an initial should take require; ignored when `manualinitialwidth` is set to something non-zero (see [#1213](https://github.com/gregorio-project/gregorio/issues/1213)).
+- new scripts in `contrib/` to check the syllabation of a gabc score against hyphenation rules, such as those on [hyphen-la](https://github.com/gregorio-project/hyphen-la)
+- the visibility of a particular nabc voice can now be set by `\gresetnabc{n}{(in)visible}`, where `n` is the number of the nabc voice (see [#1257](https://github.com/gregorio-project/gregorio/issues/1257)).
+- `[nocustos]` may be used in gabc to prevent a custos should the line end at that point (see [#1271](https://github.com/gregorio-project/gregorio/issues/1271)).
+- Musica ficta signs: Add `r6`, `r7`, and `r8` to a note for a flat, natural, or sharp (respectively) above the note (see [#1278](https://github.com/gregorio-project/gregorio/issues/1278)).
+- The spacing added for low notes in the staff is now adjustable by setting dimension `noteadditionalspacelinestext`, with the number of notes settable as count `noteadditionalspacelinestextthreshold`. See GregorioRef and [#1125](https://github.com/gregorio-project/gregorio/issues/1125) for details.
+- Some counts can now be adjusted for a particular line in a score. Use `\grechangenextscorelinecount` prior to including the score to set the desired values. The various spacing thresholds may be changed with this command. See GregorioRef for details.
+
+### Deprecated
+- `\gresethyphenprotrusion{percentage}`, supplanted by `\gresetprotrusionfactor{eolhyphen}{factor}`. Note that the value the new command takes is a factor rather than a percentage.
+
+### Removed
+- `initial-style` gabc header, supplanted by the `\gresetinitiallines` TeX command.
+- `biginitial` style, consolidated into the `initial` style.
+- `\grescorereference`
+- The Gregorio and Grana Padano fonts are no longer distributed with the Gregorio distribution archive. They will now be available for download separately (along with their Dominican "-op" variants) in `supp_fonts-5_0_0.zip` (the version number will change to match future releases). See [UPGRADE.md](UPGRADE.md) and [#844](https://github.com/gregorio-project/gregorio/issues/844) for details.
+
+
+## [4.2.1][Unreleased]
+### Fixed
+- Debian build scripts now use directories compatible with the TeXLive 2016 packaging of Gregorio (see [#1241](https://github.com/gregorio-project/gregorio/issues/1241)).
+
+
## [4.2.0] - 2016-09-23
### Fixed
- When the note after an oriscus is at the same pitch, the oriscus will now point downwards by default (see [#1177](https://github.com/gregorio-project/gregorio/issues/1177)).
diff --git a/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md b/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md
index 398dc577cd8..1fab2743961 100644
--- a/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md
+++ b/Build/source/texk/gregorio/gregorio-src/CONTRIBUTORS.md
@@ -34,11 +34,13 @@ Gregorio has been developed with valuable help and support from:
* David Gippner
* Quentin Lamy
* [The Abbey of Solesmes (FR)](http://www.solesmes.com/)
+ * [The Abbey of Flavigny (FR)](http://www.clairval.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)
* [Stiftsbibliothek, St. Gallen (CH)](http://www.stibi.ch/)
* [Stiftsbibliothek, Einsiedeln (CH)](http://kloster-einsiedeln.ch/)
+ * [Bibliothèque municipale de Laon (FR)](http://manuscrit.ville-laon.fr/)
* [Gna!](http://gna.org)
* [Github](https://github.com/)
diff --git a/Build/source/texk/gregorio/gregorio-src/Makefile.am b/Build/source/texk/gregorio/gregorio-src/Makefile.am
index 2f40f5004ec..37dd5032934 100644
--- a/Build/source/texk/gregorio/gregorio-src/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-src/Makefile.am
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
diff --git a/Build/source/texk/gregorio/gregorio-src/README.md b/Build/source/texk/gregorio/gregorio-src/README.md
index 8c817f8e100..5a89e8418a5 100644
--- a/Build/source/texk/gregorio/gregorio-src/README.md
+++ b/Build/source/texk/gregorio/gregorio-src/README.md
@@ -16,11 +16,11 @@ You can also try it online [here](http://dev.illuminarepublications.com/gregorio
You need a recent and working [TeXLive](https://www.tug.org/texlive/), on top of which you just need to install latest [Gregorio release](https://github.com/gregorio-project/gregorio/releases). See [the website](http://gregorio-project.github.io/installation.html) for more details.
-**Note:** Due to a bug in the current release (v2.7-fix-3) of `luaotfload` the documentation cannot be built against TeXLive 2016 (see [#1188](https://github.com/gregorio-project/gregorio/issues/1188)). As a result, building from a clone of the repository will fail against that version. A work around for this bug exists ([9fe9139](https://github.com/henryso/gregorio/commit/9fe9139178dce6adebffbae65016800748450b61), but using it breaks compilation under TeXLive 2015 and the bug has been fixed in the latest master for `luaotfload`. The result is that users should do one of the following:
+**Note:** Due to a bug in the v2.7-fix-3 release of `luaotfload` the documentation cannot be built against TeXLive 2016 if you have that version of `luaotfload` (see [#1188](https://github.com/gregorio-project/gregorio/issues/1188)). The result is that users should do one of the following:
-- Install from the distribution tar ball (recommended for those installing a stable release).
-- Switch to TeXLive 2015 to build the docs.
-- Upgrade your `luaotfload` to a more recent version (v2.8-rc1 or later).
+- Install from the distribution tar ball where the documentation is already built (recommended for those installing a stable release).
+- Switch to TeXLive 2015 (which uses an earlier version of `luaotfload`) to build the docs.
+- Upgrade your `luaotfload` to a more recent version (v2.8 or later).
## Documentation
diff --git a/Build/source/texk/gregorio/gregorio-src/UPGRADE.md b/Build/source/texk/gregorio/gregorio-src/UPGRADE.md
index b6add43d1cb..033a977470b 100644
--- a/Build/source/texk/gregorio/gregorio-src/UPGRADE.md
+++ b/Build/source/texk/gregorio/gregorio-src/UPGRADE.md
@@ -2,11 +2,59 @@
This file contains instructions to upgrade to a new release of Gregorio.
+## 5.0
+
+### Auto-compilation
+
+The `autocompile` option is now the default option for the behavior of `\gregorioscore`. If you want to go back to the old, manual behavior, then you should pass the `nevercompile` option when loading `gregoriotex`.
+
+### Additional fonts
+
+With the addition of more cavum shapes, the number of font options which come with Gregorio (the package) by default has been reduced in order to control the download size. From now on only Greciliae (and its "-op" Dominican variant) will be installed by default. The Gregorio and Grana Padano fonts, as well as their "-op" Dominican variants, will now be available as a separate download. If you were using these fonts, either download `supp_fonts-5_0_0.zip` and install them or switch to Greciliae.
+
+To install the new versions of Gregorio (the font) and Grana Padano, unzip `supp_fonts-5_0_0.zip`, navigate to the uncompressed folder in Terminal (or Command Prompt on Windows) and execute `texlua install_supp_fonts.lua` after you have installed the main Gregorio distribution. This script will look for the location of Greciliae and copy the other fonts to that location. If you wish to control the installation of the fonts manually, the script takes an optional argument with one of the following values:
+
+ * `auto` (optional): the same folder as Greciliae
+ * `system`: the appropriate font folder in `$TEXMFLOCAL`
+ * `user`: the appropriate font folder in `$TEXMFHOME`
+ * `<dir>`: the name of an alternate texmf root directory you want to use
+
+Additionally, if you are building the fonts yourself from a git clone, `install-gtex.sh` and `install_supp_fonts.lua` will install all the fonts you have built, not just the ones they are normally distributed with.
+
+**Note:** All the above methods assume you only need to access the fonts from within a TeX document (and thus are designed to put them into the correct folder in a texmf tree). If you want to use the fonts in other programs, then you will need to consult the documentation appropriate to your platform and/or the program and manually move, copy, or link the fonts to the necessary location.
+
+### Ledger lines
+
+As of version 5.0, ledger lines are extended through notes on either side of a ledger line that crosses a stem, as long as the notes are within the same element.
+
+The algorithm for this is simple so it can be predictable, and it cannot take into account spacing adjustments made it TeX. This means it may not produce the exactly desired results. In order to get the results you want, you can override the automatic behavior in gabc:
+
+- `[oll:1]` will force an over-the-staff ledger line on a note.
+- `[oll:0]` will suppress an over-the-staff ledger line on a note.
+- `[ull:1]` will force an under-the-staff ledger line on a note.
+- `[ull:0]` will suppress an under-the-staff ledger line on a note.
+
+The other `oll` and `ull` forms take precendence over and will interfere with the above settings, so if you are using them, you may need to adjust them to get the output you want.
+
+Note: You may need to use a construct such as `/!` to keep notes that are separated in the same element. For example, `abcV` is two elements (`ab` and `cV`), so the ledger line on `b` is not extended to `cV`. In contrast, `ab/!cV` is one element, so the ledger line on `b` is extended to `cV`.
+
+### End-of-line hyphen protrusion factor
+
+As of version 5.0, the `\gresethyphenprotrusion{percentage}` command is deprecated. To set this protrusion factor, use `\gresetprotrusionfactor{eolhyphen}{factor}` instead. Note that the `factor` taken by the new command is a factor rather than the percentage taken by the deprecated command, so for example, use `\gresetprotrusionfactor{eolhyphen}{0.5}` instead of `\gresethyphenprotrusion{50}`.
+
+### Oriscus orientation at the unison
+
+As of version 5.0, when the note after the oriscus is at the same pitch as the oriscus, the oriscus will point towards the first non-unison note after the oriscus or downwards if at the end of the score. Use the `0` (for downwards) `1` (for upwards) modifiers to force a different orientation.
+
+### Elisions in vowel centering
+
+As of version 5.0, elisions after a vowel centering prefix will not cause the center to be placed on the vowel at the end of the prefix. Since elisions are unvoiced vowels, this makes more sense than the previous behavior. However, if this change does not produce your desired output, you may surround the center manually with `{` and `}` in gabc.
+
## 4.2
### Executable file name
-In order to facilitate installation alongside TeX Live, the version number is now appended to the gregorio executable file name. In version 4.2.0, the filename is gregorio-4.2.0. If you run the executable directly, you will need to modify your procedures and/or scripts to use the new name. Alternately, creating a symbolic link, if your system supports it, may work for you.
+In order to facilitate installation alongside TeX Live, the version number is now appended to the gregorio executable file name. In version 4.2.0, the filename is `gregorio-4_2_0`. If you run the executable directly, you will need to modify your procedures and/or scripts to use the new name. Alternately, creating a symbolic link, if your system supports it, may work for you.
If you auto-compile or force-compile your GABC files and are *not* using the Gregorio packaged with TeX Live, you will probably need to use the `--shell-escape` option when compiling your `.tex` files. Alternately, you can add the new filename to your system's `shell_escape_commands` TeX option.
@@ -16,10 +64,6 @@ Unfortunately, there appears to be no easier way to let a user-installed Gregori
As of version 4.2, the orientation of the stemmed oriscus flexus `(gOe)` is consistent with the unstemmed oriscus flexus `(goe)` in that the oriscus points downwards (since the note which follows is of lower pitch). If you prefer the oriscus to point upwards, you will need to use the `1` modifier (as in `(gO1e)`), which will force an upward orientation of the oriscus.
-### Oriscus orientation at the unision
-
-As of version 4.2, when the note after the oriscus is at the same pitch as the oriscus, the oriscus will point downwards by default. If you prefer it to point upwards, append the `1` modifier to force the upward orientation.
-
### Podatus followed by a virga
As of version 4.2, a podatus followed by a virga of the same or higher pitch as the second note in the podatus (e.g., `(eghv)`) will be kept together, disallowing a line break between the two shapes. If you would like to allow a line break between the two shapes, use a `/` or some other breakable space between them (e.g., `(eg/hv)`).
diff --git a/Build/source/texk/gregorio/gregorio-src/VersionManager.py b/Build/source/texk/gregorio/gregorio-src/VersionManager.py
index b42d36dea80..f1676fceaf8 100644
--- a/Build/source/texk/gregorio/gregorio-src/VersionManager.py
+++ b/Build/source/texk/gregorio/gregorio-src/VersionManager.py
@@ -5,7 +5,7 @@
See VersionUpdate.py -h for help
- Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
This file is part of Gregorio.
@@ -61,8 +61,8 @@ GREGORIO_FILES = ["configure.ac",
"tex/gregoriotex-nabc.tex",
"tex/gregoriotex-nabc.lua",
"tex/gregoriosyms.sty",
+ "tex/gregoriotex-common.tex",
"fonts/squarize.py",
- "contrib/gregorio-scribus.lua",
]
def get_parser():
diff --git a/Build/source/texk/gregorio/gregorio-src/configure.ac b/Build/source/texk/gregorio/gregorio-src/configure.ac
index 81aaa70b9c4..e7d1c97fc26 100644
--- a/Build/source/texk/gregorio/gregorio-src/configure.ac
+++ b/Build/source/texk/gregorio/gregorio-src/configure.ac
@@ -1,5 +1,5 @@
dnl Gregorio
-dnl Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+dnl Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
dnl
dnl This file is part of Gregorio.
dnl
@@ -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 <http://www.gnu.org/licenses/>.
-AC_INIT([gregorio],[4.2.0],[https://github.com/gregorio-project/gregorio/issues],[gregorio],[http://gregorio-project.github.io/])
-FILENAME_VERSION="4_2_0"
+AC_INIT([gregorio],[5.0.0-rc1],[https://github.com/gregorio-project/gregorio/issues],[gregorio],[http://gregorio-project.github.io/])
+FILENAME_VERSION="5_0_0-rc1"
AC_SUBST(FILENAME_VERSION)
AC_DEFINE_UNQUOTED(FILENAME_VERSION, "$FILENAME_VERSION", [version suitable for file names])
MK=""
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/900_gregorio.xml b/Build/source/texk/gregorio/gregorio-src/contrib/900_gregorio.xml
index a3855195bcf..b3886206472 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/900_gregorio.xml
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/900_gregorio.xml
@@ -2,6 +2,8 @@
<!--
XML file for using gregorio inside scribus.
Copyright (C) 2009 Pierre Couderc <pierre@couderc.eu>.
+ Copyright (C) 2010 Elie Roux <elie.roux@telecom-bretagne.eu>
+ Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,8 +22,7 @@
See the different comments in the file to change the default configuration.
-->
<editorsettings description="gregorio" icon="gregorio.png">
- <!-- change the path to gregorio-scribus.lua here. -->
- <executable command='texlua /usr/share/scribus/editorconfig/gregorio-scribus.lua "%file" "%dir"'/>
+ <executable command="texlua"/>
<imagefile extension=".pdf"/>
<highlighter>
<rule name="gabc header" regex="[a-zA-Z]+:" color="blue" minimal="true"/>
@@ -33,7 +34,8 @@
(c3) Pó(eh/hi)pu(h)lus(h) Si(hi)on,(hgh.)
</empty-frame-text>
<!-- you can change the basic headers there -->
- <preamble>\documentclass[a4paper,$scribus_grefontsize$]{extarticle}
+ <preamble>data_from_scribus = [==========[% Generated from Scribus
+\documentclass[a4paper,$scribus_grefontsize$]{extarticle}
\usepackage[left=0cm,top=0cm,right=0cm,bottom=0cm,nohead,nofoot]{geometry}
\usepackage{color}
\title{Scribus-Latex-gregorio-File}
@@ -44,8 +46,49 @@ $scribus_additionalgreheaders$
\setlength{\textwidth}{$scribus_realwidth$ pt}
\begin{document}
$scribus_greconf$
+%%% BEGIN GABC %%%
</preamble>
- <postamble></postamble>
+ <postamble>]==========]
+require"lfs"
+
+local latexmkbin = "latexmk"
+local lualatexbin = "lualatex"
+
+local function basename(name)
+ return name and string.match(name,"^.+[/\\](.-)$") or name
+end
+
+local f = basename(arg[0])
+
+local texfile = io.open(f .. ".tex", "w")
+local gabcfile = io.open(f .. "-score.gabc", "w")
+local in_tex = true
+local l
+for l in string.gmatch(data_from_scribus, "[^\r\n]+") do
+ if l == "%%% BEGIN GABC %%%" then
+ in_tex = false
+ elseif in_tex then
+ texfile:write(l .. '\n')
+ else
+ gabcfile:write(l .. '\n')
+ end
+end
+
+local format = string.format
+
+texfile:write("\n\\gregorioscore[f]{" .. f .. "-score}\n\\end{document}\n")
+texfile:close()
+gabcfile:close()
+
+print("calling "..latexmkbin.."\n")
+os.exec({
+ latexmkbin,
+ '-g',
+ '-pdf',
+ '-pdflatex=' .. lualatexbin .. ' --interaction=nonstopmode --shell-escape',
+ f
+})
+</postamble>
<tab type="settings">
<title>
<i18n>
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/Makefile.am b/Build/source/texk/gregorio/gregorio-src/contrib/Makefile.am
index b25741fea45..c4c226cee14 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/Makefile.am
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
@@ -17,4 +17,4 @@
SUBDIRS = TeXShop
-EXTRA_DIST = gprocess gabc.xml gabc.lang gabc.vim 900_gregorio.xml gregorio-scribus.lua gregorio.png gabc-syntax.plist README.md system-setup.command system-setup.bat config-texworks.command
+EXTRA_DIST = gprocess gabc.xml gabc.lang gabc.vim 900_gregorio.xml gregorio.png gabc-syntax.plist README.md system-setup.command system-setup.bat config-texworks.command checkSyllabation.py
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/README.md b/Build/source/texk/gregorio/gregorio-src/contrib/README.md
index c4e43da23f9..4372f39c6b0 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/README.md
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/README.md
@@ -20,20 +20,52 @@ under Windows).
* click `Add` in the `Render Frames`
* select the file `900_gregorio.xml`
-After that you can insert a render frame using Gregorio, and simply
+After that you can insert a render frame using Gregorio, and simply
typing gabc (`right-click->edit sources`).
For more details see [the website](http://home.gna.org/gregorio/scribus).
+## Syllabation checker
+
+The scripts in this folder allow to check the syllabation of a gabc score against syllabation rules that you must provide.
+
+#### Dependencies
+
+The main script, `checkSyllabation.py` is in Python3, so you obviously need it. It uses the [pyphen](http://pyphen.org/) package. You will also need the hyphenation of the text language in the `libhyphen` format in order to run it.
+
+If you want liturgical Latin hyphenation rules, you can pick those from the [hyphen-la](https://github.com/gregorio-project/hyphen-la) project. They are available in `libhyphen` format on the [webpage](http://gregorio-project.github.io/hyphen-la/).
+
+#### Running the scripts
+
+Once you have the hyphenation rules in the `libhyphen` format, you can check one score by running
+
+```
+checkSyllabation.py -p path/to/file.dic my_file.gabc
+```
+
+where `path/to/file.dic` is the path to the hyphenation rules file (default is `hyph_la_liturgical.dic` in the current directory). You can also analyze all gabc scores of a directory (with subdirectories) by replacing `my_file.gabc` by the name of the directory. By default, the script analyzes the current directory. The script outputs the report to `stdout` on Unix systems, and to `check-syllabation.log` on Windows systems.
+
+You can see more options by running
+
+```
+checkSyllabation.py --help
+```
+
+#### Hyphenation problems
+
+If you encounter problems of hyphenation, meaning you disagree with the proposed hyphenation, please contact the author of the hyphenation rules you are using ([here](https://github.com/gregorio-project/hyphen-la/issues) for `hyphen-la` for example).
+
+If you encounter problems because the script got confused by a gabc construct you are using or has bugs not directly related to hyphenation, please report it on the [gregorio tracker](https://github.com/gregorio-project/gregorio/issues).
+
## Kde editors (Kate, Kedit)
-You can use `gabc.xml` for syntax highlighting in kate (and Kedit, etc.). To
+You can use `gabc.xml` for syntax highlighting in kate (and Kedit, etc.). To
install it, copy the file in `/usr/share/apps/katepart/syntax`. This path
may vary according to your distribution.
## Gnome editors (Gedit)
-You can use `gabc.lang` for syntax highlighting in GtkSourceView (Gedit, etc.). To
+You can use `gabc.lang` for syntax highlighting in GtkSourceView (Gedit, etc.). To
install it, copy the file in `/usr/share/gtksourceview-3.0/language-specs`. This path
may vary according to your distribution.
@@ -45,7 +77,7 @@ To use gregorio in [Emacs](https://www.gnu.org/software/emacs/), see [this scrip
To get gabc syntax highlighting in [Vim](http://www.vim.org/):
- * copy `gabc.vim` in `/usr/share/vim/vimcurrent/syntax`
+ * copy `gabc.vim` in `/usr/share/vim/vimcurrent/syntax`
* add the line `au BufNewFile,BufRead *.gabc setf gabc`
somewhere near lines of the same type (near line 100 for example) in
`/usr/share/vim/vimcurrent/filetype.vim`. This will autodetect the filetypes.
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/Makefile.am b/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/Makefile.am
index 7c96f2e89ec..9ca1bdb5f9d 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/Makefile.am
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/auto-configure.command b/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/auto-configure.command
index f8751f86769..758b3d010c7 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/auto-configure.command
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/TeXShop/auto-configure.command
@@ -30,44 +30,5 @@ else
exit 1
fi
-#Add 'gabc' to the list of file extensions which TeXShop knows
-TeXShopDir=`osascript -e 'POSIX path of (path to app "TeXShop")'`
-
-echo "Adding gabc to list of valid extensions in TeXShop"
-defaults write "$TeXShopDir/Contents/Info.plist" CFBundleDocumentTypes -array-add '<dict>
-<key>CFBundleTypeExtensions</key>
-<array>
-<string>gabc</string>
-</array>
-<key>CFBundleTypeName</key>
-<string>gabc</string>
-<key>CFBundleTypeOSTypes</key>
-<array>
-<string>GABC</string>
-</array>
-<key>CFBundleTypeRole</key>
-<string>Editor</string>
-<key>LSItemContentTypes</key>
-<array>
-<string>com.unknown.gabc</string>
-</array>
-<key>LSTypeIsPackage</key>
-<false/>
-<key>NSDocumentClass</key>
-<string>TSDocument</string>
-<key>NSPersistentStoreTypeKey</key>
-<string>Binary</string>
-</dict>'
-
-echo "Adding Gregorio file extensions to appropriate preference lists"
-#enable syntax coloring and the Typeset button for gabc files
-defaults write TeXShop OtherTeXExtensions -array-add "gabc"
-defaults write TeXShop OtherTeXExtensions -array-add "gtex"
-
-#Add gtex and gaux to the list of aux files deleted with Trash Aux Files
-defaults write TeXShop OtherTrashExtensions -array-add "gtex"
-defaults write TeXShop OtherTrashExtensions -array-add "gaux"
-defaults write TeXShop OtherTrashExtensions -array-add "glog"
-
echo "Configuration complete"
exit 0
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/checkSyllabation.py b/Build/source/texk/gregorio/gregorio-src/contrib/checkSyllabation.py
new file mode 100644
index 00000000000..338ebf534a5
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/checkSyllabation.py
@@ -0,0 +1,156 @@
+#! /usr/bin/env python3
+
+"""
+ A script to check the syllabation of a gabc file
+
+ See checkSyllabation.py -h for help
+
+ Copyright (C) 2016-2017 Elie Roux
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
+ this software and associated documentation files (the "Software"), to deal in
+ the Software without restriction, including without limitation the rights to
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is furnished to do
+ so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+ Depends on pyphen: http://pyphen.org/
+ You also need the hyph_la_liturgical.dic file. To get it, get the
+ hyphen-la project on https://github.com/gregorio-project/hyphen-la
+ and run "make" in the "patterns" directory.
+
+"""
+
+import sys
+import re
+import argparse
+import pyphen
+import os
+import glob
+
+DEFAULT_OUTFILE = False
+if os.name == 'nt':
+ DEFAULT_OUTFILE = 'check-syllabation.log'
+
+def get_parser():
+ "Return command line parser"
+ parser = argparse.ArgumentParser(
+ description='A script to check the syllabation of gabc files')
+ parser.add_argument('-p', '--pat-path',
+ help='hyphenation pattern file',
+ action='store', default="hyph_la_liturgical.dic")
+ parser.add_argument('-o', '--outfile',
+ help='The file that will contain the report',
+ action='store', default=DEFAULT_OUTFILE)
+ parser.add_argument('-v', '--verbose',
+ help='Report also files without error',
+ action='store_true', default=False)
+ parser.add_argument('path',
+ help='Path to a gabc file or a directory containing gabc files',
+ action='store', default=".")
+ return parser
+
+def deacc(accstr):
+ return accstr.replace('á', 'a').replace('é', 'e').replace('í', 'i').replace('ó', 'o').replace('ú', 'u').replace('ý', 'y').replace('́', '').replace('ǽ', 'æ')
+
+def checkwords(words_list, hyphenator):
+ errors = []
+ for word in words_list:
+ initialword = deacc(word.lower())
+ if initialword.find('-') == -1:
+ # no need for noise
+ continue
+ correctword = hyphenator.inserted(initialword.replace('-',''))
+ if correctword != initialword:
+ errors.append( (initialword,correctword) )
+ return errors
+
+def get_words_list(gabc_content):
+ gabc_content = gabc_content.split('%%\n', 1)[1] # no headers
+ gabc_content = re.sub(r'%.*\n', '', gabc_content)
+ gabc_content = gabc_content.replace('\n', ' ').replace('\r', ' ').replace('{','')
+ gabc_content = gabc_content.replace('}','').replace('<sp>\'ae</sp>', 'ǽ')
+ gabc_content = gabc_content.replace('<sp>oe</sp>', 'œ').replace('<sp>\'oe</sp>', 'œ')
+ gabc_content = gabc_content.replace('<sp>ae</sp>', 'æ').replace('<sp>\'æ</sp>', 'ǽ')
+ gabc_content = gabc_content.replace('<sp>\'œ</sp>', 'œ')
+ gabc_content = re.sub(r'\([^\)]*\)', '-', gabc_content)
+ gabc_content = re.sub(r'<\/?[ibuec]>', '', gabc_content)
+ gabc_content = re.sub(r'<\/?sc>', '', gabc_content)
+ gabc_content = re.sub(r'<\/?eu>', '', gabc_content)
+ gabc_content = re.sub(r'<v>[^<]*<\/v>', '', gabc_content)
+ gabc_content = re.sub(r'<v>[^>]*<\/v>', '', gabc_content)
+ gabc_content = re.sub(r'<sp>[^>]*<\/sp>', '', gabc_content)
+ gabc_content = re.sub(r'<alt>[^>]*<\/alt>', '', gabc_content)
+ gabc_content = re.sub(r'\[[^\]]*\]', '', gabc_content)
+ gabc_content = re.sub(r'-+', '-', gabc_content)
+ gabc_content = re.sub(r'-?(\s+|$)', ' ', gabc_content)
+ gabc_content = re.sub(r'[^a-záéíóæúýœǽ\u0301 -]', '', gabc_content, flags=re.IGNORECASE)
+ gabc_content = re.sub(r'(^|\s+)-', ' ', gabc_content)
+ return gabc_content.split()
+
+def get_file_list(path):
+ if os.path.isfile(path):
+ return [path]
+ elif os.path.isdir(path):
+ files = glob.glob(os.path.join(path, '**/*.gabc'), recursive=True)
+ files = sorted(files)
+ return files
+ else:
+ print('Error! Cannot find '+path, file=sys.stderr)
+ sys.exit(1)
+
+def check_file(filepath, hyphenator, outfd, report_no_error=False):
+ words_list = []
+ with open(filepath, 'r', encoding='utf8') as inputf:
+ words_list = get_words_list(inputf.read())
+ errors = checkwords(words_list, hyphenator)
+ nb_errors = len(errors)
+ if nb_errors > 0 or report_no_error :
+ outfd.write('analyzing '+filepath+':\n')
+ if nb_errors == 0:
+ outfd.write(' no error!\n')
+ else:
+ for t in errors:
+ outfd.write(' '+t[0]+' should be '+t[1]+'\n')
+ outfd.write('\n')
+ return nb_errors
+
+def main():
+ "Main function"
+ parser = get_parser()
+ if len(sys.argv) == 1:
+ parser.print_help()
+ sys.exit(1)
+ args = parser.parse_args()
+ hyphenator = pyphen.Pyphen(filename=args.pat_path,left=1,right=1)
+ outfd = sys.stdout
+ if args.outfile != False:
+ outfd = open(args.outfile, 'w', encoding='utf8')
+ file_list = get_file_list(args.path)
+ nb_errors = 0
+ for f in file_list:
+ nb_errors += check_file(f, hyphenator, outfd, args.verbose)
+ if len(file_list) > 1 and nb_errors > 0:
+ outfd.write('Total errors: '+str(nb_errors)+'\n')
+ elif nb_errors == 0 and not args.verbose:
+ outfd.write('No error!\n')
+ if outfd is not sys.stdout:
+ outfd.close()
+ if nb_errors == 0:
+ sys.exit(0)
+ else:
+ sys.exit(2)
+
+if __name__ == "__main__":
+ main()
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/gabc.lang b/Build/source/texk/gregorio/gregorio-src/contrib/gabc.lang
index 08258507fc0..dd2c0cf216f 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/gabc.lang
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/gabc.lang
@@ -2,7 +2,7 @@
<!--
Author: Elie Roux <elie.roux@telecom-bretagne.fr>
- Copyright (C) 2008 Elie Roux <elie.roux@telecom-bretagne.fr>
+ Copyright (C) 2008-2017 Elie Roux <elie.roux@telecom-bretagne.fr>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/gabc.vim b/Build/source/texk/gregorio/gregorio-src/contrib/gabc.vim
index 1c2c8101417..d00b413b5cb 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/gabc.vim
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/gabc.vim
@@ -15,7 +15,7 @@ syn match gabcBasicNote "[A-NP][01]\?" contained
syn match gabcAlteration "[\<\>~xy#vVwWqQR\-Ss\.+]" contained
syn match gabcAlteration "_[0-5]*" contained
syn match gabcAlteration "[oO'\.][01]\?" contained
-syn match gabcAlteration "r[0-5]\?" contained
+syn match gabcAlteration "r[0-8]\?" contained
syn match gabcClef "[cf]b\?[1-5]" contained
syn match gabcTextMarkup "</\?e>" contained
syn match gabcTextMarkup "</\?b>" contained
@@ -37,6 +37,9 @@ syn match gabcSpace "z[-+0]\?" contained
syn match gabcSpace "Z[-+]\?" contained
syn match gabcSpace "/\[[^\]]*\]" contained extend
syn match gabcCommand "@\@<!\[[^\]]*\]" contained extend
+syn match gabcCommand "[{}]" contained extend
+syn match gabcBracket "\[\[" contained
+syn match gabcBracket "\]\]" contained
syn region gabcComment start="%" end="$" keepend extend
syn region gabcAlt matchgroup=gabcTextMarkup start="<alt>" end="</alt>"
@@ -48,7 +51,7 @@ syn region gabcVerbatim matchgroup=gabcTextMarkup start="<v>" end="</v>"
syn region gabcNabc matchgroup=gabcNabcCut start="|" end="[|)]" keepend
syn cluster gabcFusible contains=gabcBasicNote,gabcAlteration,gabcBar,gabcSpace,
\gabcComment,gabcCommand,gabcNoteError,gabcFuse,
- \gabcTextOrNoteMarkup,gabcClef,gabcNabc
+ \gabcTextOrNoteMarkup,gabcClef,gabcNabc,gabcBracket
syn region gabcFuseGroup matchGroup=gabcFuseGroup start="@\[" end="\]"
\ contains=@gabcFusible,gabcFuseEnd contained keepend
syn region gabcNotes matchgroup=gabcNote start="(" end=")"
@@ -79,6 +82,7 @@ hi def link gabcCommand Type
hi def link gabcBar Special
hi def link gabcSpace Special
hi def link gabcNabcCut Delimiter
+hi def link gabcBracket Delimiter
hi def link gabcFuse Constant
hi def link gabcFuseGroup Constant
hi def link gabcFuseEnd Constant
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/gprocess b/Build/source/texk/gregorio/gregorio-src/contrib/gprocess
index 9136c66bc4b..a8f24092f1f 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/gprocess
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/gprocess
@@ -14,7 +14,7 @@
# --
#
# v0.1
-# Copyright (C) 2008 Richard Chonak <chonak@yahoo.com>
+# Copyright (C) 2008-2017 Richard Chonak <chonak@yahoo.com>
#
# This program is free software: you can redistribute it and/or modify
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/gregorio-scribus.lua b/Build/source/texk/gregorio/gregorio-src/contrib/gregorio-scribus.lua
deleted file mode 100644
index 540a40e40e1..00000000000
--- a/Build/source/texk/gregorio/gregorio-src/contrib/gregorio-scribus.lua
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env texlua
---[[
-Gregorio/Scribus script.
-Copyright (C) 2010 Elie Roux <elie.roux@telecom-bretagne.eu>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-You must run this program with texlua, if possible under TeXLive 2010 (or later).
-This program allows gregorio to be integrated in Scribus.
---]]
-
-require"lfs"
-
-local gregoriobin = 'gregorio-4_2_0' -- FILENAME_VERSION
-local lualatexbin = "lualatex"
-
-local function basename(name)
- return name and string.match(name,"^.+[/\\](.-)$") or name
-end
-
-local f = arg[1]
-local dir = arg[2]
-local current = ""
-
--- first we need to rebuild the arguments that are lost in pieces
-for i, a in ipairs(arg) do
- if a:sub(1,1) == '"' then
- if a:sub(-1,-1) == '"' then
- current = a:sub(2, -2)
- if not f then
- f = current
- else
- dir = current
- end
- else
- current = a:sub(2, -1)
- end
- elseif a:sub(-1,-1) == '"' then
- current = current..' '..a:sub(1, -2)
- if not f then
- f = current
- else
- dir = current
- end
- current = ""
- else
- current = current..' '..a
- end
-end
-
-if dir then
- lfs.chdir(dir)
-end
-
-local pathbase = basename(f)
-
-local fd = io.open(f, "r")
-local texfile = io.open(f..".tex", "w")
-local gabcfile = io.open(f.."-score.gabc", "w")
-for l in fd:lines() do
- if string.match(l, "^\\") then
- texfile:write(l..'\n')
- elseif l=="\n" then
- else
- gabcfile:write(l..'\n')
- end
-end
-
-local format = string.format
-
-texfile:write(format("\n\\gregorioscore{%s-score.gtex}\n\\end{document}\n", pathbase))
-texfile:close()
-gabcfile:close()
-
-print(format("calling 'gregorio %s-score.gabc'\n", f))
-os.remove(format("%s-score.gtex", f))
-os.spawn(format("%s %s-score.gabc", gregoriobin, pathbase))
-if not lfs.isfile(format("%s-score.gtex", pathbase)) then
- print("error: gregorio did not work as expected\n")
- exit(1)
-end
-
-print(format("calling 'lualatex --interaction nonstopmode %s.tex'\n", pathbase))
-os.spawn(format("%s --interaction=nonstopmode %s.tex", lualatexbin, pathbase))
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 f6d160cf1d2..effa1f772cb 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.bat
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.bat
@@ -96,6 +96,7 @@ gregoriotex-nabc.tex ^
gregoriotex-signs.tex ^
gregoriotex-spaces.tex ^
gregoriotex-syllable.tex ^
+gregoriotex-common.tex ^
gregoriotex-symbols.tex
for %%G in (%files%) do (
@@ -171,12 +172,24 @@ for %%G in (%files%) do (
:: Font Files
set files=greciliae.ttf ^
+greciliae-hollow.ttf ^
+greciliae-hole.ttf ^
greciliae-op.ttf ^
+greciliae-op-hollow.ttf ^
+greciliae-op-hole.ttf ^
greextra.ttf ^
gregorio.ttf ^
+gregorio-hollow.ttf ^
+gregorio-hole.ttf ^
gregorio-op.ttf ^
+gregorio-op-hollow.ttf ^
+gregorio-op-hole.ttf ^
granapadano.ttf ^
+granapadano-hollow.ttf ^
+granapadano-hole.ttf ^
granapadano-op.ttf ^
+granapadano-op-hollow.ttf ^
+granapadano-op-hole.ttf ^
gregall.ttf
for %%G in (%files%) do (
diff --git a/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.command b/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.command
index 3af3263d72f..a26c8c31ba8 100644
--- a/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.command
+++ b/Build/source/texk/gregorio/gregorio-src/contrib/system-setup.command
@@ -130,6 +130,7 @@ gregoriotex-spaces.tex
gregoriotex-syllable.tex
gregoriotex-symbols.lua
gregoriotex-symbols.tex
+gregoriotex-common.tex
gregoriotex.lua"
for f in $files
@@ -158,12 +159,24 @@ done
# Font Files
files="greciliae.ttf
+greciliae-hollow.ttf
+greciliae-hole.ttf
greciliae-op.ttf
+greciliae-op-hollow.ttf
+greciliae-op-hole.ttf
greextra.ttf
gregorio.ttf
+gregorio-hollow.ttf
+gregorio-hole.ttf
gregorio-op.ttf
+gregorio-op-hollow.ttf
+gregorio-op-hole.ttf
granapadano.ttf
+granapadano-hollow.ttf
+granapadano-hole.ttf
granapadano-op.ttf
+granapadano-op-hollow.ttf
+granapadano-op-hole.ttf
gregall.ttf"
for f in $files
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex b/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex
index 7c5cd65747a..843cbefcb6f 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -24,60 +24,66 @@
\subsection{Score Font Glyphs}
-The following table lists all of the score glyphs available in the greciliae,
-gregorio, and granapadano fonts, and any variant glyphs contained within. If a
-variant glyph is unavailable in a given font, it will be listed as
-{\itshape\small N/A} under the appropriate column. Some of the glyphs listed
-are representative of sets of glyphs differentiated by the ambitus of the
-component notes. These are listed with English words for the numbers in
-italics, such as {\itshape TwoTwo}. The gabc column lists a gabc sequence that
-uses the given glyph. If there are small, slanted characters, such as
-\excluded{gege} in this column, they produce glyphs additional to the given
-glyph, but are necessary for the given glyph to appear. Note: glyphs for the
-horizontal episema (activated using {\ttfamily\char`_} in gabc) are excluded from
-this table.
+The following table lists all of the score glyphs available in the greciliae
+font and any variant glyphs contained within. Some of the glyphs listed are
+representative of sets of glyphs differentiated by the ambitus of the component
+notes. These are listed with English words for the numbers in italics, such as
+{\itshape TwoTwo}. The gabc column lists a gabc sequence that uses the given
+glyph. If there are small, slanted characters, such as \excluded{gege} in this
+column, they produce glyphs additional to the given glyph, but are necessary
+for the given glyph to appear. Note: glyphs for the horizontal episema
+(activated using {\ttfamily\char`_} in gabc) are excluded from this table.
\newcommand\ScoreFontTable[1]{%
- \begin{longtable}{llccccccc}
+ \begin{longtable}{llc|cc|lc|cc}
\caption{Score Glyphs}\\
- &&&&&\multicolumn{4}{c}{\bfseries Variants}\\
- \hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
+ &
+ &%
+ &%
+ \multicolumn{2}{c|}{\bfseries Variants}&
+ \multicolumn{2}{c|}{\bfseries Cavum}&
+ \multicolumn{2}{c}{\bfseries Cavum Variants}\\
+ \hhline{>{\arrayrulecolor{lightgray}}--->{\arrayrulecolor{black}}------}
{\bfseries Glyph Name}&%
{\scriptsize\bfseries Sample gabc}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries granapadano}&%
+ {\scriptsize\bfseries Glyph}&%
{\scriptsize\bfseries Name}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries granapadano}\\
+ {\scriptsize\bfseries Glyph}&%
+ {\scriptsize\bfseries Sample gabc}&%
+ {\scriptsize\bfseries Glyph}&%
+ {\scriptsize\bfseries Name}&%
+ {\scriptsize\bfseries Glyph}\\
\hline
\endfirsthead
- &&&&&\multicolumn{4}{c}{\bfseries Variants}\\
- \hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
+ &%
+ &%
+ &%
+ \multicolumn{2}{c|}{\bfseries Variants}&
+ \multicolumn{2}{c|}{\bfseries Cavum}&
+ \multicolumn{2}{c}{\bfseries Cavum Variants}\\
+ \hhline{>{\arrayrulecolor{lightgray}}--->{\arrayrulecolor{black}}------}
{\bfseries Glyph Name}&%
{\scriptsize\bfseries Sample gabc}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries granapadano}&%
+ {\scriptsize\bfseries Glyph}&%
+ {\scriptsize\bfseries Name}&%
+ {\scriptsize\bfseries Glyph}&%
+ {\scriptsize\bfseries Sample gabc}&%
+ {\scriptsize\bfseries Glyph}&%
{\scriptsize\bfseries Name}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries granapadano}\\
+ {\scriptsize\bfseries Glyph}\\
\hline
\endhead
\directlua{GregorioRef.emit_score_glyphs(#1)}
\end{longtable}
}%
-\ScoreFontTable{'greciliae','gregorio','granapadano'}
+\ScoreFontTable{'greciliae', 'greciliaeHollow'}
\subsection{Dominican Score Font Glyphs}
The following table lists all of the score glyphs available in the Dominican
-versions of the greciliae, gregorio, and granapadano fonts in the same vein as
-the prior table.
+versions of the greciliae fonts in the same vein as the prior table.
-\ScoreFontTable{'greciliaeOp','gregorioOp','granapadanoOp'}
+\ScoreFontTable{'greciliaeOp', 'greciliaeOpHollow'}
\subsection{Extra Glyphs}\label{subsec:greextra}
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 f184d97d212..bf897bf711c 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
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -38,7 +38,7 @@ The optional arguments are:
\begin{tabular}{lp{10cm plus .5cm}}
Argument & Description \\
\hline
- \texttt{debug} & Debug messages will be printed to the output log. Can also be specified as \verb:debug={<types>}:, in which case only messages of the types listed will be printed to the output log.\\
+ \texttt{debug} & Debug messages will be printed to the output log. Can also be specified as \verb:debug={<types>}:, in which case only messages of the categories (see \nameref{DebugCategory}) listed will be printed to the output log.\\
\hline
\texttt{nevercompile} & Default. The classic behavior of Gregorio\TeX. The user is %
responsible for compiling gabc scores into gtex files.\\
@@ -271,12 +271,18 @@ Macro to change one of Gregorio\TeX’s distances. This function will check to
Changes one of Gregorio\TeX’s distances for a given line in the next included score. This works with \texttt{spaceabovelines}, \texttt{spacebeneathtext}, and \texttt{spacelinestext}.
\begin{argtable}
- \#1 & integer & The number of the line in the next score to be adjusted.\\
- \#2 & string & The name of the distance to be changed. See \nameref{distances} below.\\
- \#3 & string & The distance in string format. \textbf{Note:} You cannot use a length register for this argument. You \emph{must} use a string because of the way that Gregorio\TeX\ handles spaces.\\
+ \#1 & list of integers & A comma-separated list of line numbers in the next
+ score to be adjusted.\\
+ \#2 & string & The name of the distance to be changed. See
+ \nameref{distances} below.\\
+ \#3 & string & The distance in string format. \textbf{Note:} You cannot use
+ a length register for this argument. You \emph{must} use a
+ string because of the way that Gregorio\TeX\ handles spaces.\\
\#4 & \texttt{fixed} & Distance will not scale when staff size is changed.\\
& \texttt{scalable} & Distance will scale when staff size is changed.\\
- & \texttt{inherited} & Distance will inherit its value from another distance. When this argument is used, then \#3 should be the name of another Gregorio\TeX\ distance.
+ & \texttt{inherited} & Distance will inherit its value from another
+ distance. When this argument is used, then \#3 should
+ be the name of another Gregorio\TeX\ distance.
\end{argtable}
\macroname{\textbackslash grescaledim}{\{\#1\}\{\#2\}}{gregoriotex-spaces.tex}
@@ -298,6 +304,17 @@ Macro to change one of Gregorio\TeX’s counts or penalities (numeric values).
\#2 & integer & The new value.\\
\end{argtable}
+\macroname{\textbackslash grechangenextscorelinecount}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-spaces.tex}
+Changes one of Gregorio\TeX’s counts or penalties for a given line in the next included score.
+
+\begin{argtable}
+ \#1 & list of integers & A comma-separated list of line numbers in the next
+ score to be adjusted.\\
+ \#2 & string & The name of the count to be changed. See \nameref{counts} and
+ \nameref{penalties} below.\\
+ \#3 & integer & The new value.\\
+\end{argtable}
+
\macroname{\textbackslash greloadspaceconf}{\{\#1\}}{gregoriotex-spaces.tex}
Macro to load a space configuration file. Space configuration file names have the format \verb=gsp-identifier.tex= and must be in the same directory as your project or in your texmf directory.
@@ -436,6 +453,14 @@ This function is the same as above, with a third argument to scale the font. The
The two first arguments are the same as \texttt{\textbackslash gresetgregoriofont}. The third argument is an integer representing the scaling factor, where the one used by \texttt{\textbackslash gresetgregoriofont} is 100000.
+\macroname{\textbackslash greloadholehollowfonts}{\{\#1\}}{gregoriotex-main.tex}
+
+If set to false, will not load the \texttt{hollow} and \texttt{hole} variants of the next font to load. Use it before loading third party fonts not having these variants (rare case).
+
+\begin{argtable}
+ \#1 & string & \texttt{true} or \texttt{false}.\\
+\end{argtable}
+
\subsubsection{Glyph Alteration}
In addition to the normal glyphs loaded by the choice of font, Gregorio\TeX\ also supports several methods for fine tuning the choice of glyphs. Using the below functions, you can choose from alternative glyphs which are already built into Gregorio\TeX\ or import custom glyphs you have designed yourself.
@@ -496,6 +521,36 @@ form, use the following:\par\medskip
\greresetglyph{TorculusResupinus*}
\end{latexcode}
+\macroname{\textbackslash grechangecavumglyph}{\{\#1\}\{\#2\}\{\#3\}[\optional{\#4}][\optional{\#5}]}{gregoriotex-main.tex}
+Substitutes the given Gregorio\TeX\ score cavum glyphs with the specified glyphs
+from the specified font.
+
+\begin{argtable}
+ \#1 & string & The name of the Gregorio\TeX\ glyph to replace.\\
+ \#2 & string & The name of the font to use for the cavum glyph.\\
+ \#3 & number & The code point of the cavum glyph to use.\\
+ & \texttt{.}string & The name of the variant (appended to \#1) to use for the cavum glyph.\\
+ & string & (any other string) The name of the cavum glyph to use.\\
+ \#4 & string & The name of the font to use for the glyph to fill in the cavum hole.\\
+ \#5 & number & The code point of the glyph to use to fill in the cavum hole.\\
+ & \texttt{.}string & The name of the variant (appended to \#1) to use to fill in the the cavum hole.\\
+ & string & (any other string) The name of the glyph to use to fill in the cavum hole.\\
+\end{argtable}
+
+\textbf{Nota Bene:} The usage of wildcards (\texttt{*}s) for \texttt{\#1},
+\texttt{\#2}, and \texttt{\#4} is similar to \verb=\grechangeglyph=.
+
+\macroname{\textbackslash greresetcavumglyph}{\{\#1\}}{gregoriotex-main.tex}
+Removes a pair of Gregorio\TeX\ score cavum glyph substitution, restoring them
+back to their original form.
+
+\begin{argtable}
+ \#1 & string & The name of the Gregorio\TeX\ cavum glyph to restore.\\
+\end{argtable}
+
+\textbf{Nota Bene:} The usage of wildcards (\texttt{*}s) for \texttt{\#1} is
+similar to \verb=\greresetcavumglyph=.
+
\macroname{\textbackslash gredefsymbol}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-symbols.tex}
Defines (or redefines) a \TeX\ control sequence to be a non-score symbol.
If defined this way, the symbol will scale with the text font.
@@ -729,7 +784,8 @@ Different elements of an include score have different styles applied. These ele
\stylename{abovelinestext} & above line text (\texttt{<alt></alt>} in gabc, appears above the staff) & normal\\
\stylename{additionalstafflines} & short lines behind notes above or below the staff & special\footnotemark[1]\\
\stylename{annotation} & the annotation & none\\
- \stylename{commentary} & the commentary & {\footnotesize\it footnote-size italics}\\
+ \stylename{commentary} & the commentary & {\footnotesize\it footnote-size italics} (\LaTeX)\\
+ && {\textit{italics}} (Plain \TeX)\\
\stylename{elision} & elisions (\texttt{<e></e>} 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\\
@@ -913,6 +969,40 @@ for ligaturing based on \TeX{} and font settings.
syllables.\\
\end{argtable}
+\macroname{\textbackslash gresetprotrusionfactor}{\{\#1\}\{\#2\}}{gregoriotex-spaces.tex}
+Sets a global protrusion factor. Depending on the first argument, these
+protrusion factors will be used for various characters as well as for
+\verb=<pr>= tags with no specified protrusion factor. A protrusion factor of 0
+means no protrusion and 1 means full protrusion. Any floating-point value from
+0 to 1 is allowed. All of these global protrusion factors may be set in
+gsp-default.tex or in your own \TeX\ files.
+
+\begin{argtable}
+ \#1 & \texttt{,} & Sets the automatic protrusion factor for a comma at
+ the end of a syllable. Default is
+ \GreProtrusionFactor{comma}.\\
+ & \texttt{;} & Sets the automatic protrusion factor for a
+ semicolon at the end of a syllable. Default is
+ \GreProtrusionFactor{semicolon}.\\
+ & \texttt{:} & Sets the automatic protrusion factor for a colon at
+ the end of a syllable. Default is
+ \GreProtrusionFactor{colon}.\\
+ & \texttt{.} & Sets the automatic protrusion factor for a period
+ at the end of a syllable. Default is
+ \GreProtrusionFactor{period}.\\
+ & \texttt{eolhyphen} & Sets the protrusion factor for a hyphen at
+ the end of a line. Default is
+ \GreProtrusionFactor{eolhyphen}. This protrusion
+ factor only applies to hyphens inserted by the Lua
+ pass), so use it with caution.\\
+ & \texttt{default} & Sets the default protrusion factor for a
+ \verb=<pr>= tag in gabc. Default is
+ \GreProtrusionFactor{default}.\\
+ \#2 & factor & The desired protrusion factor, a floating point
+ value from 0 (no protrusion) to 1 (full
+ protrusion). See defaults above.\\
+\end{argtable}
+
\subsubsection{End of Line Behavior}
While Gregorio\TeX\ will automatically wrap scores to fit your page, there are several ways to fine tune that line breaking behavior with the following commands.
@@ -996,6 +1086,26 @@ Macro to determine whether Gregorio\TeX\ should apply a small shift at the begin
& \texttt{disable} & The shifts are not applied.
\end{argtable}
+\macroname{\textbackslash grebolshiftcleftype}{\{\#1\}}{gregoriotex-spaces.tex}
+Macro to determine how notes should be left aligned in the case where clefs of different widths appear in the same score.
+
+\begin{argtable}
+ \#1 & \texttt{largest} & The notes are aligned as if all clefs had the width of the largest clef (default)\\
+ & \texttt{current} & The notes are aligned on the current clef, which leads to unaligned notes. This was the default of Gregorio < \texttt{5.0}.
+\end{argtable}
+
+\macroname{\textbackslash grelocalbolshiftcleftype}{\{\#1\}}{gregoriotex-spaces.tex}
+Equivalent of \verb=\grebolshiftcleftype= but valid only until the next end of a score, and with more options. This can be used before a score or even inside a \verb=<v>verbatim</v>= in gabc for corner cases like different alignment on a score taking two pages.
+
+\begin{argtable}
+ \#1 & \texttt{largest} & The notes are aligned as if all clefs had the width of the largest clef (default)\\
+ & \texttt{current} & The notes are aligned on the current clef, which leads to unaligned notes\\
+ & \texttt{f} & Force left alignment of notes as if all clef were f clef\\
+ & \texttt{c} & Idem with c clef\\
+ & \texttt{fb} & Idem with flatted f clef\\
+ & \texttt{cb} & Idem with flatted c clef\\
+\end{argtable}
+
\macroname{\textbackslash gresetlastline}{\{\#1\}}{gregoriotex-main.tex}
Macro to determine whether the last line of the score should be justified or not.
@@ -1056,6 +1166,15 @@ Sets the visibility of the notes.
\textbf{Nota Bene:} If the notes are set to be invisible, then bar lines, rythmic signs, and the like will also be invisible. However, the staff lines and clefs will still show up (since their visibility is controlled by other settings).
+\macroname{\textbackslash gresetnabc}{\{\#1\}\{\#2\}}{gregoriotex-nabc.tex}
+Sets the visibility of a nabc voice.
+
+\begin{argtable}
+ \#1 & integer & The nabc voice number.\\
+ \#2 & \texttt{visible} & Notes are visible (default).\\
+ & \texttt{invisible} & Notes are not visible.\\
+\end{argtable}
+
\macroname{\textbackslash greprintsigns}{\{\#1\}\{\#2\}}{gregoriotex-signs.tex}
Macro to prevent rythmic signs from printing (all signs are printed by default):
@@ -1096,15 +1215,6 @@ Marco to determine how much space the hyphen at the end of a line occupies for t
& \texttt{zero} & The hyphen is considered to take up no space
\end{argtable}
-\macroname{\textbackslash gresethyphenprotrusion}{\{\#1\}}{gregoriotex-spaces.tex}
-Sets the protrusion factor of hyphens at end of lines. The default value is 50, a good compromise in the tested scores.
-
-\begin{argtable}
- \#1 & \texttt{number} & The protrusion factor, percent
-\end{argtable}
-
-Note that a proper interface for setting protrusion factor of punctuation signs might appear in the next version, deprecating this one. Also, this protrusion factor does not apply to all hyphens (only those inserted by the Lua pass), so use it with caution.
-
\subsubsection{Clef Visibility}
\macroname{\textbackslash gresetclef}{\{\#1\}}{gregoriotex-signs.tex}
@@ -1241,10 +1351,10 @@ Each of the following counts controls some aspect of the configuration of the Gr
\begin{gcount}{additionaltopspacethreshold}
The threshold above which we start accounting notes above lines for additional
-vertical space. For instance with a threshold of \texttt{2}, notes with a pitch
-of \texttt{k} and \texttt{l} will not interfere with the space above lines.
-Set it to a high value if you don't want high notes to interfere with space
-above lines.
+vertical space. For instance with a threshold of \texttt{2} and four line
+staves, notes with a pitch of \texttt{k} and \texttt{l} will not interfere with
+the space above lines. Set it to a high value if you don't want high notes to
+interfere with space above lines.
\end{gcount}
\begin{gcount}{additionaltopspacealtthreshold}
@@ -1258,6 +1368,13 @@ notes taken into account with above lines nabc neume vertical placement
baseline.
\end{gcount}
+\begin{gcount}{noteadditionalspacelinestextthreshold}
+The number of low notes which will add on the
+\texttt{noteadditionalspacelinestext} space. For instance, with a threshold of
+\texttt{2}, every note below \texttt{c} will add {noteadditionalspacelinestext}
+space for each pitch needed below \texttt{c}, accounting for the various signs.
+\end{gcount}
+
\subsection{Distances}\label{distances}
Each of the following distances controls some aspect of the spacing of the Gregorio\TeX\ score. They are changed using \verb=\grechangedim=, documented above. If the distance permits a rubber value, then the default value will indicate the stretch and shrink (even if they are zero by default). Distances whose default value does not include a stretch or shrink may not take a rubber value.
@@ -1498,6 +1615,10 @@ Minimal space in front of the lyrics at the beginning of a line when \texttt{bol
Space to force the initial width to. Ignored when 0.
\end{gdimension}
+\begin{gdimension}{minimalinitialwidth}
+Minimum width of the initial. Ignored when \texttt{manualinitialwidth} is non-zero.
+\end{gdimension}
+
\begin{gdimension}{annotationseparation}
This space is the one between lines in the annotation (text above the initial).
@@ -1553,6 +1674,11 @@ The space above the lines.
The space between the lines and the bottom of the text.
\end{gdimension}
+\begin{gdimension}{noteadditionalspacelinestext}
+The space added between the lines and the bottom of the text for every pitch
+below the \texttt{noteadditionalspacelinestextthreshold}.
+\end{gdimension}
+
\begin{gdimension}{spacebeneathtext}
The space beneath the text.
\end{gdimension}
@@ -1566,7 +1692,7 @@ Height that is added at the top of the lines if there is text above the lines (i
\end{gdimension}
\begin{gdimension}{braceshift}
-An additional shift you can give to the brace above the bars.
+An additional shift you can give to the brace above the staff.
\end{gdimension}
\begin{gdimension}{curlybraceaccentusshift}
@@ -1657,6 +1783,16 @@ Vertical distance to place a punctum mora for the second note in a porrectus (or
Distance to place a ``rare'' sign above the top space in a score.
\end{gdimension}
+\begin{gdimension}{bracketupshift}
+Distance to shift a bracket up when the lowest note in the brackets is on a
+line or below the staff.
+\end{gdimension}
+
+\begin{gdimension}{bracketdownshift}
+Distance to shift a bracket down when the lowest note in the brackets is
+neither on a line nor below the staff.
+\end{gdimension}
+
\begin{gdimension}{parskip}
The effective \verb=\parskip= inside of a score.
\end{gdimension}
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 8daeb7b93a7..c768db685f3 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
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -38,7 +38,7 @@ respecting the annotation value in the \texttt{main.tex} file.
\#2 & string & Second line text to place above the initial.\\
\end{argtable}
-\macroname{\textbackslash GreBeginScore}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-main.tex}
+\macroname{\textbackslash GreBeginScore}{\#1\#2\#3\#4\#5\#6\#7\#8}{gregoriotex-main.tex}
Macro to start a score.
\begin{argtable}
@@ -51,6 +51,8 @@ Macro to start a score.
& 1 & there is above lines text somewhere in the score\\
\#6 & string & the absolute filename of the gabc file if point-and-click is enabled\\
\#7 & integer & the number of staff lines\\
+ \#8 & \TeX\ code & macros to run before the score (\eg, setting clef
+ extrema)\\
\end{argtable}
\macroname{\textbackslash GreEndScore}{}{gregoriotex-main.tex}
@@ -67,14 +69,14 @@ Macro for typesetting an accentus.
\begin{argtable}
\#1 & integer & height number of episema\\
- \#2 & string & Type of glyph the episema is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#2 & string & Type of glyph the episema is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
\macroname{\textbackslash GreAdditionalLine}{\#1\#2\#3}{gregoriotex-signs.tex}
Macro to typeset the additional line above or below the staff.
\begin{argtable}
- \#1 & string & See \nameref{EpisemaSpecial}.\\
+ \#1 & string & See \Nameref{NoteOffset}.\\
\#2 & integer & The ambitus of the porrectus or porrectus flexus if the first references these glyph types; ignored otherwise.\\
\#3 & integer & Set horizontal episema (0), horizontal episema under a note (1), line at top of staff (2), line at bottom of staff (3), choral sign (4).\\
\end{argtable}
@@ -102,7 +104,7 @@ Macro for typesetting an augmentum duplex (a pair of punctum mora)
Macro for typesetting a bar brace.
\begin{argtable}
- \#1 & string & Type of glyph the episema is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#1 & string & Type of glyph the episema is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
\macroname{\textbackslash GreBarSyllable}{\#1\#2\#3\#4\#5\#6\#7\#8\#9}{gregoriotex-syllable.tex}
@@ -125,7 +127,7 @@ Macro for typesetting a bar syllable.
Macro to typeset a vertical episema on a bar.
\begin{argtable}
- \#1 & string & Type of glyph the episema is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#1 & string & Type of glyph the episema is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
\macroname{\textbackslash GreBeginEUOUAE}{\#1}{gregoriotex-main.tex}
@@ -152,6 +154,18 @@ Makes argument bold. Accesses \LaTeX\ \verb=\textbf= (\textit{gregoriotex.sty})
\#1 & string & Text to be typeset in bold.\\
\end{argtable}
+\macroname{\textbackslash GreBracket}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
+Typesets a bracket.
+
+\begin{argtable}
+ \#1 & \texttt{0} & Typeset a left bracket.\\
+ & \texttt{1} & Typeset a right bracket.\\
+ \#2 & integer & The height of the lowest note within the brackets.\\
+ \#3 & integer & The height of the highest note within the brackets.\\
+ \#4 & string & the line, byte offset, and column address for textedit
+ links when point-and-click is enabled.\\
+\end{argtable}
+
\macroname{\textbackslash GreChangeClef}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-signs.tex}
Macro called when key changes
@@ -171,9 +185,12 @@ Macro for typesetting a circulus.
\begin{argtable}
\#1 & integer & Height number of circulus.\\
- \#2 & string & Type of glyph the circulus is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#2 & string & Type of glyph the circulus is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
+\macroname{\textbackslash GreClearSyllableText}{\#1\#2}{gregoriotex-syllable.tex}
+Macro indicating that the text in this syllable should not overlap any previous syllable.
+
\macroname{\textbackslash GreColored}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Colors argument (a string) in \verb=gregoriocolor.= Corresponds to ``<c></c>'' tags in gabc. Does nothing in Plain \TeX\ because color is not supported there.
@@ -189,6 +206,19 @@ defined and re-defined by the \verb=\gresetgregoriofont= macro.
\macroname{\textbackslash GreCP...}{}{gregoriotex-main.tex}
A class of macros which point to the individual characters in a Gregoiro\TeX\ compatible font. This class of macros is dynamically mapped from the glyph names embedded in the \texttt{ttf} file via a Lua script to ensure that the code points match up with the installed font.
+\macroname{\textbackslash GreHollowCP...}{}{gregoriotex-main.tex}
+A class of macros which point to the individual characters in a Gregoiro\TeX\ compatible cavum neume font. This class of macros is dynamically mapped from the glyph names embedded in the \texttt{ttf} file via a Lua script to ensure that the code points match up with the installed font.
+
+\macroname{\textbackslash GreHoleCP...}{}{gregoriotex-main.tex}
+A class of macros which point to the individual characters in a Gregoiro\TeX\ compatible cavum neume hole font. This class of macros is dynamically mapped from the glyph names embedded in the \texttt{ttf} file via a Lua script to ensure that the code points match up with the installed font.
+
+\macroname{\textbackslash GreCavum}{\#1}{gregoriotex-signs.tex}
+Typesets a cavum glyph.
+
+\begin{argtable}
+ \#1 & string & The name of the cavum glyph.\\
+\end{argtable}
+
\macroname{\textbackslash GreCustos}{\#1\#2}{gregoriotex-signs.tex}
Typesets a custos.
@@ -489,7 +519,7 @@ Macro to typeset an horizontal episema.
\begin{argtable}
\#1 & integer & Height number of the episema.\\
- \#2 & string & See \nameref{EpisemaSpecial}.\\
+ \#2 & string & See \Nameref{NoteOffset}.\\
\#3 & integer & The ambitus for a two note episema at the diagonal stroke of a
porrectus, porrectus flexus, orculus resupinus, or torculus resupinus
flexus.\\
@@ -570,6 +600,15 @@ Same as \verb=\GreDivisioMinor= except inside a syllable.
\macroname{\textbackslash GreInDominica}{\#1\#2\#3}{gregoriotex-signs.tex}
Same as \verb=\GreDominica= except inside a syllable.
+\macroname{\textbackslash GreInitialClefPosition}{\#1\#2}{gregoriotex-signs.tex}
+Saves the extrema of the initial clef.
+
+\begin{argtable}
+ \#1 & integer & the line of the primary clef (1 is the bottom line)\\
+ \#2 & integer & the line of the secondary clef (1 is the bottom line, 0 means
+ no secondary clef)\\
+\end{argtable}
+
\macroname{\textbackslash GreInVirgula}{\#1\#2\#3}{gregoriotex-signs.tex}
Same as \verb=\GreVirgula= except inside a syllable.
@@ -597,27 +636,6 @@ Indicates that this syllable is the last syllable before a EUOUAE block.
& \texttt{1} & There is a line break between this syllable and the beginning of the EUOUAE block.\\
\end{argtable}
-\macroname{\textbackslash GreLinea}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro for typesetting a linea.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
-\end{argtable}
-
-\macroname{\textbackslash GreLineaPunctumCavum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a linea punctum cavum.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
-\end{argtable}
-
\macroname{\textbackslash GreLowChoralSign}{\#1\#2\#3}{gregoriotex-signs.tex}
Macro for typesetting low choral signs.
@@ -641,6 +659,30 @@ is used, then this function does nothing.
\#3 & \TeX\ code & Arbitrary code to typeset, in the \texttt{modedifferentia} style, after \#2.\\
\end{argtable}
+\macroname{\textbackslash GreMusicaFictaFlat}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting a musica ficta flat.
+
+\begin{argtable}
+ \#1 & integer & Height number of the musica ficta flat.\\
+ \#2 & string & Type of glyph the musica ficta flat is attached to. See \Nameref{NoteOffset} for a description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreMusicaFictaNatural}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting a musica ficta natural.
+
+\begin{argtable}
+ \#1 & integer & Height number of the musica ficta natural.\\
+ \#2 & string & Type of glyph the musica ficta natural is attached to. See \Nameref{NoteOffset} for a description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreMusicaFictaSharp}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting a musica ficta sharp.
+
+\begin{argtable}
+ \#1 & integer & Height number of the musica ficta sharp.\\
+ \#2 & string & Type of glyph the musica ficta sharp is attached to. See \Nameref{NoteOffset} for a description of options.\\
+\end{argtable}
+
\macroname{\textbackslash GreNatural}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
Macro to typeset a natural.
@@ -674,6 +716,14 @@ where this macro is called.
& \textit{empty} & The custos should not have an alteration.\\
\end{argtable}
+\macroname{\textbackslash GreSuppressEolCustos}{}{gregoriotex-main.tex}
+Macro which disables automatic custos at the end of lines.
+
+\macroname{\textbackslash GreResetEolCustos}{}{gregoriotex-main.tex}
+Alias that resets the use of automatic custos to the value set by
+\verb=\greseteolcustos=. This macro is aliased to \verb=\gre@useautoeolcustos=
+or \verb=\GreSuppressEolCustos= by \verb=\greseteolcustos=.
+
\macroname{\textbackslash GreNextSyllableBeginsEUOUAE}{\#1\#2}{gregoriotex-syllable.tex}
Indicates that the syllable which follows begins a EUOUAE block.
@@ -743,40 +793,23 @@ Macro to typeset a curly brace above the lines.
& \texttt{1} & Typeset an accentus above the brace.
\end{argtable}
-\macroname{\textbackslash GrePunctumCavum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a punctum cavum.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
-\end{argtable}
-
-\macroname{\textbackslash GrePunctumCavumInclinatum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a punctum cavum inclinatus.
+\macroname{\textbackslash GreProtrusion}{\#1\#2}{gregoriotex-spaces.tex}
+Typesets a protrusion.
\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
+ \#1 & float & The protrusion factor. May be a call to \verb=\GreProtrusionFactor=\\
+ \#2 & \TeX\ code & The content of the protrusion.\\
\end{argtable}
-\macroname{\textbackslash GrePunctumCavumInclinatumAuctus}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a punctum cavum inclinatus auctus.
+\macroname{\textbackslash GreProtrusionFactor}{\#1}{gregoriotex-spaces.tex}
+Returns a automatic protrusion factor. The argument is character whose
+automatic protrusion factor is desired.
\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
+ \#1 & \texttt{,} & The comma protrusion factor.\\
+ & \texttt{;} & The semicolon protrusion factor.\\
+ & \texttt{:} & The colon protrusion factor.\\
+ & \texttt{.} & The period protrusion factor.\\
\end{argtable}
\macroname{\textbackslash GrePunctumMora}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
@@ -799,7 +832,7 @@ Macro for typesetting a reversed accentus.
\begin{argtable}
\#1 & integer & Height number of accentus.\\
- \#2 & string & Type of glyph the accentus is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#2 & string & Type of glyph the accentus is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
\macroname{\textbackslash GreReversedSemicirculus}{\#1\#2}{gregoriotex-signs.tex}
@@ -807,7 +840,7 @@ Macro for typesetting a reversed semicirculus.
\begin{argtable}
\#1 & integer & Height number of semicirculus.\\
- \#2 & string & Type of glyph the semicirculus is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#2 & string & Type of glyph the semicirculus is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
\macroname{\textbackslash GreScoreOpening}{\#1\#2\#3\#4\#5}{gregoriotex-syllable.tex}
@@ -826,7 +859,7 @@ Macro for typesetting a semicirculus.
\begin{argtable}
\#1 & integer & Height number of semicirculus.\\
- \#2 & string & Type of glyph the semicirculus is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#2 & string & Type of glyph the semicirculus is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
\macroname{\textbackslash GreSetFirstSyllableText}{\#1\#2\#3\#4\#5\#6}{gregoriotex-syllable.tex}
@@ -888,7 +921,7 @@ Macro for writing initial clef.
\#7 & integer & \texttt{0} if clef and first note are far enough to use a shorter space, 1 otherwise.\\
\end{argtable}
-\macroname{\textbackslash GreSetLinesClef}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-main.tex}
+\macroname{\textbackslash GreSetLinesClef}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-signs.tex}
Macro to define the clef that will appear at the beginning of the lines.
\begin{argtable}
@@ -902,6 +935,11 @@ Macro to define the clef that will appear at the beginning of the lines.
\#7 & integer & Height of flat in secondary clef (\texttt{3} for no flat).\\
\end{argtable}
+\macroname{\textbackslash GreSetLargestClef}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
+Macro defining the largest clef of the score (for notes left alignment).
+The arguments are the same as \verb=\GreSetInitialClef= without the \#7th one, which is always considered
+to be \texttt{1}.
+
\macroname{\textbackslash GreSetNabcAboveLines}{\#1}{gregoriotex-main.tex}
Macro to place argument containing Nabc neumes above the lines and empty
\verb=\gre@currenttextabovelines= when done.
@@ -1084,7 +1122,7 @@ Macro for typesetting the vertical episema.
\begin{argtable}
\#1 & integer & Height number of episema.\\
- \#2 & string & Type of glyph the episema is attached to. See \nameref{EpisemaSpecial} argument for description of options.\\
+ \#2 & string & Type of glyph the episema is attached to. See \Nameref{NoteOffset} for a description of options.\\
\end{argtable}
\macroname{\textbackslash GreVirgula}{\#1\#2\#3}{gregoriotex-signs.tex}
@@ -1122,12 +1160,14 @@ Macro used to prevent a line break from occurring at a given position.
\macroname{\textbackslash GreScoreId}{}{gregoriotex-main.tex}
A Lua\TeX\ attribute which designates a unique identifier for each score.
-\macroname{\textbackslash GreNABCNeumes}{\#1\#2}{gregoriotex-nabc.tex}
+\macroname{\textbackslash GreNABCNeumes}{\#1\#2\#3\#4}{gregoriotex-nabc.tex}
Macro to print a nabc character above the lines.
\begin{argtable}
\#1 & integer & the line on which the character should appear (currently unused)\\
\#2 & string & The \texttt{nabc} syntax which indicates what neumes are to be printed\\
+ \#3 & integer & The high pitch of the notes covered by the nabc character(s).\\
+ \#4 & integer & The low pitch of the notes covered by the nabc character(s).\\
\end{argtable}
\macroname{\textbackslash GreNABCChar}{\#1}{gregoriotex-nabc.tex}
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 18f050c3006..e72551dd12c 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
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -47,7 +47,7 @@ Executes \MP{} commands using luamplib.
\#1 & \MP{} commands & The \MP{} commands to execute.
\end{argtable}
-\macroname{\textbackslash gre@deprecated}{\#1\#2}{gregoriotex-main.tex}
+\macroname{\textbackslash gre@deprecated}{\#1\#2}{gregoriotex-common.tex}
Macro that handles deprecation messages. By default, deprecated macros
are allowed and a warning is printed. If the package option
\texttt{deprecated=false} is set, then deprecated macros raise a
@@ -58,7 +58,7 @@ package error, halting \TeX.
\#2 & string & name of the correct macro to use\\
\end{argtable}
-\macroname{\textbackslash gre@obsolete}{\#1\#2}{gregoriotex-main.tex}
+\macroname{\textbackslash gre@obsolete}{\#1\#2}{gregoriotex-common.tex}
Macro that handles obsolescence errors.
\begin{argtable}
@@ -161,6 +161,7 @@ Calculates the raise value for a glyph (glyphraisevalue) based on where it is to
& \texttt{14} & case of the punctum mora in a space with a note on the line below it\\
& \texttt{15} & case of the over-the-notes slur\\
& \texttt{16} & case of the under-the-notes slur\\
+ & \texttt{17} & case of the bracket\\
\#3 & \texttt{0} & for horizontal episema cases, use automatic positioning within the space\\
& \texttt{1} & for horizontal episema cases, position in the middle of the space\\
& \texttt{2} & for horizontal episema cases, position low within the space as if the episema is over the note\\
@@ -200,7 +201,7 @@ The formula used is \verb=#1 - #2 + #3 - #4= or (more sensibly) \verb=(#1 - #4)
Change the scale of a single distance from one factor to another.
\begin{argtable}
- \#1 & string & name of the distance to be scaled. See \nameref{distances}.\\
+ \#1 & string & name of the distance to be scaled. See \Nameref{distances}.\\
\#2 & integer & the factor the distance is currently in\\
\#3 & integer & the factor the distance is to be put into\\
\end{argtable}
@@ -221,7 +222,7 @@ Macro to calculate \texttt{nextbegindifference}.
\#2 & string & the first letters of the next syllable\\
\#3 & string & the middle letters of the next syllable (the vowel in Latin, the whole syllable in English)\\
\#4 & string & the end letters of the next syllable\\
- \#5 & $0 \le$ integer $\le 19$ & the type of notes alignment. See \nameref{notesalign}.\\
+ \#5 & $0 \le$ integer $\le 19$ & the type of notes alignment. See \Nameref{notesalign}.\\
& $20 \le$ integer $\le 39$ & Same as below 20 except there is a flat before the notes. Subtract 20 to get the type of notes alignment.\\
& $40 \le$ integer $\le 59$ & Same as below 20 except there is a natural before the notes. Subtract 40 to get the type of notes alignment.
\end{argtable}
@@ -625,11 +626,13 @@ Count which stores the current staff size.
Default: 17 (approximately the size found in graduals)
-\macroname{\textbackslash gre@fillhole}{\#1}{gregoriotex-signs.tex}
+\macroname{\textbackslash gre@fillhole}{\#1\#2}{gregoriotex-signs.tex}
Macro to fill the hole in a glyph so that staff lines do not show through a hole in it.
\begin{argtable}
\#1 & Gregorio\TeX\ char & character to use to fill the hole\\
+ \#1 & \texttt{0} & the hole is being filled for an alteration\\
+ \#1 & \texttt{1} & the hole is being filled for a cavum glyph\\
\end{argtable}
\macroname{\textbackslash gre@calculate@notesaligncenter}{\#1}{gregoriotex-syllable.tex}
@@ -717,7 +720,7 @@ Macro to typeset a vertical episema or a rare accent (like accentus, circulus, e
\begin{argtable}
\#1 & character & the letter of the height of the episema (not the height of the note it corresponds to.\\
- \#2 & integer & See \nameref{EpisemaSpecial}\\
+ \#2 & string & See \Nameref{NoteOffset}.\\
\#3 & Gregorio\TeX\ glyph & the sign glyph\\
\#4 & \texttt{1} & vertical episema\\
& \texttt{2} & rare sign\\
@@ -757,9 +760,6 @@ Macro to store the catcode for ``@'' so that we can use said symbol in function
\macroname{\textbackslash gre@prephepisemaledgerlineheuristics}{}{gregoriotex-spaces.tex}
Prepares the system to accept ledger line heuristics for the horizontal episema.
-\macroname{\textbackslash gre@reseteolcustos}{}{gregoriotex-main.tex}
-Alias that resets the use of automatic custos to the value set by \verb=\greseteolcustos=. This macro is aliased to \verb=\gre@useautoeolcustos= or \verb=\gre@usemanualeolcustos= by \verb=\greseteolcustos=.
-
\macroname{\textbackslash gre@resetledgerlineheuristics}{}{gregoriotex-spaces.tex}
Resets the ledger line heuristic flags.
@@ -808,6 +808,10 @@ Macro which typesets the 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}
+\macroname{\textbackslash gre@boxclef}{\#1\#2\#3\#4\#5\#6\#7\#8\#9}{gregoriotex-signs.tex}
+Macro filling \verb=\gre@box@temp@width= with a clef. The arguments are the same as \verb=gre@typeclef=.
+
+
\macroname{\textbackslash gre@typesingleclef}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
Macro which typesets a single clef.
@@ -825,9 +829,6 @@ Macro to update the box printed a the left end of every line (the one which hold
\macroname{\textbackslash gre@useautoeolcustos}{}{gregoriotex-main.tex}
Macro which enables automatic custos at the end of lines.
-\macroname{\textbackslash gre@usemanualeolcustos}{}{gregoriotex-main.tex}
-Macro which disables automatic custos at the end of lines.
-
\macroname{\textbackslash gre@usestylecommon}{}{gregoriotex-signs.tex}
Macro which specifies the alternate glyphs which are common to all of the styles.
@@ -926,16 +927,29 @@ Macro computing the skip at the end of the syllable.
Macro to hold the original distance which is to be scaled by \verb=\gre@changeonedimenfactor=
\macroname{\textbackslash gre@debug}{}{gregoriotex.sty \textup{and} gregoriotex.tex}
-Macro to hold the list of debug messages which should be designated as printing.
+Macro to hold the list of debug messages which should be designated as printing. Contains comma-separated values from \Nameref{DebugCategory}, set via the \texttt{debug} package keyword parameter.
-\macroname{\textbackslash gre@debugmsg}{\#1\#2}{gregoriotex-main.tex}
+\macroname{\textbackslash gre@debugmsg}{\#1\#2}{gregoriotex-common.tex}
Macro to print debugging messages.
\begin{argtable}
- \#1 & string & The category of the message (used in conjunction with \verb=\gre@debug= to determine whether to print the message or not\\
+ \#1 & string & The category of the message (used in conjunction with \verb=\gre@debug= to determine whether to print the message or not; see \Nameref{DebugCategory}\\
\#2 & string & The debug message\\
\end{argtable}
+\macroname{\textbackslash gre@trace}{\#1}{gregoriotex-common.tex}
+Macro to mark the beginning of a function in the log with a GreTrace message.
+
+\begin{argtable}
+ \#1 & string & name and argument list of the function being identified.
+\end{argtable}
+
+\macroname{\textbackslash gre@trace@end}{\#1}{gregoriotex-common.tex}
+Macro to mark the end of a function in the log with a GreTrace message.
+
+\macroname{\textbackslash gre@trace@prefix}{gregoriotex-common.tex}
+Macro to hold the prefix of GreTrace messages (value is manipulated to control indentation and indicate nesting).
+
\macroname{\textbackslash gre@declarefileversion}{\#1\#2}{gregoriotex-main.tex}
Macro which checks for version consistency between Gregorio\TeX\ files.
@@ -960,20 +974,6 @@ Macro for defining the various types of horizontal episema porrectus.
\#2 & string & Camel case name of horizontal episema porrectus to be defined\\
\end{argtable}
-\macroname{\textbackslash gre@char@cavum}{\#1\#2\#3\#4\#5\#6\#7\#8}{gregoriotex-signs.tex}
-Macro to typeset a “cavum” character.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.\\
- \#7 & control sequence & The control sequence for the glyph.\\
- \#8 & control sequence & The control sequence for the hole glyph.
-\end{argtable}
-
\macroname{\textbackslash gre@get@spaceskip}{\#1}{gregoriotex-signs.tex}
Loads \verb=\gre@skip@temp@four= with the appropriate rubber length given the
desired case.
@@ -1028,6 +1028,9 @@ Macro which stores the first part of the next syllable (that which comes before
\macroname{\textbackslash gre@nextmiddlesyllablepart}{}{gregoriotex-syllable.tex}
Macro which stores the middle part of the next syllable (the part which aligns with the notes).
+\macroname{\textbackslash gre@fixdebug}{}{gregoriotex-common.tex}
+Fixes the raw \verb=\gre@debug= value for use with \verb=\gre@debugmsg=.
+
\macroname{\textbackslash gre@fixedtextformat}{\#1}{gregoriotex-syllable.tex}
A macro which applies formatting that needs to apply to the whole syllable (rather than the parts individually) for the current syllable. Necessary to preserve ligatures across parts within a syllable.
@@ -1161,6 +1164,22 @@ A meaningless (don't-care) pitch.
\macroname{\textbackslash gre@pitch@nominal}{}{gregoriotex-main.tex}
A pitch guaranteed to be in the staff.
+\macroname{\textbackslash gre@pitch@cleftop}{}{gregoriotex-spaces.tex}
+The pitch of the highest point of the current clef.
+
+\macroname{\textbackslash gre@pitch@clefbottom}{}{gregoriotex-spaces.tex}
+The pitch of the lowest point of the current clef.
+
+\macroname{\textbackslash gre@saveclefextrema}{\#1\#2}{gregoriotex-signs.tex}
+Computes the pitches of the lowest and highest points of a clef and saves them
+into \verb=\gre@pitch@cleftop= and \verb=\gre@pitch@clefbottom=.
+
+\begin{argtable}
+ \#1 & integer & the line of the primary clef (1 is the bottom line)\\
+ \#2 & integer & the line of the secondary clef (1 is the bottom line, 0 means
+ no secondary clef)\\
+\end{argtable}
+
\macroname{\textbackslash gre@pointandclick}{\#1\#2}{gregoriotex-main.tex}
Macro to generate the point-and-click links.
@@ -1235,6 +1254,11 @@ Saves the current value of the dimension and then changes it. The arguments
are the same as \verb=\grechangedim=. Used to temporarily change the dimension
for a given line, which is restored at the next beginning of the next line.
+\macroname{\textbackslash gre@changecountforline}{\#1\#2}{gregoriotex-spaces.tex}
+Saves the current value of the count and then changes it. The arguments
+are the same as \verb=\grechangeocount=. Used to temporarily change the count
+for a given line, which is restored at the next beginning of the next line.
+
\macroname{\textbackslash gre@setstafflines}{\#1}{gregoriotex-main.tex}
Sets the number of staff lines.
@@ -1312,7 +1336,7 @@ Macro for calculating the position of the elements of a bar syllable using the n
\begin{argtable}
\#1 & 0 & bar is not the end of a word\\
& 1 & bar is the end of a word\\
- \#2 & integer & alignment type of the first glyph in the next syllable. See \nameref{notesalign}\\
+ \#2 & integer & alignment type of the first glyph in the next syllable. See \Nameref{notesalign}\\
\end{argtable}
\macroname{\textbackslash gre@newlinearg}{}{gregoriotex-syllable.tex}
@@ -1339,12 +1363,39 @@ Macro to typeset a punctum mora.
& 0 & other cases\\
\end{argtable}
+\macroname{\textbackslash gre@changecavumhole}{\#1[\#2][\#3]}{gregoriotex-main.tex}
+Macro used by \verb=\grechangecavumglyph= to handle the optional arguments.
+
\macroname{\textbackslash gre@alterationadjustment}{\#1}{gregoriotex-spaces.tex}
Macro to make adjustments to \verb=nextbegindifference= in order to account for an alteration at the begining of the next syllable.
\macroname{\textbackslash gre@punctummoraadjustment}{}{gregoriotex-spaces.tex}
Macro to make adjustments to cursor position and \verb=previousenddifference= based on the presence of a punctum mora at the end of the last syllable.
+\macroname{\textbackslash gre@num@min}{\#1\#2}{gregoriotex-spaces.tex}
+Puts the lower of its two integer arguments into \verb=\gre@count@temp@one=.
+
+\begin{argtable}
+ \#1 & integer & the first value to compare\\
+ \#2 & integer & the second value to compare\\
+\end{argtable}
+
+\macroname{\textbackslash gre@num@max}{\#1\#2}{gregoriotex-spaces.tex}
+Puts the greater of its two integer arguments into \verb=\gre@count@temp@one=.
+
+\begin{argtable}
+ \#1 & integer & the first value to compare\\
+ \#2 & integer & the second value to compare\\
+\end{argtable}
+
+\macroname{\textbackslash gre@evaluatenextsyllable}{\#1}{gregoriotex-syllable.tex}
+Evaluates its first argument as an advance computation against the next syllable. Twiddles the \verb=ifgre@evaluatingnextsyllable= flag around evaluation of the macro argument.
+
+\macroname{\textbackslash gre@save@additionalspaces}{}{gregoriotex-spaces.tex}
+Macro to save the additional vertical spaces associated with the line (\texttt{additionalbottomspace}, \texttt{additionaltopspace}, \texttt{additionaltopspacealt}, \texttt{additionaltopspacenabc}, \texttt{currenttranslationheight}, \texttt{textlower}, \texttt{currentabovelinestextheight}, and \texttt{constantglyphraise}) so that they can be restored later.
+
+\macroname{\textbackslash gre@restore@additionalspaces}{}{gregoriotex-spaces.tex}
+Macro to restore the additional vertical spaces associated with the line from their saved values.
\subsection{Auxiliary File}
Gregorio\TeX\ creates its own auxiliary file (extension \texttt{gaux}) which it uses to store information between successive typesetting runs. This allows for such features as the dynamic interline spacing. The following functions are used to interact with that auxiliary file.
@@ -1372,6 +1423,12 @@ Gregorio\TeX\ loads a number of fonts which are referred to by the following mac
\macroname{\textbackslash gre@font@music}{}{gregoriotex-main.tex}
The font for the neumes and other principle score elements.
+\macroname{\textbackslash gre@font@music@hollow}{}{gregoriotex-main.tex}
+The font for cavum neumes.
+
+\macroname{\textbackslash gre@font@music@hole}{}{gregoriotex-main.tex}
+The font for cavum neume holes.
+
\macroname{\textbackslash gre@font@style}{}{gregoriotex-main.tex}
The font for some of the extra characters, such as the bar for barred letters.
@@ -1409,18 +1466,6 @@ The sharp character.
\macroname{\textbackslash gre@fontchar@sharphole}{}{gregoriotex-chars.tex}
The sharp hole character (\ie, the character needed to prevent lines from showing through the center of the sharp).
-\macroname{\textbackslash gre@fontchar@punctumcavum}{}{gregoriotex-signs.tex}
-The punctum cavum character.
-
-\macroname{\textbackslash gre@fontchar@punctumcavumhole}{}{gregoriotex-signs.tex}
-The punctum cavum hole character (\ie, the character needed to prevent lines from showing through the center of the punctum cavum).
-
-\macroname{\textbackslash gre@fontchar@lineapunctumcavum}{}{gregoriotex-signs.tex}
-The linea punctum cavum character.
-
-\macroname{\textbackslash gre@fontchar@lineapunctumcavumhole}{}{gregoriotex-signs.tex}
-The linea punctum cavum hole character (\ie, the character needed to prevent lines from showing through the center of the linea punctum cavum).
-
\macroname{\textbackslash gre@fontchar@incclef}{}{gregoriotex-chars.tex}
The \texttt{c}-clef which appears in the middle of a line.
@@ -1649,6 +1694,9 @@ Boolean which specifies whether ledger line heuristics will be used or not.
\macroname{\textbackslash ifgre@usestylefont}{}{gregoriotex-main.tex}
Boolean which specifies whether the style font should be loaded or not.
+\macroname{\textbackslash ifgre@loadholehollowfonts}{}{gregoriotex-main.tex}
+Boolean which specifies whether the hole and hollow fonts should be loaded or not.
+
\macroname{\textbackslash ifgre@keeprightbox}{}{gregoriotex-signs.tex}
Boolean which specifies if we have to keep the localrightbox until the end.
@@ -1789,6 +1837,9 @@ be kept together when the syllable is broken across lines.
\macroname{\textbackslash ifgre@shownotes}{}{gregoriotex-syllable.tex}
Boolean indicating whether the notes should be shown.
+\macroname{\textbackslash ifgre@nabcvoice@i@visible}{}{gregoriotex-nabc.tex}
+Boolean indicating whether the first nabc voice should be shown.
+
\macroname{\textbackslash ifgre@showlyrics}{}{gregoriotex-syllable.tex}
Boolean indicating whether the lyrics should be shown.
@@ -1798,6 +1849,12 @@ Number of lines the initial takes up. Currently limited to 0, 1, or 2. Not cur
\macroname{\textbackslash ifgre@rewritethissyllable}{}{gregoriotex-syllable.tex}
Boolean indicating that a syllable should be rewritten to improve ligature rendering.
+\macroname{\textbackslash ifgre@textcleared}{}{gregoriotex-syllable.tex}
+Boolean indicating that the text of this syllable should not overlap any previous syllable.
+
+\macroname{\textbackslash ifgre@evaluatingnextsyllable}{}{gregoriotex-syllable.tex}
+Boolean indicating that some aspect of the next syllable is being evaluated in advance.
+
\subsection{Boxes}
Boxes are used to store elements of the score before they are printed for the purposes of reusing them and/or measuring them in order to determine their appropriate placement.
@@ -1846,10 +1903,11 @@ Box holding the horizontal episema.
\subsection{Protrusion factors}
-Protrusion factors are counts representing a protrusion factor over 100.
-\macroname{\textbackslash gre@count@protrusion@hyphen@eol}{}{gregoriotex-spaces.tex}
-Protrusion factor applied to hyphens at end of lines.
+
+\macroname{\textbackslash gre@protrusionfactor@...}{}{gregoriotex-spaces.tex}
+Macros that store the protrusion factors created by
+\verb=\gresetprotrusionfactor=.
\subsection{Distances}
@@ -1861,12 +1919,22 @@ 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.
+In some cases it is necessary to temporarily manipulate some of these distances for the purpose of some particular operation and then restore them to their previous values. In that case the distance will have a \verb=\gre@saved@...= register associated with it (\eg \verb=\gre@dimen@constantglyphraise= is saved to and restored from \verb=\gre@saved@dimen@constantglyphraise=).
+
+We also have save registries for \verb=\baselineskip=, \verb=\lineskip=, \verb=\lineskiplimit=, \verb=\parskip=, and \verb=\parfillskip= so that we can modify the way line breaking decisions are handled inside a score without affecting the rest of the document.
+
\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}
+\macroname{\textbackslash gre@dimen@clefwidth@current}{}{gregoriotex-spaces.tex}
Width of the current clef.
+\macroname{\textbackslash gre@dimen@clefwidth@largest}{}{gregoriotex-spaces.tex}
+Width of the largest clef in the score.
+
+\macroname{\textbackslash gre@dimen@clefwidth@bol}{}{gregoriotex-spaces.tex}
+Width of the clef used to compute bolshift.
+
\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.
@@ -1961,9 +2029,6 @@ Temporary dimensions used in calculations. There are currently five of these.
\macroname{\textbackslash gre@skip@temp@...}{}{gregoriotex-spaces.tex}
Temporary skips used in calculations. There are currently four of these.
-\macroname{\textbackslash gre@dimen@savedglyphraise}{}{gregoriotex-signs.tex}
-Macro to hold the value of the glyph raise so that it can be restored after some calculations which may change it are performed.
-
\macroname{\textbackslash gre@dimen@eolshift}{}{gregoriotex-spaces.tex}
The left kern that should appear before an end of line.
@@ -1997,9 +2062,6 @@ Minimum shift required for the text.
\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).
-
\macroname{\textbackslash gre@scaledist}{}{gregoriotex-spaces.tex}
Working alias for \verb=\gre@skip@temp@one= or \verb=\gre@dimen@temp@one=, as appropriate, used when rescaling a distance due to a change in \verb=\gre@factor=.
@@ -2037,17 +2099,6 @@ Displacement of whole syllable to account for the presence of a punctum mora at
\macroname{\textbackslash gre@skip@alterationshift}{}{gregoriotex-spaces.tex}
Displacement of whole syllable to account for the presence of an alteration at the beginning of the next syllable.
-\macroname{\textbackslash gre@skip@baselineskip@save}{}{gregoriotex-spaces.tex}
-Saved value of \verb=\baselineskip= from before a score so that it can be restored when the score ends.
-
-\macroname{\textbackslash gre@skip@lineskip@save}{}{gregoriotex-spaces.tex}
-Saved value of \verb=\lineskip= from before a score so that it can be restored when the score ends.
-
-\macroname{\textbackslash gre@skip@lineskiplimit@save}{}{gregoriotex-spaces.tex}
-Saved value of \verb=\lineskiplimit= from before a score so that it can be restored when the score ends.
-
-\macroname{\textbackslash gre@skip@parskip@save}{}{gregoriotex-spaces.tex}
-Saved value of \verb=\parskip= from before a score so that it can be restored when the score ends.
\subsection{Penalties}
@@ -2208,7 +2259,7 @@ rather than have multiple definitions.
\texttt{16} & no note
\end{tabulary}
-\subsection{Episema Special}\label{EpisemaSpecial}
+\subsection{Note Offset Specifier}\label{NoteOffset}
\definecolor{shadecolor}{named}{lightgray}%
\begin{shaded*}%
\vspace{-1.4\baselineskip}
@@ -2276,6 +2327,39 @@ rather than have multiple definitions.
\end{description}
\end{shaded*}
+\subsection{Debug Category}\label{DebugCategory}
+\definecolor{shadecolor}{named}{lightgray}%
+\begin{shaded*}%
+\vspace{-1.4\baselineskip}
+\begin{center}String with the following possibilities:\end{center}
+\vspace{-0.8\baselineskip}
+\hrule
+\vspace{-0.8\baselineskip}
+\begin{description}
+ \item[annotation] Annotation-related (text above the score initial) messages.
+ \item[barspacing] Bar spacing computations.
+ \item[bolshift] Beginning-of-line shift computations.
+ \item[clear] Syllable clearing messages. Generated when handling the \texttt{<clear>} gabc directive.
+ \item[changeglyph] Glyph changes. Generated when glyph substitutions are made.
+ \item[commentary] Commentary-related messages.
+ \item[compile] Auto-compile messages. Generating when handing \verb=\gregorioscore=
+ \item[custos] Custos-related messages. Generating when computing and handling custodes.
+ \item[eolshift] End-of-line shift computations.
+ \item[general] Non-specific messages.
+ \item[hyphen] Hyphen-related messages. Generated when computing and handling automatic hyphens.
+ \item[ifdim] Dimension comparisons.
+ \item[initial] Score-initial-related messages.
+ \item[lineheight] Line height events. Generated when line heights are computed or exercised.
+ \item[linesglue] Messages about line glue. Generated during line break processing in Lua.
+ \item[mapfont] Font mapping messages. Generated when analyzing score fonts.
+ \item[offsetcase] Offset case messages. Generated when the offset cases (for \Nameref{NoteOffset}) are generated in Lua.
+ \item[spacing] Random spacing-related messages.
+ \item[syllablerewriting] Syllable rewrite messages. Generated when rewriting syllables for better kerning and ligaturing.
+ \item[syllablespacing] Syllable spacing computations.
+ \item[trace] Messages to trace the calling of functions.
+\end{description}
+\end{shaded*}
+
%%% Local Variables:
%%% mode: latex
%%% TeX-master: “GregorioRef”
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex b/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex
index a3680cd715b..0054aa102b6 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/Gabc.tex
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -69,7 +69,8 @@ Some headers have special meaning to Gregorio:
recommended where appropriate. \textbf{This field is required.}
\item[gabc-copyright] This license is the copyright notice (in English) of the gabc file, as chosen by the person named in the transcriber field. As well as the notice itself, it may include a brief description of the license, such as public domain, CC-by-sa; for a list of commonly found open source licenses and exceptions, please see \url{https://spdx.org/licenses/}. A separate text file will be necessary for the complete legal license. For the legal issues about Gregorian chant scores, please see \url{http://gregorio-project.github.io/legalissues}. An example of this field would be:
\begin{lstlisting}[autogobble]
- gabc-copyright: CC0-1.0 by Elie Roux, 2009 <http://creativecommons.org/publicdomain/zero/1.0/>;
+ gabc-copyright: CC0-1.0 by Elie Roux, 2009
+ <http://creativecommons.org/publicdomain/zero/1.0/>;;
\end{lstlisting}
\item[score-copyright] This license is the copyright notice (in English) of the score itself from which the gabc was transcribed. Like the \texttt{gabc-copyright}, there may be a brief description of the license too. In unclear or complex cases it may be omitted; it is most suitable for use when the transcriber is the copyright holder and licensor of the score as well. One again, reading the page on legal issues (linked above) is recommended. An example of this field would be:
\begin{lstlisting}[autogobble]
@@ -84,7 +85,7 @@ Some headers have special meaning to Gregorio:
placed above the initial unless one of the following conditions are
met:
\begin{itemize}
- \item There is a \verb=\greannotation= defined immediatly prior to \verb=\gregorioscore=.
+ \item There is a \verb=\greannotation= defined immediately prior to \verb=\gregorioscore=.
\item The \texttt{annotation} header field is defined.
\end{itemize}
\item[mode-modifier] The mode ``modifier'' of the piece. This may be any
@@ -181,6 +182,15 @@ Some examples:
{\scriptsize\verb=t. irregularis=} & & & \writemode{t. irregularis}{}{} \\
\end{tabularx}
+\subsection{General Syntax}
+
+\subsection{Note Syntax}
+
+\verb=[nocustos]= will prevent a custos from appearing at the point where
+specified, if line formatting causes a line break there. The \verb=[nocustos]=
+tag must appear \emph{before} spaces appearing at the point specified or it will
+have no effect.
+
\subsection{Neume Fusion}
Neume fusion allows for the composition of new shapes based on a set of
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.pdf
index 6fdfa1009d9..3d0c15ddc53 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.pdf
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.pdf
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.tex b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.tex
index 4eb686fa986..3c645e02d80 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef.tex
@@ -1,6 +1,6 @@
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -23,6 +23,7 @@
\usepackage{fontspec}
\usepackage{luacode}
\usepackage{multicol}
+\usepackage{multirow}
\usepackage{fixltx2e}
\usepackage{hyperref}
\usepackage{color}
@@ -59,9 +60,30 @@
\end{list}%
\endgroup%
+ \vspace{1cm}
+ \begingroup%
+ \greannotation{\scriptsize{CO}}
+ \greannotation{\scriptsize{II}}
+ \gresetnabcfont{grelaon}{8}
+ \color{black!60}
+ \setmainfont[SmallCapsFont=AlegreyaSC]{Alegreya}%
+ \addtolength{\hsize}{-4cm}%
+ \setlength{\fboxsep}{5mm}%
+ \begin{list}{}{%
+ \setlength{\topsep}{0pt}%
+ \setlength{\leftmargin}{1.5cm}%
+ \setlength{\rightmargin}{1.5cm}%
+ \setlength{\listparindent}{0pt}%
+ \setlength{\itemindent}{0pt}%
+ \setlength{\parsep}{0pt}%
+ }\item[]{\fbox{\parbox{\hsize}{\gregorioscore[f]{omnes}}}}%
+ \end{list}%
+ \endgroup%
+
\vfill
\pagebreak
+\gresetnabcfont{grelaon}{8}
\gresetnabcfont{gresgmodern}{8}
\gresetnabcfont{gregall}{8}
@@ -105,12 +127,26 @@
\endgroup %
}
+\def\lneume{%
+ \begingroup %
+ \catcode`\~=12{}%
+ \catcode`\@=11{}%
+ \lneumebody%
+}
+
+\def\lneumebody#1{%
+ \font\grefontnabc={name:grelaon} at 6pt\grefontnabc\begin{gre@style@nabc}%
+ \directlua{tex.sprint(gregoriotex.nabc_font_tables["grelaon"]["\luatexluaescapestring{#1}"] or "")}%
+ \end{gre@style@nabc}%
+ \endgroup %
+}
+
{
\setlength\parindent{0cm}
The \texttt{nabc} language provides the ability to describe some adiastematic neumes, for
-now just the St.\ Gallen style. The language is partially based on Dom
-Eugène Cardine's Table of neumatic signs, but for more complex neumes
+now just the St.\ Gallen and Laon (Metz notation family) style. The language is partially
+based on Dom Eugène Cardine's Table of neumatic signs, but for more complex neumes
doesn't always match how the neumes are called; instead attempts to make it
easier to compose complex neumes from basic glyphs. To describe
adiastematic neumes in \texttt{gabc}, the header should contain
@@ -164,6 +200,10 @@ Each \textit{glyph descriptor} consists of a \textit{basic glyph descriptor},
followed by optional \textit{glyph modifiers}, followed by optional
\textit{pitch descriptor}.
+The following description is for the St. Gall family of neumes,
+when using the gregall or gresgmodern fonts. For details on Laon (Metz
+notation family) neumes see \pageref{nabclaon}.
+
The \textit{basic glyph descriptor} is a two-letter string from the
following table:
\begin{multicols}{5}
@@ -205,7 +245,7 @@ characters optionally followed by a number:
\item \texttt{M} melodic modification
\item \texttt{-} addition of episema
\item \texttt{>} augmentive liquescence
- \item ~~\texttt{\~} diminutive liquescence
+ \item \texttt{\textasciitilde} diminutive liquescence
\end{itemize}
If Dom Cardine's table contains multiple glyphs with the same modifiers,
a positive number is added afterwards. E.g.\ for augmentive liquescent
@@ -304,6 +344,7 @@ by the above mentioned position digit:
\texttt{lspar} \sneume{lspar} paratim\\
\texttt{lspfec} \sneume{lspfec} perfecte\\
\texttt{lspm} \sneume{lspm} parvum mediocriter\\
+\texttt{lspulcre} \sneume{lspulcre} pulcre\\
\texttt{lss} \sneume{lss} sursum\\
\texttt{lssb} \sneume{lssb} sursum bene\\
\texttt{lssc} \sneume{lssc} sursum celeriter\\
@@ -348,6 +389,109 @@ tractulis.
\texttt{ql>ppu3} \GreNABCChar{ql>ppu3} is a 3 loop liquescent quilisma
with 3 tractulis with episema before it.
+
+\vfill
+\pagebreak
+
+\label{nabclaon}
+The \textit{basic glyph descriptor} for Laon neumes is very similar to the
+one used for St. Gall neumes, but with uncinus and oriscus-clivis added and
+stropha, 2 loops quilisma and gravis removed:
+\begin{multicols}{4}
+\texttt{un} \lneume{un} uncinus\\
+\texttt{vi} \lneume{vi} virga\\
+\texttt{pu} \lneume{pu} punctum\\
+\texttt{ta} \lneume{ta} tractulus\\
+\texttt{gr} \lneume{gr} gravis\\
+\texttt{cl} \lneume{cl} clivis\\
+\texttt{oc} \lneume{oc} oriscus-clivis\\
+\texttt{pe} \lneume{pe} pes\\
+\texttt{po} \lneume{po} porrectus\\
+\texttt{to} \lneume{to} torculus\\
+\texttt{ci} \lneume{ci} climacus\\
+\texttt{sc} \lneume{sc} scandicus\\
+\texttt{pf} \lneume{pf} porrectus flexus\\
+\texttt{sf} \lneume{sf} scandicus flexus\\
+\texttt{tr} \lneume{tr} torculus resupinus\\
+\texttt{ds} \lneume{ds} distropha\\
+\texttt{ts} \lneume{ts} tristropha\\
+\texttt{tg} \lneume{tg} trigonus\\
+\texttt{bv} \lneume{bv} bivirga\\
+\texttt{tv} \lneume{tv} trivirga\\
+\texttt{pr} \lneume{pr} pressus maior\\
+\texttt{pi} \lneume{pi} pressus minor\\
+\texttt{vs} \lneume{vs} virga strata\\
+\texttt{or} \lneume{or} oriscus\\
+\texttt{sa} \lneume{sa} scandicus\\
+\texttt{pq} \lneume{pq} pes quassus\\
+\texttt{ql} \lneume{ql} quilisma\\
+\texttt{pt} \lneume{pt1} pes stratus
+\end{multicols}
+
+The \textit{subpunctis and prepunctis descriptor} consists of the letters
+\texttt{su} for subpunctis or \texttt{pp} for prepunctis, followed
+optionally by a modifier letter from the following table and finally a mandatory
+positive number of repetitions. If the modifier letter is missing, it is a
+punctum.
+\begin{itemize}
+ \item \texttt{n} \lneume{un} uncinus
+ \item \texttt{q} \lneume{ql} quilisma
+ \item \texttt{z} \lneume{vi} virga
+ \item \texttt{x} \lneume{vi>} cephalicus
+\end{itemize}
+
+The \textit{significant letter descriptor} for Laon neumes allows another
+position, \texttt{5}, which stands for inside the neume. The exact position
+of the letter depends on the glyph, if there is no glyph with the neume
+inside of it, it can't be positioned inside the neume.
+
+The shorthands, including the \texttt{ls} prefix, which should be followed
+by the above mentioned position digit for Laon neumes are:
+\begin{multicols}{2}
+\texttt{lsa} \lneume{lsa} augete\\
+\texttt{lsc} \lneume{lsc} celeriter\\
+\texttt{lseq} \lneume{lseq} equaliter\\
+\texttt{lseq-} \lneume{lseq-} equaliter\\
+\texttt{lsequ} \lneume{lsequ} equaliter\\
+\texttt{lsf} \lneume{lsf} fastigium\\
+\texttt{lsh} \lneume{lsh} humiliter\\
+\texttt{lshn} \lneume{lshn} humiliter nectum\\
+\texttt{lshp} \lneume{lshp} humiliter parum\\
+\texttt{lsl} \lneume{lsl} levare\\
+\texttt{lsn} \lneume{lsn} non (tenere), negare, nectum, naturaliter\\
+\texttt{lsnl} \lneume{lsnl} non levare\\
+\texttt{lsnt} \lneume{lsnt} non tenere\\
+\texttt{lsm} \lneume{lsm} mediocriter\\
+\texttt{lsmd} \lneume{lsmd} mediocriter\\
+\texttt{lss} \lneume{lss} sursum\\
+\texttt{lssimp} \lneume{lssimp} simpliciter\\
+\texttt{lssimpl} \lneume{lssimpl} simpliciter\\
+\texttt{lssp} \lneume{lssp} sursum parum\\
+\texttt{lsst} \lneume{lsst} sursum tenere\\
+\texttt{lst} \lneume{lst} tenere\\
+\texttt{lsth} \lneume{lsth} tenere humiliter
+\end{multicols}
+
+For the Tironian notes the form of the \textit{significant letter descriptor}
+starts with the \texttt{lt} prefix followed by letters from the following
+list, followed by above mentioned position digit (\texttt{5} can't be used):
+\begin{multicols}{2}
+\texttt{lti} \lneume{lti} iusum\\
+\texttt{ltdo} \lneume{ltdo} deorsum\\
+\texttt{ltdr} \lneume{ltdr} devertit\\
+\texttt{ltdx} \lneume{ltdx} devexum\\
+\texttt{ltps} \lneume{ltps} prode sub eam (trade subtus)\\
+\texttt{ltqm} \lneume{ltqm} quam mox\\
+\texttt{ltsb} \lneume{ltsb} sub\\
+\texttt{ltse} \lneume{ltse} seorsum\\
+\texttt{ltsj} \lneume{ltsj} subjice\\
+\texttt{ltsl} \lneume{ltsl} saltim\\
+\texttt{ltsn} \lneume{ltsn} sonare\\
+\texttt{ltsp} \lneume{ltsp} supra\\
+\texttt{ltsr} \lneume{ltsr} sursum\\
+\texttt{ltst} \lneume{ltst} saltate (salte)\\
+\texttt{ltus} \lneume{ltus} ut supra
+\end{multicols}
}
\vfill
@@ -402,6 +546,53 @@ Table from Cardine's Gregorian Semiology, pp.\ 12-13 with nabc strings and grega
\vfill
\pagebreak
+\gresetnabcfont{grelaon}{8}
+
+{
+\noindent\footnotesize
+\begin{tabular}{|l|l|l|l|l|l|l|l|l|}
+\hline
+Name of & Simple & \multicolumn{3}{c|}{Symbols differentiated by} & \multicolumn{3}{c|}{Symbols indicating} \\
+Symbols & Symbols & \multicolumn{3}{c|}{} & \multicolumn{3}{c|}{a special meaning} \\ \hline
+& & \multicolumn{2}{c|}{the modification} & the addition & melodic & \multicolumn{2}{c|}{phonetic} \\ \cline{3-4}\cline{6-8}
+& & of the mark & of the grouping & of letters & & \multicolumn{2}{c|}{Liquescence} \\ \cline{7-8}
+& & & (neumatic break) & & & augment. & diminut. \\ \cline{3-5}\cline{7-8}
+uncinus & \neume{un} & & & & & & \\
+punctum & \neume{pu} & & & & & & \\
+virga & \neume{vi} & \neume{viS} \neume{vipp2su2vihh} & & & & \neume{vi>1} & \\
+tractulus & \neume{ta} & \neume{ds} \neume{ts} & & \neume{talst2} \neume{tslsc2lst2} & & \neume{ta>2} & \\
+clivis & \neume{cl} & & \neume{clG} & \neume{cllsn9} \neume{cllst9} \neume{clGlsa5} & \neume{clG1} \neume{clM} & \neume{cl>} \neume{cl>1} & \neume{vi>} \neume{ta>2} \\
+pes & \neume{pe} & & \neume{peG} & \neume{pelsn3} \neume{pelst2} \neume{pelsc2} & & \neume{pe>1} & \neume{ta>} \\
+porrectus & \neume{po} & & \neume{poG} & & \neume{poM} & \neume{po>} & \\
+torculus & \neume{to} & \neume{toS1} & \neume{toG} & \neume{toGlsa5} \neume{toSlsa5} \neume{toSsun1lsa5} \neume{tolst9} & & \neume{to>} & \\
+climacus & \neume{ci} & \neume{pusu1sun1} \neume{visu2} \neume{unsun2} & & \neume{visu2lst3} & & & \neume{cl>1} \\
+scandicus & \neume{sc} \neume{sc1} & \neume{vippn1pp1} \neume{vippn2} & \neume{pevihl} & \neume{sclst2} \neume{pelst2vihl} \neume{pelsa2vihl} & & \neume{vi>1pp2} & \neume{ta>ppn1} \neume{ta>pp2} \\
+\vbox{\hbox{porrectus}\hbox{flexus}} & \neume{pf1} & \neume{pfS} & \neume{unhg`to} \neume{po`un} & \neume{unhglst2`to} \neume{po`unlsa2} & \neume{pfM} & \neume{pf>} & \\
+\vbox{\hbox{(pes}\hbox{subbipunctis)}} & \neume{tosu1} & \neume{tosun1} & \neume{vippn1su2} \neume{unppn1sun2} & \neume{tosu1lsc5} \neume{tosun1lsa5} & & & \\
+& & & \multicolumn{1}{r|}{\neume{visu1sun1}} & \multicolumn{1}{r|}{\neume{unlst2`puhisu1sun1}} & & & \\
+\vbox{\hbox{scandicus}\hbox{flexus}} & \neume{sf} & & \neume{unhd`to} \neume{sfG} & \neume{unhdlst2`to} \neume{pelst2clhh} & & & \\
+\vbox{\hbox{torculus}\hbox{resupinus}} & \neume{tr} & \neume{trS} & \neume{poppn1} \neume{pe`peG} & \neume{trSlsc1} \neume{trlst3} \neume{trlst9} & & \neume{tr>} & \neume{pe`ta>} \\
+& & & \multicolumn{1}{r|}{\neume{tovihg} \neume{toGvihg}} & & & & \\
+\vbox{\hbox{clivis + pes}\hbox{or torculus}} & \multicolumn{1}{l}{\neume{cl!pe} \neume{cl!to}} & \multicolumn{1}{l}{\rightarrow \hspace{5mm} \neume{toS!pe}} & \multicolumn{5}{l|}{\neume{toS!to}} \\
+\multirow{7}{*}{oriscus} & \multicolumn{1}{l}{\multirow{7}{*}{\neume{or} \neume{or1} $ \left\{ \rule{0pt}{22mm} \right. $ }} & \multicolumn{1}{l}{isolated \&} & \multicolumn{3}{l}{\neume{ql}} & \multicolumn{2}{l|}{\neume{or>}} \\
+& \multicolumn{1}{l}{} & \multicolumn{1}{l}{\vbox{\hbox{at the syllabic}\hbox{articulation}}} & \multicolumn{5}{l|}{\neume{oc} \neume{oc!vi} \neume{pq} \neume{pq1}} \\
+& \multicolumn{1}{l}{} & \multicolumn{1}{l}{\multirow{5}{*}{\vbox{\hbox{inside}\hbox{the neume}} $ \left\{ \rule{0pt}{18mm} \right. $ }} & \multicolumn{5}{l|}{\neume{tg}} \\
+& \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{5}{l|}{\neume{cl1!or} \neume{cl1!pi} \neume{cl1!pi!vi} \neume{cl1!pi!cl} \neume{cl1!pi!to} } \\
+& \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{5}{l|}{\neume{to!or}} \\
+& \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{5}{l|}{\neume{sa} \neume{sa1}} \\
+& \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{\neume{vs} \neume{vsG}} & \multicolumn{1}{r}{\neume{pe!or}} & \multicolumn{3}{l|}{} \\
+quilisma & \multicolumn{7}{l|}{\neume{ql} \neume{ql!cl} \neume{ql!po}} \\
+pes stratus & \multicolumn{1}{l}{} & \multicolumn{6}{l|}{\neume{pt1}} \\ \hline
+\end{tabular}
+}
+
+\begin{center}
+Table from Cardine's Gregorian Semiology, pp.\ 14-15 with nabc strings and grelaon glyphs.
+\end{center}
+
+\vfill
+\pagebreak
+
\begin{center}
Table with nabc strings and corresponding gregall and gresgmodern glyphs:
\end{center}
@@ -447,6 +638,34 @@ Table with nabc strings and corresponding gregall and gresgmodern glyphs:
\pagebreak
\begin{center}
+Table with nabc strings and corresponding grelaon glyphs:
+\end{center}
+
+\begin{luacode*}
+ local i
+ local last
+ local key
+ local str
+ local keym
+ local arr = {}
+ for key in pairs(gregoriotex.nabc_font_tables['grelaon']) do
+ table.insert(arr, key)
+ end
+ table.sort(arr)
+ tex.sprint("\\begin{multicols}{4}\\noindent");
+ for i, key in ipairs(arr) do
+ keym = key:gsub("~","\\~{}")
+ str = keym .. "\\hfill"
+ str = str .. "{\\font\\grefontnabc={name:grelaon} at 8pt\\grefontnabc\\begin{gre@style@nabc}" .. gregoriotex.nabc_font_tables['grelaon'][key] .. "\\end{gre@style@nabc}}"
+ tex.sprint(str .. "\\\\")
+ end
+ tex.sprint("\\end{multicols}")
+\end{luacode*}
+
+\vfill
+\pagebreak
+
+\begin{center}
\huge{manuscript sources of the gregall font}
\end{center}
@@ -509,6 +728,7 @@ only present in the font source file to help drawing the glyphs.}
\texttt{C54A} Audi filia \texttt{GT417}\\
\texttt{C56B} Beatus vir \texttt{GT475}\\
\texttt{C56D} Desiderium animae \texttt{GT432}\\
+\texttt{C57B} Beatus vir \texttt{GT481}\\
\texttt{C58A} Adiutor \texttt{GT69}\\
\texttt{C59D} De profundis \texttt{GT673}\\
\texttt{C60S} Sciant gentes \texttt{GT88}\\
@@ -553,6 +773,7 @@ only present in the font source file to help drawing the glyphs.}
\texttt{C149A} Alleluia. Paratum cor meum \texttt{GT344}\\
\texttt{C150L} Alleluia Laetatus \texttt{GT19}\\
\texttt{C153S} Alleluia Sancti tui, Domine, benedicent \texttt{GT463}\\
+\texttt{C153B} Alleluia Beatus vir qui suffert \texttt{GT511}\\
\texttt{C154A} Alleluia Gaudete iusti \texttt{GT430}
\noindent\textbf{Einsiedeln codex 121}
@@ -577,6 +798,7 @@ only present in the font source file to help drawing the glyphs.}
\texttt{E39E} Exiit sermo inter \texttt{GT636}\\
\texttt{E42A} Anima nostra \texttt{GT466}\\
\texttt{E51R} Reges tharsis \texttt{OT21}\\
+\texttt{E64L} Laetamini in Domino \texttt{OT140}\\
\texttt{E69P} Posuisti Domine \texttt{GT477}\\
\texttt{E75G} Gaudeamus omnes \texttt{GT545}\\
\texttt{E82D} De profundis \texttt{GT673}\\
@@ -649,9 +871,13 @@ only present in the font source file to help drawing the glyphs.}
\texttt{H114N} Nativitas tua \texttt{AM1035}\\
\texttt{H118G} Gaude, Maria Virgo \texttt{NR130*}\\
\texttt{H119C} Cum inducerent\\
+\texttt{H173I} Insurrexerunt in me \texttt{NR364}\\
+\texttt{H173C} Contumelias et terrores \texttt{NR365}\\
\texttt{H179L} Liberavit Dominus \texttt{ARII183}\\
\texttt{H179A} Amicus meus osculi \texttt{NR381}\\
\texttt{H179I} Iudas mercator \texttt{NR382}\\
+\texttt{H219T} Tradiderunt me \texttt{NR408}\\
+\texttt{H219I} Iesum tradidit impius \texttt{NR409}\\
\texttt{H266D} Domino si in tempore\\
\texttt{H269S} Spiritus Sanctus\\
\texttt{H269D} Dum complerentur \texttt{NR493}\\
@@ -844,6 +1070,7 @@ only present in the font source file to help drawing the glyphs.}
\sneume{toS3lst2} & \texttt{toS3lst2} & \texttt{C59D} & tuae\\
\sneume{pq!cl-} & \texttt{pq!cl-} & \texttt{C87E} & sanasti\\
\sneume{to>1} & \texttt{to>1} & \texttt{E130I} & obdormiam & \fbox{2.166x}\\
+\sneume{to>2} & \texttt{to>2} & \texttt{H219T} & fortes: & \fbox{1.63x}\\
\sneume{to->} & \texttt{to->} & \texttt{E158D} & respexit & \fbox{2.166x}\\
\sneume{toS2sux1} & \texttt{toS2sux1} & \texttt{C46O} & Surge\\ \hline
& \multicolumn{3}{l}{\textbf{climacus}} & \\
@@ -895,6 +1122,7 @@ only present in the font source file to help drawing the glyphs.}
\sneume{vi-su1sut1} & \texttt{vi-su1sut1} \textit{Cf.} \sneume{vi-su1sut1su2} & \multicolumn{3}{l}{\texttt{vi-su1sut1su2} minus subpunctis}\\
\sneume{vi-su2sut1} & \texttt{vi-su2sut1} & \texttt{N296V} & alleluia\\
\sneume{vi-su1sux1} & \texttt{vi-su1sux1} & \texttt{E373B} & Sanctum & \fbox{2.133x}\\
+\sneume{vi-su2sux1} & \texttt{vi-su2sux1} & \texttt{C49I} & eum\\
\sneume{vi-sut4} & \texttt{vi-sut4} & \texttt{H16A} & servient & \fbox{1.7x}\\
\sneume{vi-suu2} & \texttt{vi-suu2} & \texttt{H23E} & ecce & \fbox{1.7x}\\
\sneume{vi-suu3} & \texttt{vi-suu3} & \texttt{H35G} & veniet & \fbox{1.7x}\\
@@ -944,6 +1172,7 @@ only present in the font source file to help drawing the glyphs.}
\sneume{pe-su2} & \texttt{pe-su2} & \texttt{H73S} & adoraverunt\\
\sneume{pe-1su2} & \texttt{pe-1su2} & \texttt{C64Q} & habitat\\
\sneume{pe-1sut2} & \texttt{pe-1sut2} & \texttt{H104T} & confitemur\\
+\sneume{pe-1sut1suw1} & \texttt{pe-1sut1suw1} & \texttt{H219I} & videret & \fbox{1.63x}\\
\sneume{peSsu2} & \texttt{peSsu2} & \texttt{A17T} & eius\\
\sneume{peSsut2} & \texttt{peSsut2} & \texttt{C27E} & sanctos\\
\sneume{vippt1su2} & \texttt{vippt1su2} & \texttt{C56B} & benedicetur.\\
@@ -1118,7 +1347,9 @@ only present in the font source file to help drawing the glyphs.}
\sneume{su1sut2} & \texttt{su1sut2} \textit{Cf.} \sneume{visu1sut2} & \multicolumn{2}{l}{\texttt{visu1sut2}}\\
\sneume{su1suu1} & \texttt{su1suu1} \textit{Cf.} \sneume{visu1suu1} & \multicolumn{2}{l}{\texttt{visu1suu1}}\\
\sneume{su2suw1} & \texttt{su2suw1} \textit{Cf.} \sneume{visu2suw1} & \multicolumn{2}{l}{\texttt{visu2suw1}}\\
+\sneume{su2sux1} & \texttt{su2sux1} \textit{Cf.} \sneume{vi-su2sux1} & \multicolumn{2}{l}{\texttt{vi-su2sux1}}\\
\sneume{sut1su2} & \texttt{sut1su2} \textit{Cf.} \sneume{visut1su2} & \multicolumn{2}{l}{\texttt{visut1su2}}\\
+\sneume{sut1suw1} & \texttt{sut1suw1} \textit{Cf.} \sneume{pe-1sut1suw1} & \multicolumn{2}{l}{\texttt{pe-1sut1suw1}}\\
\sneume{sut3} & \texttt{sut3} \textit{Cf.} \sneume{visut3} & \multicolumn{2}{l}{\texttt{visut3}}\\
\sneume{suv1su2} & \texttt{suv1su2} \textit{Cf.} \sneume{visuv1su2} & \multicolumn{2}{l}{\texttt{visuv1su2}}\\
\sneume{sut4} & \texttt{sut4} \textit{Cf.} \sneume{visut4} & \multicolumn{2}{l}{\texttt{visut4}}\\
@@ -1211,6 +1442,7 @@ only present in the font source file to help drawing the glyphs.}
\sneume{qi!cl-} & \texttt{qi!cl-} & \texttt{C148A} & factus\\
\sneume{qi!cl>} & \texttt{qi!cl>} & \texttt{H77S} & Magi\\
\sneume{qi!po} & \texttt{qi!po} & \texttt{H87E} & Deus\\
+\sneume{qi!po>} & \texttt{qi!po>} & \texttt{H173C} & adversum & \fbox{1.9x}\\
\sneume{pf!clM-ppt1} & \texttt{pf!clM-ppt1} & \texttt{E327O} & narante & \fbox{2.166x}\\
\sneume{cl!po>ppt1} & \texttt{cl!po>ppt1} & \texttt{E327O} & narante & \fbox{2.166x}\\
\sneume{qlppt1} & \texttt{qlppt1} & \texttt{C38T} & Sede\\
@@ -1255,7 +1487,8 @@ only present in the font source file to help drawing the glyphs.}
\sneume{ql-su1sut1} & \texttt{ql-su1sut1} & \texttt{H307F} & iustitiae & \fbox{2.0x}\\
\sneume{qippt2sut2} & \texttt{qippt2sut2} & \texttt{H297B} & generationes & \fbox{2.0x}\\
\sneume{ql!vssu3} & \texttt{ql!vssu3} & \texttt{H443V} & ei & \fbox{2.0x}\\
-\sneume{to!ciG} & \texttt{to!ciG} & \texttt{C28T} & gloriae.\\
+\sneume{to!ciG} & \texttt{to!ciG} & \texttt{E51R} & eum & \fbox{2.0x}\\
+\sneume{to!ciGhh} & \texttt{to!ciG} & \texttt{C28T} & gloriae.\\
\sneume{to!cl} & \texttt{to!cl} & \texttt{C84T} & pupillo\\
\sneume{to!cl!cl!cl} & \texttt{to!cl!cl!cl} & \texttt{C64Q} & sepavit,\\
\sneume{to!cl!po} & \texttt{to!cl!po} & \texttt{E31T} & veritas & \fbox{2.166x}\\
@@ -1267,6 +1500,7 @@ only present in the font source file to help drawing the glyphs.}
\sneume{to!clS} & \texttt{to!clS} & \texttt{C43A} & terram.\\
\sneume{to!cl!cl} & \texttt{to!cl!cl} & \texttt{C43A} & Domini,\\
\sneume{to!po} & \texttt{to!po} & \texttt{C64Q} & sagitta\\
+\sneume{to!posu2} & \texttt{to!posu2} & \texttt{C49I} & eo,\\
\sneume{to!pr} & \texttt{to!pr} & \texttt{G11V} & Deo & \fbox{0.85x}\\
\sneume{to!pi} & \texttt{to!pi} & \texttt{C60C} & tui.\\
\sneume{toSsu2} & \texttt{toSsu2} & \texttt{H72H} & mihi\\
@@ -1286,11 +1520,17 @@ only present in the font source file to help drawing the glyphs.}
\sneume{toS2sut2} & \texttt{toS2sut2} & \texttt{C150L} & dicta\\
\sneume{to-1su2} & \texttt{to-1su2} & \texttt{H322C} & ostendere & \fbox{2.0x}\\
\sneume{to-1su1} & \texttt{to-1su1} & \texttt{H323B} & Gallus & \fbox{2.0x}\\
+\sneume{to-1suu1} & \texttt{to-1suu1} & \texttt{H173I} & me & \fbox{1.8x}\\
\sneume{to-1suu1su2} & \texttt{to-1suu1su2} & \texttt{H324V} & cognovi & \fbox{2.0x}\\
\sneume{po-1pp2su1sux1} & \texttt{po-1pp2su1sux1} & \texttt{H323D} & desiderium & \fbox{2.0x}\\
\sneume{po-1su1sux1} & \texttt{po-1su1sux1} \textit{Cf.} \sneume{po-1pp2su1sux1} & \multicolumn{3}{l}{\texttt{po-1pp2su1sux1} minus bipunctis}\\
\sneume{pisu1} & \texttt{pisu1} & \texttt{H307N} & annuntiavit & \fbox{2.0x}\\
-\sneume{pq-su2} & \texttt{pq-su2} & \texttt{C132D} & praetioso\\ \hline
+\sneume{pisut1} & \texttt{pisut1} & \texttt{C153B} & Alleluia\\
+\sneume{pq-su2} & \texttt{pq-su2} & \texttt{C132D} & praetioso\\
+\sneume{pe!vi} & \texttt{pe!vi} & \texttt{C57B} & qui\\
+\sneume{tgsuu1} & \texttt{tgsuu1} & \texttt{C49I} & eum.\\
+\sneume{tgSsuu1} & \texttt{tgSsuu1} & \texttt{C57B} & nimis.\\
+\sneume{sa-su2sut1} & \texttt{sa-su2sut1} & \texttt{C49I} & eum\\ \hline
\end{supertabular}
\begin{supertabular}{llllll}\noindent
@@ -1326,6 +1566,7 @@ only present in the font source file to help drawing the glyphs.}
\sneume{lspar} & \texttt{lspar} & \texttt{E104S} & miserere & paratim & \fbox{2.166x}\\
\sneume{lspfec} & \texttt{lspfec} & \texttt{E2D} & fructum & perfecte & \fbox{2.166x}\\
\sneume{lspm} & \texttt{lspm} & \texttt{C40V} & suam. & \multicolumn{2}{l}{parvum mediocriter}\\
+\sneume{lspulcre} & \texttt{lspulcre} & \texttt{E64L} & hac & pulcre & \fbox{2.0x}\\
\sneume{lss} & \texttt{lss} & \texttt{C27E} & sanctos & \multicolumn{2}{l}{sursum}\\
\sneume{lssb} & \texttt{lssb} & \texttt{C40V} & iustitiam & \multicolumn{2}{l}{sursum bene}\\
\sneume{lssc} & \texttt{lssc} & \texttt{C84T} & Tibi & \multicolumn{2}{l}{sursum celeriter}\\
@@ -1342,6 +1583,812 @@ only present in the font source file to help drawing the glyphs.}
\sneume{lsvol} & \texttt{lsvol} & \texttt{C58A} & aeternum & \multicolumn{2}{l}{volubiliter}\\
\sneume{lsx} & \texttt{lsx} & \texttt{C87E} & me: & \multicolumn{2}{l}{expectare}\\ \hline
\end{supertabular}
+\onecolumn
+}
+
+\vfill
+\pagebreak
+
+\begin{center}
+\huge{manuscript sources of the grelaon font}
+\end{center}
+
+\textit{The list of glyphs uses following abbreviations for manuscript
+references; the page number is always for the start of some antiphon,
+responsory, mass propers, even when the actual neume is on a later page.
+At the end of lines, \texttt{GT} stands for Graduale Triplex, Solesmes,
+1979, \texttt{OT} for Offertoriale Triplex, Solesmes, 1985, \texttt{GN}
+for Graduale Novum de Dominicis et Festis, Conbrio Verlag Regensburg, 2011,
+followed by page number which also contains the corresponding
+propers, antiphons or responsories.}
+
+\textit{All the grelaon font glyphs taken from the LAON\_BM\_ms239 codex with
+the permission from the Bibliothèque municipale de la ville de Laon
+\url{http://manuscrit.ville-laon.fr}, the picture fragments from there are
+only present in the font source file to help drawing the glyphs.}
+
+{\footnotesize
+
+\begin{multicols}{2}
+
+\noindent\textbf{Graduale Laudunensis, codex 239}
+
+\noindent
+\texttt{L1} = \url{http://manuscrit.ville-laon.fr/_app/_visualisation.php?cote=Ms239&vue=9}\\
+\texttt{L8U} Universi qui te \texttt{GT16}\\
+\texttt{L8A} Ad te Domine levavi \texttt{OT5}\\
+\texttt{L8D} Dominus dabit \texttt{GT17}\\
+\texttt{L9E} Ex Sion species \texttt{GT18}\\
+\texttt{L10I} Ierusalem surge \texttt{GT20}\\
+\texttt{L11Q} Qui sedes, Domine \texttt{GT22}\\
+\texttt{L13A} Ave Maria \texttt{GT36}\\
+\texttt{L14P} Prope es tu Domine \texttt{GT24}\\
+\texttt{L14O} Ostende nobis \texttt{GT31}\\
+\texttt{L17H} Hodie scietis \texttt{GT38}\\
+\texttt{L19B} Benedictus qui venit \texttt{GT45}\\
+\texttt{L20P} Puer natus est \texttt{GT47}\\
+\texttt{L24D} Dextera Domini \texttt{GT194}\\
+\texttt{L24T} Timebunt gentes \texttt{GT265}\\
+\texttt{L25L} Laetabitur iustus \texttt{GT473}\\
+\texttt{L25M} Mirabantus omnes \texttt{GN232}\\
+\texttt{L28G} Gaudeamus omnes \texttt{GT545}\\
+\texttt{L31D} De profundis \texttt{GT673}\\
+\texttt{L33S} Sciant gentes \texttt{GT88}\\
+\texttt{L33C} Commovisti Domine \texttt{GT89}\\
+\texttt{L33P} Perfice gressus \texttt{OT90}\\
+\texttt{L34E} Esto mihi in Deum \texttt{GT275}\\
+\texttt{L35T} Tu es Deus \texttt{GT244}\\
+\texttt{L37M} Misereris omnium \texttt{GT62}\\
+\texttt{L37S} Miserere mei Deus \texttt{GT63}\\
+\texttt{L38I} Iacta cogitatum \texttt{GT285}\\
+\texttt{L40Q} Qui habitat \texttt{GT73}\\
+\texttt{L43L} Levabo oculos meos \texttt{GT78}\\
+\texttt{L43S} Scapulis suis \texttt{GT77}\\
+\texttt{L43I} Sicut oculi servorum \texttt{GT77}\\
+\texttt{L44D} Domine refugium \texttt{GT79}\\
+\texttt{L44I} Dirigatur oratio \texttt{GT340}\\
+\texttt{L45R} Reminiscere miserationum \texttt{GT81}\\
+\texttt{L53C} Confitemini Domino \texttt{GT158}\\
+\texttt{L54A} Adiutor meus \texttt{GT86}\\
+\texttt{L54B} Benedicam Dominum \texttt{OT88}\\
+\texttt{L56D} Deus in adiutorium \texttt{GT315}\\
+\texttt{L56S} Salvum fac populum \texttt{GT354}\\
+\texttt{L56I} Iustus Dominus \texttt{GT93}\\
+\texttt{L56P} Propitius esto Domine \texttt{GT288}\\
+\texttt{L58A} Ad Dominum dum tribularer \texttt{GT282}\\
+\texttt{L60E} Exsurge Domine \texttt{GT96}\\
+\texttt{L60A} Ad te levavi \texttt{GT97}\\
+\texttt{L61I} Iustitiae Domini \texttt{GT309}\\
+\texttt{L64O} Oculi omnium \texttt{GT343}\\
+\texttt{L64D} Domine fac mecum \texttt{OT37}\\
+\texttt{L67Q} Qui biberit aquam \texttt{GT99}\\
+\texttt{L67S} Si ambulem \texttt{GT125}\\
+\texttt{L68N} Nemo te condemnavit \texttt{GT124}\\
+\texttt{L68Q} Qui confidunt \texttt{GT109}\\
+\texttt{L71D} Dum santificatus fuero \texttt{GT249}\\
+\texttt{L72B} Benedicite gentes \texttt{GT231}\\
+\texttt{L75V} Videns Dominus \texttt{GT124}\\
+\texttt{L76E} Eripe me Domine \texttt{GT121}\\
+\texttt{L77S} Saepe expugnaverunt \texttt{GT122}\\
+\texttt{L77C} Confitebor tibi Domine \texttt{GT123}\\
+\texttt{L78H} Hoc corpus \texttt{GT170}\\
+\texttt{L80S} Sperent in te omnes \texttt{GT286}\\
+\texttt{L81E} Exaltabo te Domine \texttt{GT112}\\
+\texttt{L81R} Eripe me de inimicis \texttt{GT129}\\
+\texttt{L82O} Omnia quae fecisti \texttt{GT342}\\
+\texttt{L82T} Tollite hostias \texttt{GT272}\\
+\texttt{L84B} Benedictus es, Domine \texttt{OT48}\\
+\texttt{L90D} Deus Deus meus \texttt{GT144}\\
+\texttt{L92E} Exsurge Domine \texttt{GT150}\\
+\texttt{L93E} Erubescant et revereantur \texttt{GT152}\\
+\texttt{L93G} Ego autem dum mihi \texttt{GT152}\\
+\texttt{L94C} Custodi me Domine \texttt{GT154}\\
+\texttt{L95D} Domine, exaudi orationem \texttt{GT172}\\
+\texttt{L99P} Popule meus quid \texttt{GT176}\\
+\texttt{L101V} Vinea facta est \texttt{GT188}\\
+\texttt{L103R} Resurrexi \texttt{GT196}\\
+\texttt{L103H} Haec dies \texttt{GT196}\\
+\texttt{L103P} Alleluia Pascha nostrum \texttt{GT197}\\
+\texttt{L103T} Terra tremuit \texttt{GT199}\\
+\texttt{L104I} Introduxit vos Dominus \texttt{GT200}\\
+\texttt{L105A} Angelus Dominus \texttt{GT217}\\
+\texttt{L105N} Angelus Dominus \texttt{GT201}\\
+\texttt{L106S} Surrexit Dominus \texttt{GT207}\\
+\texttt{L107H} Haec dies \texttt{GT206}\\
+\texttt{L109P} Populus acquisitionis \texttt{GT210}\\
+\texttt{L112D} Deus Deus meus \texttt{GT224}\\
+\texttt{L112O} Omnes qui in Christo \texttt{GT61}\\
+\texttt{L113E} Ego sum pastor \texttt{GT224}\\
+\texttt{L114C} Cantate Domino \texttt{GT225}\\
+\texttt{L114V} Vocem iucunditatis \texttt{GT229}\\
+\texttt{L117R} Repleti sumus \texttt{GT441}\\
+\texttt{L118E} Ego sum vitis vera \texttt{GT228}\\
+\texttt{L122N} Non vos relinquam \texttt{GT232}\\
+\texttt{L122V} Viri Galilaei \texttt{OT172}\\
+\texttt{L123A} Ascendit Deus \texttt{GT237}\\
+\texttt{L123E} Exaudi Domine vocem \texttt{GT241}\\
+\texttt{L125U} Ultimo festivitatis \texttt{GT251}\\
+\texttt{L125S} Spiritus Domini \texttt{GT252}\\
+\texttt{L126F} Factus est repente \texttt{GT256}\\
+\texttt{L128S} Spiritus ubi vult spirat \texttt{GT218}\\
+\texttt{L132E} Ecce quam bonum \texttt{GT351}\\
+\texttt{L136A} Amen dico vobis quod vos \texttt{GT436}\\
+\texttt{L138S} Semel iuravi \texttt{GT492}\\
+\texttt{L144C} Clamaverunt iusti \texttt{GT454}\\
+\texttt{L149E} Ego dixi Domine \texttt{GT279}\\
+\texttt{L149C} Cantabo Domino qui bona \texttt{GT283}\\
+\texttt{L152S} Sicut in holocausto \texttt{GT299}\\
+\texttt{L152I} Inclina aurem tuam \texttt{GT300}\\
+\texttt{L164D} De profundis \texttt{GT368}\\
+\texttt{L168I} Iubilate Deo \texttt{GT258}\\
+\texttt{L168S} Specie tua \texttt{GT416}\\
+\texttt{L168L} Laudate Deum \texttt{GT262}\\
+\texttt{L169A} Adorabo ad templum \texttt{GT270}\\
+\texttt{L173D} Deus iudes iustus \texttt{GT286}\\
+\texttt{L174D} Domine in virtute tua \texttt{GT292}\\
+\texttt{L174I} In te Domine speravi \texttt{GT296}\\
+\texttt{L174O} Omnes gentes plaudite manibus \texttt{GT298}\\
+\texttt{L174T} Te dece hymnus \texttt{GT305}\\
+
+\end{multicols}
+}
+
+{
+\footnotesize
+\twocolumn
+\begin{supertabular}{lllll}\noindent
+& \multicolumn{3}{l}{\textbf{uncinus}} & \\
+\lneume{un} & \texttt{un} & \texttt{L78H} & testamenti\\
+\lneume{un1} & \texttt{un1} & \texttt{L78H} & calix\\
+\lneume{un2} & \texttt{un2} \textit{Cf.} \lneume{un2lsm1} & \multicolumn{3}{l}{\texttt{un2lsm1} minus letter} \\
+\lneume{un2lsm1} & \texttt{un2lsm1} & \texttt{L82O} & fecisti\\
+\lneume{unlsm1} & \texttt{unlsm1} & \texttt{L75V} & qui\\
+\lneume{unlst1} & \texttt{unlst1} & \texttt{L103R} & alleluia\\
+\lneume{unlst2} & \texttt{unlst2} & \texttt{L82O} & fac\\
+\lneume{unlst8} & \texttt{unlst8} & \texttt{L24D} & opera\\
+\lneume{un1lst8} & \texttt{un1lst8} & \texttt{L112O} & Christo\\
+\lneume{unlsm2lss3lst8} & \texttt{unlsm2lss3lst8} & \texttt{L43S} & scuto\\ \hline
+& \multicolumn{3}{l}{\textbf{punctum}} & \\
+\lneume{pu} & \texttt{pu} & \texttt{L82O} & iudicio\\
+\lneume{pu1} & \texttt{pu1} & \texttt{L56D} & revereantur\\
+\lneume{pulsnt3} & \texttt{pulsnt3} & \texttt{L75V} & flentes\\ \hline
+& \multicolumn{3}{l}{\textbf{virga}} & \\
+\lneume{vi} & \texttt{vi} & \texttt{L82O} & Domine\\
+\lneume{viS} & \texttt{viS} \textit{Cf.} \lneume{vipp2su2} & \multicolumn{3}{l}{\texttt{vipp2su2} minus punctis} \\
+\lneume{vi>} & \texttt{vi>} & \texttt{L78H} & in\\
+\lneume{vi>1} & \texttt{vi>1} \textit{Cf.} \lneume{vi>1lsa2lsc8} & \multicolumn{3}{l}{\texttt{vi>1lsa2lsc8} minus letters} \\
+\lneume{vi>2} & \texttt{vi>2} & \texttt{L82O} & nobiscum\\
+\lneume{vilst1} & \texttt{vilst1} & \texttt{L78H} & meam\\
+\lneume{vilst2} & \texttt{vilst2} & \texttt{L95D} & meus\\
+\lneume{vilst9} & \texttt{vilst9} & \texttt{L105A} & quaeritis,\\
+\lneume{vilss1} & \texttt{vilss1} & \texttt{L103P} & Alleluia.\\
+\lneume{vilss2} & \texttt{vilss2} & \texttt{L95D} & avertas\\
+\lneume{vilsst1} & \texttt{vilsst1} & \texttt{L103P} & Alleluia.\\
+\lneume{vilst2lsa8} & \texttt{vilst2lsa8} & \texttt{L95D} & eius.\\
+\lneume{vi>lsa6} & \texttt{vi>lsa6} & \texttt{L78H} & testamenti\\
+\lneume{vi>lsc6} & \texttt{vi>lsc6} & \texttt{L56D} & adiuvandum\\
+\lneume{vi>1lsa2lsc8} & \texttt{vi>1lsa2lsc8} & \texttt{L126F} & loquentes\\ \hline
+& \multicolumn{3}{l}{\textbf{tractulus}} & \\
+\lneume{ta} & \texttt{ta} & \texttt{L24T} & tuam.\\
+\lneume{ta>} & \texttt{ta>} & \texttt{L78H} & dicit\\
+\lneume{ta>1} & \texttt{ta>1} & \texttt{L82O} & mandatis\\
+\lneume{ta>2} & \texttt{ta>2} & \texttt{L90D} & sancto\\
+\lneume{ta>lsnl2} & \texttt{ta>lsnl2} & \texttt{L45R} & dominentur\\
+\lneume{ta>2lsc2} & \texttt{ta>2lsc2} & \texttt{L90D} & Libera\\ \hline
+& \multicolumn{3}{l}{\textbf{pes}} & \\
+\lneume{pe} & \texttt{pe} & \texttt{L78H} & commemorationem\\
+\lneume{peG} & \texttt{peG} & \texttt{L78H} & vobis\\
+\lneume{pe>} & \texttt{pe>} & \texttt{L95D} & exaudi\\
+\lneume{pe>1} & \texttt{pe>1} & \texttt{L78H} & sanguine\\
+\lneume{peG1} & \texttt{peG1} & \texttt{L67S} & tua,\\
+\lneume{pelsa2} & \texttt{pelsa2} & \texttt{L82O} & peccavimus\\
+\lneume{pelsc2} & \texttt{pelsc2} & \texttt{L67S} & tuus,\\
+\lneume{pelsl2} & \texttt{pelsl2} & \texttt{L43L} & iustitiam\\
+\lneume{pelsm2} & \texttt{pelsm2} & \texttt{L81E} & meam,\\
+\lneume{pelsn2} & \texttt{pelsn2} & \texttt{L149C} & qui\\
+\lneume{pelsn3} & \texttt{pelsn3} & \texttt{L125S} & replevit\\
+\lneume{pelsst1} & \texttt{pelsst1} & \texttt{L103P} & immolatum\\
+\lneume{pelsst1lsm4} & \texttt{pelsst1lsm4} & \texttt{L44I} & Elevatio\\
+\lneume{pelst2} & \texttt{pelst2} & \texttt{L103H} & saeculum\\
+\lneume{peGlsf1} & \texttt{peGlsf1} & \texttt{L67S} & non\\
+\lneume{peGlsa6} & \texttt{peGlsa6} & \texttt{L109P} & vocavit\\
+\lneume{pe>1lsa6} & \texttt{pe>1lsa6} & \texttt{L114V} & alleluia\\ \hline
+& \multicolumn{3}{l}{\textbf{porrectus}} & \\
+\lneume{po} & \texttt{po} & \texttt{L78H} & facite\\
+\lneume{poG} & \texttt{poG} & \texttt{L64D} & mecum\\
+\lneume{poM} & \texttt{poM} \textit{Cf.} \lneume{poMsun1} & \multicolumn{3}{l}{\texttt{poMsun1} minus uncinus} \\
+\lneume{po>} & \texttt{po>} \textit{Cf.} \lneume{po>pp2} & \multicolumn{3}{l}{\texttt{po>pp2} minus prepunctis} \\
+\lneume{po>1} & \texttt{po>1} & \texttt{L81E} & descendentibus\\
+\lneume{polsf2lst3} & \texttt{polsf2lst3} & \texttt{L95D} & meus\\
+\lneume{polst2} & \texttt{polst2} & \texttt{L103H} & saeculum\\ \hline
+& \multicolumn{3}{l}{\textbf{clivis}} & \\
+\lneume{cl} & \texttt{cl} \textit{Cf.} \lneume{cllsn9} & \multicolumn{3}{l}{\texttt{cllsn9} minus letter} \\
+\lneume{clG} & \texttt{clG} & \texttt{L78H} & hoc\\
+\lneume{clG1} & \texttt{clG1} & \texttt{L105N} & accedens\\
+\lneume{clGlsa5} & \texttt{clGlsa5} & \texttt{L82O} & obedivimus\\
+\lneume{clGlsnl2} & \texttt{clGlsnl2} & \texttt{L44I} & Elevatio\\
+\lneume{clM} & \texttt{clM} & \texttt{L78H} & quotiescumque\\
+\lneume{cl>} & \texttt{cl>} & \texttt{L75V} & monumentum\\
+\lneume{cl>1} & \texttt{cl>1} & \texttt{L34E} & locum\\
+\lneume{cllshn8} & \texttt{cllshn8} & \texttt{L64O} & imples\\
+\lneume{cllsn8} & \texttt{cllsn8} & \texttt{L95D} & velociter\\
+\lneume{cllsn9} & \texttt{cllsn9} & \texttt{L67S} & tua,\\
+\lneume{cllsst8} & \texttt{cllsst8} & \texttt{L64O} & imples\\
+\lneume{cllst9} & \texttt{cllst9} & \texttt{L95D} & tempus\\
+\lneume{cllsst6} & \texttt{cllsst6} & \texttt{L43L} & mirabilia\\
+\lneume{cllsm2} & \texttt{cllsm2} & \texttt{L45R} & nobis\\
+\lneume{cllsnt2} & \texttt{cllsnt2} & \texttt{L92E} & me\\
+\lneume{cl>lsa5} & \texttt{cl>lsa5} & \texttt{L71D} & effundam\\ \hline
+& \multicolumn{3}{l}{\textbf{oriscus-clivis}} & \\
+\lneume{oc} & \texttt{oc} & \texttt{L78H} & sanguine\\
+\lneume{ocG} & \texttt{ocG} & \texttt{L56D} & Deus\\
+\lneume{ocG1} & \texttt{ocG1} & \texttt{L11Q} & veniet\\
+\lneume{ocGlsa5} & \texttt{ocGlsa5} & \texttt{L103T} & resurgeret\\
+\lneume{oclst8} & \texttt{oclst8} & \texttt{L95D} & Domine\\ \hline
+& \multicolumn{3}{l}{\textbf{torculus}} & \\
+\lneume{to} & \texttt{to} & \texttt{L78H} & pro\\
+\lneume{toS} & \texttt{toS} & \texttt{L56S} & populum\\
+\lneume{toS1} & \texttt{toS1} & \texttt{L68N} & Nemo\\
+\lneume{toG} & \texttt{toG} & \texttt{L78H} & tradetur\\
+\lneume{to>} & \texttt{to>} & \texttt{L67S} & mortis\\
+\lneume{to~} & \texttt{to~} & \texttt{L37M} & et\\
+\lneume{tolsf4} & \texttt{tolsf4} & \texttt{L95D} & tempus\\
+\lneume{tolsn8} & \texttt{tolsn8} & \texttt{L44I} & vespertinum.\\
+\lneume{tolst9} & \texttt{tolst9} & \texttt{L103P} & Alleluia.\\
+\lneume{tolsth8} & \texttt{tolsth8} & \texttt{L56I} & Dominus,\\
+\lneume{tolsnt2lst9} & \texttt{tolsnt2lst9} & \texttt{L92E} & me\\
+\lneume{toGlsa1lst8} & \texttt{toGlsa1lst8} & \texttt{L109P} & alleluia.\\
+\lneume{toGlsa5} & \texttt{toGlsa5} & \texttt{L68N} & condemnabo\\
+\lneume{toSlsa5} & \texttt{toSlsa5} & \texttt{L77S} & enim\\
+\lneume{to>lsa5} & \texttt{to>lsa5} & \texttt{L118E} & in\\
+\lneume{to>2lsa3} & \texttt{to>2lsa3} & \texttt{L67Q} & salientis\\
+\lneume{to>2lsc1lsa3} & \texttt{to>2lsc1lsa3} & \texttt{L104I} & terram\\ \hline
+& \multicolumn{3}{l}{\textbf{climacus}} & \\
+\lneume{ci} & \texttt{ci} & \texttt{L95D} & eius.\\
+\lneume{unsun2} & \texttt{unsun2} & \texttt{L82O} & da\\
+\lneume{unsun3} & \texttt{unsun3} & \texttt{L103P} & immolatus\\
+\lneume{unsux1} & \texttt{unsux1} & \texttt{L169A} & sanctum\\
+\lneume{unsun1su2} & \texttt{unsun1su2} & \texttt{L109P} & tenebris\\
+\lneume{pusu1sun1} & \texttt{pusu1sun1} & \texttt{L78H} & tradetur\\
+\lneume{pusu1sun2} & \texttt{pusu1sun2} & \texttt{L95D} & Sion\\
+\lneume{pusu2sun1} & \texttt{pusu2sun1} & \texttt{L95D} & eius.\\
+\lneume{visu1sun1} & \texttt{visu1sun1} & \texttt{L95D} & faciem\\
+\lneume{visu1sun2} & \texttt{visu1sun2} & \texttt{L40Q} & latere\\
+\lneume{visu1sun2lsa5} & \texttt{visu1sun2lsa5} & \texttt{L174D} & et\\
+\lneume{visu1sun2lsa6} & \texttt{visu1sun2lsa6} & \texttt{L174D} & et\\
+\lneume{visu1sun1su1} & \texttt{visu1sun1su1} \textit{Cf.} \lneume{visu1sun1su1lst6} & \multicolumn{3}{l}{\texttt{visu1sun1su1lst6} minus letter} \\
+\lneume{visu1sun1su1lst6} & \texttt{visu1sun1su1lst6} & \texttt{L105N} & descendit\\
+\lneume{visu1sun1su2} & \texttt{visu1sun1su2} \textit{Cf.} \lneume{visu1sun1su2lss1lst6} & \multicolumn{3}{l}{\texttt{visu1sun1su2lss1lst6} minus letters} \\
+\lneume{visu1sun1su2lss1lst6} & \texttt{visu1sun1su2lss1lst6} & \texttt{L168I} & Alleluia.\\
+\lneume{visu2} & \texttt{visu2} & \texttt{L95D} & misereberis\\
+\lneume{visun1su1sun1} & \texttt{visun1su1sun1} & \texttt{L60E} & conspectu\\
+\lneume{visun1su1sun1lst6} & \texttt{visun1su1sun1lst6} & \texttt{L35T} & virtutem\\
+\lneume{cilsf1} & \texttt{cilsf1} & \texttt{L95D} & Sion\\
+\lneume{cilsn8} & \texttt{cilsn8} & \texttt{L58A} & iniquis,\\
+\lneume{pusu1sun1lsf1} & \texttt{pusu1sun1lsf1} & \texttt{L95D} & mei\\
+\lneume{pusu1sun2lsa5} & \texttt{pusu1sun2lsa5} & \texttt{L67S} & timebo\\
+\lneume{pusu1sun1lst7} & \texttt{pusu1sun1lst7} & \texttt{L60E} & homo\\
+\lneume{pusu3} & \texttt{pusu3} & \texttt{L64O} & escam\\
+\lneume{pusu4} & \texttt{pusu4} & \texttt{L92E} & persequntur.\\
+\lneume{unsun2su1} & \texttt{unsun2su1} & \texttt{L64O} & escam\\
+\lneume{unsun1su1} & \texttt{unsun1su1} \textit{Cf.} \lneume{unsun1su1lst2lsc6} & \multicolumn{3}{l}{\texttt{unsun1su1lst2lsc6} minus letters} \\
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{lllll}\noindent
+\lneume{unsun1su1lst2lsc6} & \texttt{unsun1su1lst2lsc6} & \texttt{L11Q} & deducis\\
+\lneume{unsun2lsa5} & \texttt{unsun2lsa5} & \texttt{L19B} & mirabile\\
+\lneume{unsun3lsa3} & \texttt{unsun3lsa3} & \texttt{L24T} & gentes\\
+\lneume{unsun3lsa6} & \texttt{unsun3lsa6} & \texttt{L24T} & tuam.\\
+\lneume{unsun2su2} & \texttt{unsun2su2} & \texttt{L169A} & confitebor\\
+\lneume{un1sun2su2} & \texttt{un1sun2su2} & \texttt{L136A} & aeternam\\
+\lneume{un1sun1su1sun1lsa1lsc4} & \texttt{un1sun1su1sun1lsa1lsc4} & \texttt{L60E} & retrorsum\\
+\lneume{un1sun1su1sun1lsa3lsc6} & \texttt{un1sun1su1sun1lsa3lsc6} & \texttt{L60E} & retrorsum\\
+\lneume{un1sun1su2} & \texttt{un1sun1su2} \textit{Cf.} \lneume{un1sun1su2lsa5} & \multicolumn{3}{l}{\texttt{un1sun1su2lsa5} minus letter} \\
+\lneume{un1sun1su2lsa5} & \texttt{un1sun1su2lsa5} & \texttt{L107H} & Domini\\ \hline
+& \multicolumn{3}{l}{\textbf{scandicus}} & \\
+\lneume{sc} & \texttt{sc} \textit{Cf.} \lneume{sclst2} & \multicolumn{3}{l}{\texttt{sclst2} minus letter} \\
+\lneume{sc1} & \texttt{sc1} & \texttt{L82O} & quia\\
+\lneume{sclst2} & \texttt{sclst2} & \texttt{L78H} & quotiescumque\\
+\lneume{sc1lsc4} & \texttt{sc1lsc4} & \texttt{L109P} & vocavit\\ \hline
+& \multicolumn{3}{l}{\textbf{porrectus flexus}} & \\
+\lneume{pf} & \texttt{pf} & \texttt{L78H} & corpus\\
+\lneume{pf1} & \texttt{pf1} & \texttt{L95D} & exaudi\\
+\lneume{pf2} & \texttt{pf2} & \texttt{L101V} & Sorec,\\
+\lneume{pfS} & \texttt{pfS} & \texttt{L56D} & festina\\
+\lneume{pfM} & \texttt{pfM} \textit{Cf.} \lneume{pfMlsmd3} & \multicolumn{3}{l}{\texttt{pfMlsmd3} minus letter} \\
+\lneume{pfMlsmd3} & \texttt{pfMlsmd3} & \texttt{L81E} & meam,\\
+\lneume{pf>} & \texttt{pf>} & \texttt{L164D} & ad\\
+\lneume{pf>1} & \texttt{pf>1} & \texttt{L90D} & miserunt\\
+\lneume{pf>2} & \texttt{pf>2} & \texttt{L104I} & alleluia,\\
+\lneume{pf~} & \texttt{pf~} & \texttt{L95D} & clamor\\
+\lneume{pf~1} & \texttt{pf~1} & \texttt{L31D} & ad\\ \hline
+& \multicolumn{3}{l}{\textbf{pes subbipunctis}} & \\
+\lneume{tosu1} & \texttt{tosu1} & \texttt{L82O} & Domine\\
+\lneume{tosun1} & \texttt{tosun1} & \texttt{L95D} & fumus\\
+\lneume{tosun2} & \texttt{tosun2} & \texttt{L105N} & revolvit\\
+\lneume{vippn1su2} & \texttt{vippn1su2} & \texttt{L82O} & misericordiae\\
+\lneume{topp1su1} & \texttt{topp1su1} \textit{Cf.} \lneume{topp1su1lsa6} & \multicolumn{3}{l}{\texttt{topp1su1lsa6} minus letter} \\
+\lneume{topp1su1lsa6} & \texttt{topp1su1lsa6} & \texttt{L95D} & ad\\
+\lneume{pesu2} & \texttt{pesu2} \textit{Cf.} \lneume{pesu2lst3} & \multicolumn{3}{l}{\texttt{pesu2lst3} minus letter} \\
+\lneume{pesu2lst3} & \texttt{pesu2lst3} & \texttt{L152I} & eruas\\
+\lneume{pesun3} & \texttt{pesun3} \textit{Cf.} \lneume{pesun3lss1lsa3} & \multicolumn{3}{l}{\texttt{pesun3lss1lsa3} minus letters} \\
+\lneume{pesun3lss1lsa3} & \texttt{pesun3lss1lsa3} & \texttt{L67S} & medio\\
+\lneume{pesu2sun1} & \texttt{pesu2sun1} & \texttt{L24T} & terrae\\
+\lneume{tosun1lsa5} & \texttt{tosun1lsa5} & \texttt{L67S} & tua,\\
+\lneume{tosu1lsc5} & \texttt{tosu1lsc5} & \texttt{L19B} & venit\\
+\lneume{toSsun1lsa5} & \texttt{toSsun1lsa5} & \texttt{L138S} & luna\\
+\lneume{tosun1su1sun1} & \texttt{tosun1su1sun1} & \texttt{L33S} & venti.\\
+\lneume{tosun1su2lsn3lst6} & \texttt{tosun1su2lsn3lst6} & \texttt{L112D} & nomine\\
+\lneume{tosun2lsa6} & \texttt{tosun2lsa6} & \texttt{L123A} & alleluia.\\ \hline
+& \multicolumn{3}{l}{\textbf{scandicus flexus}} & \\
+\lneume{sf} & \texttt{sf} & \texttt{L78H} & meo\\
+\lneume{sfG} & \texttt{sfG} & \texttt{L33C} & eam.\\ \hline
+& \multicolumn{3}{l}{\textbf{torculus resupinus}} & \\
+\lneume{tr} & \texttt{tr} & \texttt{L78H} & sumitis\\
+\lneume{trS} & \texttt{trS} & \texttt{L95D} & Domine,\\
+\lneume{tr>} & \texttt{tr>} & \texttt{L64D} & diligerent\\
+\lneume{poppn1} & \texttt{poppn1} & \texttt{L82O} & vero\\
+\lneume{po>ppn1} & \texttt{po>ppn1} & \texttt{L82O} & secundum\\
+\lneume{po>pp2} & \texttt{po>pp2} & \texttt{L28G} & angeli,\\
+\lneume{trlst3lshp7} & \texttt{trlst3lshp7} & \texttt{L109P} & alleluia.\\
+\lneume{trlss1lss3} & \texttt{trlss1lss3} & \texttt{L103P} & Christus.\\
+\lneume{trSlsc1} & \texttt{trSlsc1} & \texttt{L103P} & nostrum\\ \hline
+& \multicolumn{3}{l}{\textbf{distropha}} & \\
+\lneume{ds} & \texttt{ds} \textit{Cf.} \lneume{dslst2} & \multicolumn{3}{l}{\texttt{dslst2} minus letter} \\
+\lneume{dslst2} & \texttt{dslst2} & \texttt{L95D} & meam\\
+\lneume{dslst8} & \texttt{dslst8} & \texttt{L71D} & effundam\\
+\lneume{ds1} & \texttt{ds1} \textit{Cf.} \lneume{ds1pp3} & \multicolumn{3}{l}{\texttt{ds1pp3} minus prepunctis} \\ \hline
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{lllll}\noindent
+& \multicolumn{3}{l}{\textbf{tristropha}} & \\
+\lneume{ts} & \texttt{ts} & \texttt{L82O} & fac\\
+\lneume{ts1} & \texttt{ts1} & \texttt{L76E} & Eripe\\
+\lneume{ts>} & \texttt{ts>} & \texttt{L56D} & adiuvandum\\
+\lneume{ts>1} & \texttt{ts>1} & \texttt{L103R} & alleluia\\
+\lneume{tslsa2} & \texttt{tslsa2} & \texttt{L13A} & tecum\\
+\lneume{tslsc2lst2} & \texttt{tslsc2lst2} & \texttt{L58A} & Domine,\\
+\lneume{ts>lsc2} & \texttt{ts>lsc2} & \texttt{L103R} & alleluia\\
+\lneume{ts>lsc6} & \texttt{ts>lsc6} & \texttt{L103T} & dum\\ \hline
+& \multicolumn{3}{l}{\textbf{trigonus}} & \\
+\lneume{tg} & \texttt{tg} & \texttt{L67S} & tua,\\
+\lneume{tglsn8} & \texttt{tglsn8} & \texttt{L67S} & mala\\
+\lneume{tglst9} & \texttt{tglst9} & \texttt{L103R} & alleluia\\ \hline
+& \multicolumn{3}{l}{\textbf{bivirga}} & \\
+\lneume{bv} & \texttt{bv} & \texttt{L82O} & Domine\\
+\lneume{bvlsa2} & \texttt{bvlsa2} & \texttt{L82O} & nobis\\ \hline
+& \multicolumn{3}{l}{\textbf{trivirga}} & \\
+\lneume{tv} & \texttt{tv} & \texttt{L103H} & bonus\\
+\lneume{tvlsm2} & \texttt{tvlsm2} & \texttt{L44I} & Elevatio\\ \hline
+& \multicolumn{3}{l}{\textbf{pressus}} & \\
+\lneume{pr} & \texttt{pr} & \texttt{L95D} & veniat\\
+\lneume{pi} & \texttt{pi} \textit{Cf.} \lneume{cl1!pi} & \multicolumn{3}{l}{\texttt{cl1!pi} minus clivis} \\ \hline
+& \multicolumn{3}{l}{\textbf{virga strata}} & \\
+\lneume{vs} & \texttt{vs} & \texttt{L64D} & Deus\\
+\lneume{vsG} & \texttt{vsG} & \texttt{L64D} & suavis\\ \hline
+& \multicolumn{3}{l}{\textbf{oriscus}} & \\
+\lneume{or} & \texttt{or} \textit{Cf.} \lneume{ocG} & \multicolumn{3}{l}{\texttt{ocG} minus uncinus} \\
+\lneume{orlst3} & \texttt{orlst3} & \texttt{L103P} & Alleluia.\\
+\lneume{or1} & \texttt{or1} \textit{Cf.} \lneume{ocG1} & \multicolumn{3}{l}{\texttt{ocG1} minus uncinus} \\
+\lneume{or>} & \texttt{or>} \textit{Cf.} \lneume{or>lsa1} & \multicolumn{3}{l}{\texttt{or>lsa1} minus letter} \\
+\lneume{or>lsa1} & \texttt{or>lsa1} & \texttt{L103R} & alleluia,\\ \hline
+& \multicolumn{3}{l}{\textbf{salicus}} & \\
+\lneume{sa} & \texttt{sa} & \texttt{L82O} & nomini\\
+\lneume{sa1} & \texttt{sa1} & \texttt{L78H} & novi\\
+\lneume{sa>1} & \texttt{sa>1} & \texttt{L9E} & sanctos\\
+\lneume{salsc4} & \texttt{salsc4} & \texttt{L93G} & exsurge\\
+\lneume{salsc6} & \texttt{salsc6} & \texttt{L93G} & autem,\\
+\lneume{sa1lsc4} & \texttt{sa1lsc4} & \texttt{L81E} & salvasti\\
+\lneume{sa1lsc6} & \texttt{sa1lsc6} & \texttt{L113E} & bonus,\\ \hline
+& \multicolumn{3}{l}{\textbf{pes quassus}} & \\
+\lneume{pq} & \texttt{pq} & \texttt{L103H} & eius.\\
+\lneume{pq1} & \texttt{pq1} & \texttt{L169A} & Alleluia. & \texttt{L174T}\\ \hline
+& \multicolumn{3}{l}{\textbf{quilisma}} & \\
+\lneume{ql} & \texttt{ql} \textit{Cf.} \lneume{qllsst2} & \multicolumn{3}{l}{\texttt{qllsst2} minus letter} \\
+\lneume{qllsst2} & \texttt{qllsst2} & \texttt{L53C} & Domine,\\
+\lneume{ql>} & \texttt{ql>} \textit{Cf.} \lneume{ql>ppn1} & \multicolumn{3}{l}{\texttt{ql>ppn1} minus uncinus} \\ \hline
+& \multicolumn{3}{l}{\textbf{pes stratus}} & \\
+\lneume{pt1} & \texttt{pt1} & \texttt{L13A} & ventris\\
+\lneume{pt2} & \texttt{pt2} & \texttt{L8U} & confundentur,\\
+\lneume{pt3} & \texttt{pt3} & \texttt{L94C} & Domine.\\ \hline
+& \multicolumn{3}{l}{\textbf{subpunctis}} & \\
+\lneume{su1} & \texttt{su1} \textit{Cf.} \lneume{cl1!pi!tosu1} & \multicolumn{2}{l}{\texttt{cl1!pi!tosu1}}\\
+\lneume{su1sun1} & \texttt{su1sun1} \textit{Cf.} \lneume{cl!toppz1su1sun1} & \multicolumn{2}{l}{\texttt{cl!toppz1su1sun1}}\\
+\lneume{su1sun1su1} & \texttt{su1sun1su1} \textit{Cf.} \lneume{visu1sun1su1lst6} & \multicolumn{2}{l}{\texttt{visu1sun1su1lst6}}\\
+\lneume{su1sun1su2} & \texttt{su1sun1su2} \textit{Cf.} \lneume{visu1sun1su2lss1lst6} & \multicolumn{2}{l}{\texttt{visu1sun1su2lss1lst6}}\\
+\lneume{su1sun2} & \texttt{su1sun2} \textit{Cf.} \lneume{pusu1sun2} & \multicolumn{2}{l}{\texttt{pusu1sun2}}\\
+\lneume{su1sux1} & \texttt{su1sux1} \textit{Cf.} \lneume{popp2su1sux1} & \multicolumn{2}{l}{\texttt{popp2su1sux1}}\\
+\lneume{su2} & \texttt{su2} \textit{Cf.} \lneume{cl1!pi!pesu2} & \multicolumn{2}{l}{\texttt{cl1!pi!pesu2}}\\
+\lneume{su2sun1} & \texttt{su2sun1} \textit{Cf.} \lneume{clsu2sun1lst6} & \multicolumn{2}{l}{\texttt{clsu2sun1lst6}}\\
+\lneume{su3} & \texttt{su3} \textit{Cf.} \lneume{pusu3} & \multicolumn{2}{l}{\texttt{pusu3}}\\
+\lneume{su4} & \texttt{su4} \textit{Cf.} \lneume{pusu4} & \multicolumn{2}{l}{\texttt{pusu4}}\\
+\lneume{sun1} & \texttt{sun1} \textit{Cf.} \lneume{cl1!pi!orsun1} & \multicolumn{2}{l}{\texttt{cl1!pi!orsun1}}\\
+\lneume{sun1su1} & \texttt{sun1su1} \textit{Cf.} \lneume{unsun1su1lst2lsc6} & \multicolumn{2}{l}{\texttt{unsun1su1lst2lsc6}}\\
+\lneume{sun1su1sun1} & \texttt{sun1su1sun1} \textit{Cf.} \lneume{visun1su1sun1} & \multicolumn{2}{l}{\texttt{visun1su1sun1}}\\
+\lneume{sun1su2} & \texttt{sun1su2} \textit{Cf.} \lneume{qlppn1sun1su2} & \multicolumn{2}{l}{\texttt{qlppn1sun1su2}}\\
+\lneume{sun2} & \texttt{sun2} \textit{Cf.} \lneume{qlsun2} & \multicolumn{2}{l}{\texttt{qlsun2}}\\
+\lneume{sun2su1} & \texttt{sun2su1} \textit{Cf.} \lneume{unsun2su1} & \multicolumn{2}{l}{\texttt{unsun2su1}}\\
+\lneume{sun2su2} & \texttt{sun2su2} \textit{Cf.} \lneume{unsun2su2} & \multicolumn{2}{l}{\texttt{unsun2su2}}\\
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{lllll}\noindent
+\lneume{sun3} & \texttt{sun3} \textit{Cf.} \lneume{unsun3} & \multicolumn{2}{l}{\texttt{unsun3}}\\
+\lneume{sun4} & \texttt{sun4} \textit{Cf.} \lneume{bvsun4} & \multicolumn{2}{l}{\texttt{bvsun4}}\\
+\lneume{sux1} & \texttt{sux1} \textit{Cf.} \lneume{posux1} & \multicolumn{2}{l}{\texttt{posux1}}\\ \hline
+& \multicolumn{3}{l}{\textbf{prepunctis}} & \\
+\lneume{pp1} & \texttt{pp1} \textit{Cf.} \lneume{pupp1su2} & \multicolumn{2}{l}{\texttt{pupp1su2}}\\
+\lneume{pp2} & \texttt{pp2} \textit{Cf.} \lneume{cl1!pipp2} & \multicolumn{2}{l}{\texttt{cl1!pipp2}}\\
+\lneume{pp2ppn1} & \texttt{pp2ppn1} \textit{Cf.} \lneume{vipp2ppn1} & \multicolumn{2}{l}{\texttt{vipp2ppn1}}\\
+\lneume{pp3} & \texttt{pp3} \textit{Cf.} \lneume{vipp3lsn3} & \multicolumn{2}{l}{\texttt{vipp3lsn3}}\\
+\lneume{pp4} & \texttt{pp4} \textit{Cf.} \lneume{vipp4lst2} & \multicolumn{2}{l}{\texttt{vipp4lst2}}\\
+\lneume{ppn1} & \texttt{ppn1} \textit{Cf.} \lneume{po>ppn1} & \multicolumn{2}{l}{\texttt{po>ppn1}}\\
+\lneume{ppn1pp1} & \texttt{ppn1pp1} \textit{Cf.} \lneume{vippn1pp1} & \multicolumn{2}{l}{\texttt{vippn1pp1}}\\
+\lneume{ppn1pp1ppz1} & \texttt{ppn1pp1ppz1} \textit{Cf.} \lneume{vippn1pp1ppz1lst8} & \multicolumn{2}{l}{\texttt{vippn1pp1ppz1lst8}}\\
+\lneume{ppn1ppq1} & \texttt{ppn1ppq1} \textit{Cf.} \lneume{vippn1ppq1} & \multicolumn{2}{l}{\texttt{vippn1ppq1}}\\
+\lneume{ppn1ppz1} & \texttt{ppn1ppz1} \textit{Cf.} \lneume{ql!cl!orppn1ppz1} & \multicolumn{2}{l}{\texttt{ql!cl!orppn1ppz1}}\\
+\lneume{ppn1ppz1ppq1} & \texttt{ppn1ppz1ppq1} \textit{Cf.} \lneume{vi>1ppn1ppz1ppq1} & \multicolumn{2}{l}{\texttt{vi>1ppn1ppz1ppq1}}\\
+\lneume{ppn2} & \texttt{ppn2} \textit{Cf.} \lneume{vippn2lst3lsa4} & \multicolumn{2}{l}{\texttt{vippn2lst3lsa4}}\\
+\lneume{ppn2ppz1} & \texttt{ppn2ppz1} \textit{Cf.} \lneume{vippn2ppz1sun1lsa5} & \multicolumn{2}{l}{\texttt{vippn2ppz1sun1lsa5}}\\
+\lneume{ppn2ppz1ppq1} & \texttt{ppn2ppz1ppq1} \textit{Cf.} \lneume{vippn2ppz1ppq1lst2lsa8} & \multicolumn{2}{l}{\texttt{vippn2ppz1ppq1lst2lsa8}}\\
+\lneume{ppn3} & \texttt{ppn3} \textit{Cf.} \lneume{unppn3sun1lsa5} & \multicolumn{2}{l}{\texttt{unppn3sun1lsa5}}\\
+\lneume{ppn3ppz1} & \texttt{ppn3ppz1} \textit{Cf.} \lneume{toppn3ppz1sun1} & \multicolumn{2}{l}{\texttt{toppn3ppz1sun1}}\\
+\lneume{ppn4} & \texttt{ppn4} \textit{Cf.} \lneume{vippn4} & \multicolumn{2}{l}{\texttt{vippn4}}\\
+\lneume{ppq1} & \texttt{ppq1} \textit{Cf.} \lneume{vippq1} & \multicolumn{2}{l}{\texttt{vippq1}}\\
+\lneume{ppz1} & \texttt{ppz1} \textit{Cf.} \lneume{puppz1su2} & \multicolumn{2}{l}{\texttt{puppz1su2}}\\
+\lneume{ppz1ppq1} & \texttt{ppz1ppq1} \textit{Cf.} \lneume{vi>1ppz1ppq1} & \multicolumn{2}{l}{\texttt{vi>1ppz1ppq1}}\\ \hline
+& \multicolumn{3}{l}{\textbf{combined glyphs}} & \\
+\lneume{pe!ta} & \texttt{pe!ta} \textit{Cf.} \lneume{pe!talsa2} & \multicolumn{3}{l}{\texttt{pe!talsa2} minus letter} \\
+\lneume{pe!talsa2} & \texttt{pe!talsa2} & \texttt{L82O} & iudicio\\
+\lneume{pe!talsc1lst2} & \texttt{pe!talsc1lst2} & \texttt{L114C} & revelavit\\
+\lneume{pe!un} & \texttt{pe!un} \textit{Cf.} \lneume{pe!unlsc2} & \multicolumn{3}{l}{\texttt{pe!unlsc2} minus letter} \\
+\lneume{pe!unlsc2} & \texttt{pe!unlsc2} & \texttt{L95D} & meam\\
+\lneume{pe!pu} & \texttt{pe!pu} & \texttt{L95D} & eius.\\
+\lneume{pe!ta>2} & \texttt{pe!ta>2} \textit{Cf.} \lneume{pe!ta>2lsa2} & \multicolumn{3}{l}{\texttt{pe!ta>2lsa2} minus letter} \\
+\lneume{pe!ta>2lsa2} & \texttt{pe!ta>2lsa2} & \texttt{L60E} & gentes\\
+\lneume{pe!or} & \texttt{pe!or} & \texttt{L93G} & induebam\\
+\lneume{qlppn1sun1} & \texttt{qlppn1sun1} & \texttt{L53C} & Domino,\\
+\lneume{qlppn1sun1su2} & \texttt{qlppn1sun1su2} & \texttt{L82O} & tibi\\
+\lneume{qlppn1su1sun2} & \texttt{qlppn1su1sun2} & \texttt{L95D} & frixorio\\
+\lneume{qlppn1su2} & \texttt{qlppn1su2} \textit{Cf.} \lneume{qlppn1su2lsnl1} & \multicolumn{3}{l}{\texttt{qlppn1su2lsnl1} minus letters} \\
+\lneume{qlppn1su2lsnl1} & \texttt{qlppn1su2lsnl1} & \texttt{L75V} & mortuus.\\
+\lneume{qlppn1sun1lsc5} & \texttt{qlppn1sun1lsc5} & \texttt{L54B} & quoniam\\
+\lneume{qlppn1su1sun1} & \texttt{qlppn1su1sun1} & \texttt{L107H} & fecit\\
+\lneume{qlsu1sun1} & \texttt{qlsu1sun1} & \texttt{L43L} & tua\\
+\lneume{qlsu2} & \texttt{qlsu2} & \texttt{L67S} & tua,\\
+\lneume{qlsux1} & \texttt{qlsux1} & \texttt{L53C} & quoniam\\
+\lneume{qlsun1su2} & \texttt{qlsun1su2} & \texttt{L44I} & mearum\\
+\lneume{qlsun1} & \texttt{qlsun1} \textit{Cf.} \lneume{qlsun1lsa5} & \multicolumn{3}{l}{\texttt{qlsun1lsa5} minus letter} \\
+\lneume{qlsun1lsa5} & \texttt{qlsun1lsa5} & \texttt{L40Q} & millia\\
+\lneume{qlsun2} & \texttt{qlsun2} & \texttt{L122N} & alleluia.\\
+\lneume{qlsun2lsa5} & \texttt{qlsun2lsa5} & \texttt{L125U} & alleluia.\\
+\lneume{ql!po} & \texttt{ql!po} & \texttt{L82O} & obedivimus\\
+\lneume{ql!poppz1} & \texttt{ql!poppz1} \textit{Cf.} \lneume{ql!poppz1lsa3} & \multicolumn{3}{l}{\texttt{ql!poppz1lsa3} minus letter} \\
+\lneume{ql!poppz1lsa3} & \texttt{ql!poppz1lsa3} & \texttt{L95D} & Domine,\\
+\lneume{ql!poppn1} & \texttt{ql!poppn1} & \texttt{L43L} & Domine,\\
+\lneume{ql!posu1sun1} & \texttt{ql!posu1sun1} \textit{Cf.} \lneume{ql!poppz1su1sun1} & \multicolumn{3}{l}{\texttt{ql!poppz1su1sun1} minus uncinus} \\
+\lneume{ql!poppz1su1sun1} & \texttt{ql!poppz1su1sun1} & \texttt{L43L} & mandata\\
+\lneume{ql!posun1} & \texttt{ql!posun1} \textit{Cf.} \lneume{ql!poppn1sun1} & \multicolumn{3}{l}{\texttt{ql!poppn1sun1} minus uncinus} \\
+\lneume{ql!poppn1sun1} & \texttt{ql!poppn1sun1} & \texttt{L61I} & Iustitiae\\
+\lneume{ql!poppn1lst2} & \texttt{ql!poppn1lst2} & \texttt{L103P} & Alleluia.\\
+\lneume{ql!posux1} & \texttt{ql!posux1} \textit{Cf.} \lneume{ql!poppn1sux1} & \multicolumn{3}{l}{\texttt{ql!poppn1sux1} minus uncinus} \\
+\lneume{ql!poppn1sux1} & \texttt{ql!poppn1sux1} & \texttt{L61I} & corda,\\
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{lllll}\noindent
+\lneume{ql!polsm1} & \texttt{ql!polsm1} & \texttt{L103P} & immolatus\\
+\lneume{ql!polsa1lsa3lsa9} & \texttt{ql!polsa1lsa3lsa9} & \texttt{L56P} & nostris\\
+\lneume{ql!po>} & \texttt{ql!po>} \textit{Cf.} \lneume{ql!po>ppn1} & \multicolumn{3}{l}{\texttt{ql!po>ppn1} minus uncinus} \\
+\lneume{ql!po>ppn1} & \texttt{ql!po>ppn1} & \texttt{L60A} & ancillae\\
+\lneume{ql!cl} & \texttt{ql!cl} & \texttt{L43L} & doceas\\
+\lneume{ql!cl!to} & \texttt{ql!cl!to} \textit{Cf.} \lneume{ql!cl!tolst6} & \multicolumn{3}{l}{\texttt{ql!cl!tolst6} minus letter} \\
+\lneume{ql!cl!tolst6} & \texttt{ql!cl!tolst6} & \texttt{L95D} & me.\\
+\lneume{ql!cl!to!or} & \texttt{ql!cl!to!or} \textit{Cf.} \lneume{ql!cl!to!orsun1} & \multicolumn{3}{l}{\texttt{ql!cl!to!orsun1} minus uncinus} \\
+\lneume{ql!cl!to!orsun1} & \texttt{ql!cl!to!orsun1} & \texttt{L19B} & nobis.\\
+\lneume{ql!cl!toppn1} & \texttt{ql!cl!toppn1} & \texttt{L72B} & vitam,\\
+\lneume{ql!cl!tosu3} & \texttt{ql!cl!tosu3} \textit{Cf.} \lneume{ql!cl!tosu3lst6} & \multicolumn{3}{l}{\texttt{ql!cl!tosu3lst6} minus letter} \\
+\lneume{ql!cl!tosu3lst6} & \texttt{ql!cl!tosu3lst6} & \texttt{L82T} & hostias,\\
+\lneume{ql!cl!or} & \texttt{ql!cl!or} \textit{Cf.} \lneume{ql!cl!orppn1ppz1} & \multicolumn{3}{l}{\texttt{ql!cl!orppn1ppz1} minus uncinus \& virga} \\
+\lneume{ql!cl!orppn1ppz1} & \texttt{ql!cl!orppn1ppz1} & \texttt{L109P} & Populus\\
+\lneume{ql!cl!tr>} & \texttt{ql!cl!tr>} \textit{Cf.} \lneume{ql!cl!tr>ppz1} & \multicolumn{3}{l}{\texttt{ql!cl!tr>ppz1} minus virga} \\
+\lneume{ql!cl!tr>ppz1} & \texttt{ql!cl!tr>ppz1} & \texttt{L54B} & vias\\
+\lneume{ql!clppn1} & \texttt{ql!clppn1} & \texttt{L54B} & a\\
+\lneume{qlppn1} & \texttt{qlppn1} & \texttt{L82O} & nomini\\
+\lneume{qlppn1ppz1} & \texttt{qlppn1ppz1} & \texttt{L82O} & gloriam\\
+\lneume{qlppn1ppz1lst2} & \texttt{qlppn1ppz1lst2} & \texttt{L82O} & da\\
+\lneume{qlppn1ppz1sun1} & \texttt{qlppn1ppz1sun1} \textit{Cf.} \lneume{qlppn1ppz1sun1lsa5} & \multicolumn{3}{l}{\texttt{qlppn1ppz1sun1lsa5} minus letter} \\
+\lneume{qlppn1ppz1sun1lsa5} & \texttt{qlppn1ppz1sun1lsa5} & \texttt{L54B} & mihi\\
+\lneume{qlppn1ppz1su1sun1} & \texttt{qlppn1ppz1su1sun1} & \texttt{L43I} & dominorum\\
+\lneume{qlppn2sun1} & \texttt{qlppn2sun1} \textit{Cf.} \lneume{qlppn2sun1lsa5} & \multicolumn{3}{l}{\texttt{qlppn2sun1lsa5} minus letter} \\
+\lneume{qlppn2sun1lsa5} & \texttt{qlppn2sun1lsa5} & \texttt{L53C} & Beati\\
+\lneume{qlppn2sun2} & \texttt{qlppn2sun2} \textit{Cf.} \lneume{qlppn2sun2lsa5lsa5} & \multicolumn{3}{l}{\texttt{qlppn2sun2lsa5lsa5} minus letters} \\
+\lneume{qlppn2sun2lsa5lsa5} & \texttt{qlppn2sun2lsa5lsa5} & \texttt{L122V} & sic\\
+\lneume{qlppz1su2} & \texttt{qlppz1su2} & \texttt{L40Q} & draconem.\\
+\lneume{qlppz1su1sun1} & \texttt{qlppz1su1sun1} & \texttt{L53C} & nos\\
+\lneume{ql>ppn1} & \texttt{ql>ppn1} & \texttt{L95D} & confrixa\\
+\lneume{ql>ppn1lsc3} & \texttt{ql>ppn1lsc3} & \texttt{L90D} & speraverunt\\
+\lneume{popp2} & \texttt{popp2} & \texttt{L82O} & multitudinem\\
+\lneume{popp2su1sux1} & \texttt{popp2su1sux1} & \texttt{L8U} & confundentur,\\
+\lneume{posux1} & \texttt{posux1} & \texttt{L20P} & eius\\
+\lneume{posux1lsa5} & \texttt{posux1lsa5} & \texttt{L114V} & alleluia,\\
+\lneume{posun1lsa5} & \texttt{posun1lsa5} & \texttt{L123A} & alleluia.\\
+\lneume{poMsun1} & \texttt{poMsun1} & \texttt{L81E} & meos\\
+\lneume{posu1sun1} & \texttt{posu1sun1} & \texttt{L123E} & alleluia.\\
+\lneume{vippn1su1} & \texttt{vippn1su1} & \texttt{L56D} & Deus\\
+\lneume{vippn1sux1} & \texttt{vippn1sux1} & \texttt{L53C} & Memento\\
+\lneume{vippn1su1sun1} & \texttt{vippn1su1sun1} & \texttt{L45R} & tuae,\\
+\lneume{vippn1su1sun1lst2} & \texttt{vippn1su1sun1lst2} & \texttt{L95D} & Domine,\\
+\lneume{vippn2sun1} & \texttt{vippn2sun1} \textit{Cf.} \lneume{vippn2sun1lsa4} & \multicolumn{3}{l}{\texttt{vippn2sun1lsa4} minus letter} \\
+\lneume{vippn2sun1lsa4} & \texttt{vippn2sun1lsa4} & \texttt{L44I} & mea\\
+\lneume{vippn2} & \texttt{vippn2} \textit{Cf.} \lneume{vippn2lsa4} & \multicolumn{3}{l}{\texttt{vippn2lsa4} minus letter} \\
+\lneume{vippn2lsc4} & \texttt{vippn2lsc4} & \texttt{L56D} & quaerunt\\
+\lneume{vippn2lsa4} & \texttt{vippn2lsa4} & \texttt{L44I} & Elevatio\\
+\lneume{vippn2lst3lsa4} & \texttt{vippn2lst3lsa4} & \texttt{L103P} & Alleluia.\\
+\lneume{vippn3} & \texttt{vippn3} & \texttt{L38I} & Domino,\\
+\lneume{vippn4} & \texttt{vippn4} & \texttt{L60E} & homo\\
+\lneume{vipp2ppn1} & \texttt{vipp2ppn1} & \texttt{L13A} & gratia\\
+\lneume{cl!pe} & \texttt{cl!pe} \textit{Cf.} \lneume{cl!pelsc2} & \multicolumn{3}{l}{\texttt{cl!pelsc2} minus letter} \\
+\lneume{cl!pelst2} & \texttt{cl!pelst2} & \texttt{L95D} & sum\\
+\lneume{cl!pelsc2} & \texttt{cl!pelsc2} & \texttt{L105A} & Domini\\
+\lneume{cl!pelsn7} & \texttt{cl!pelsn7} & \texttt{L103H} & ea.\\
+\lneume{vipp2su2} & \texttt{vipp2su2} & \texttt{L43L} & mihi\\
+\lneume{vipp2sun1lsa5} & \texttt{vipp2sun1lsa5} & \texttt{L168L} & eum\\
+\lneume{vipp3} & \texttt{vipp3} \textit{Cf.} \lneume{vipp3lsn3} & \multicolumn{3}{l}{\texttt{vipp3lsn3} minus letter} \\
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{lllll}\noindent
+\lneume{vipp3lsn3} & \texttt{vipp3lsn3} & \texttt{L152S} & Sicut\\
+\lneume{vippn1pp1} & \texttt{vippn1pp1} & \texttt{L11Q} & Israel,\\
+\lneume{vippn1pp1su1sun2} & \texttt{vippn1pp1su1sun2} & \texttt{L40Q} & volante\\
+\lneume{vippn3su4} & \texttt{vippn3su4} & \texttt{L173D} & Alleluia.\\
+\lneume{vipp4} & \texttt{vipp4} \textit{Cf.} \lneume{vipp4lst2} & \multicolumn{3}{l}{\texttt{vipp4lst2} minus letter} \\
+\lneume{vipp4lst2} & \texttt{vipp4lst2} & \texttt{L13A} & Ave\\
+\lneume{vippz1ppq1} & \texttt{vippz1ppq1} & \texttt{L40Q} & lapidem\\
+\lneume{vippn1ppq1} & \texttt{vippn1ppq1} & \texttt{L33S} & venti.\\
+\lneume{vippn1ppz1ppq1} & \texttt{vippn1ppz1ppq1} & \texttt{L101V} & Israel\\
+\lneume{vippn1pp1ppz1} & \texttt{vippn1pp1ppz1} \textit{Cf.} \lneume{vippn1pp1ppz1lst8} & \multicolumn{3}{l}{\texttt{vippn1pp1ppz1lst8} minus letter} \\
+\lneume{vippn1pp1ppz1lst8} & \texttt{vippn1pp1ppz1lst8} & \texttt{L25M} & ore\\
+\lneume{vippn2ppz1ppq1} & \texttt{vippn2ppz1ppq1} \textit{Cf.} \lneume{vippn2ppz1ppq1lst2lsa8} & \multicolumn{3}{l}{\texttt{vippn2ppz1ppq1lst2lsa8} minus} \\
+& & \multicolumn{3}{r}{letters} \\
+\lneume{vippn2ppz1ppq1lst2lsa8} & \texttt{vippn2ppz1ppq1lst2lsa8} & \texttt{L169A} & confitebor\\
+\lneume{vippn2ppz1sun1lsa5} & \texttt{vippn2ppz1sun1lsa5} & \texttt{L173D} & Alleluia.\\
+\lneume{vippn3sun1lsa5} & \texttt{vippn3sun1lsa5} & \texttt{L173D} & Alleluia.\\
+\lneume{vippq1} & \texttt{vippq1} & \texttt{L168S} & regna.\\
+\lneume{cl1!or} & \texttt{cl1!or} \textit{Cf.} \lneume{cl1!orlss3} & \multicolumn{3}{l}{\texttt{cl1!orlss3} minus letter} \\
+\lneume{cl1!orlss3} & \texttt{cl1!orlss3} & \texttt{L60E} & iudicentur\\
+\lneume{cl1!orlsc3} & \texttt{cl1!orlsc3} & \texttt{L60E} & conspectu\\
+\lneume{cl1!pi} & \texttt{cl1!pi} & \texttt{L95D} & avertas\\
+\lneume{cl1!pi>} & \texttt{cl1!pi>} & \texttt{L53C} & misericordia\\
+\lneume{cl1!pi!to} & \texttt{cl1!pi!to} & \texttt{L82O} & fecisti\\
+\lneume{cl1!pi!vi} & \texttt{cl1!pi!vi} & \texttt{L95D} & Domine,\\
+\lneume{cl!pi!vi>} & \texttt{cl!pi!vi>} & \texttt{L67S} & Virga\\
+\lneume{cl1!pi!cl} & \texttt{cl1!pi!cl} & \texttt{L64O} & implebis\\
+\lneume{cl1!pi!pesu2} & \texttt{cl1!pi!pesu2} & \texttt{L61I} & dulciora\\
+\lneume{cl1!pilsm3lsa6} & \texttt{cl1!pilsm3lsa6} & \texttt{L174I} & me\\
+\lneume{cl1!pilsn8} & \texttt{cl1!pilsn8} & \texttt{L53C} & iudicium,\\
+\lneume{cl1!pilsn9} & \texttt{cl1!pilsn9} & \texttt{L64O} & Aperis\\
+\lneume{cl1!pilst9} & \texttt{cl1!pilst9} & \texttt{L90D} & Longe\\
+\lneume{cl1!pipp2} & \texttt{cl1!pipp2} & \texttt{L60A} & Deum\\
+\lneume{cl1!pi!orsun1} & \texttt{cl1!pi!orsun1} & \texttt{L90D} & Israel.\\
+\lneume{cl!po} & \texttt{cl!po} & \texttt{L67S} & es,\\
+\lneume{cl!popp3} & \texttt{cl!popp3} & \texttt{L122V} & ascendentem\\
+\lneume{cl!to} & \texttt{cl!to} & \texttt{L17H} & eius.\\
+\lneume{cl!tosu1} & \texttt{cl!tosu1} & \texttt{L17H} & eius.\\
+\lneume{cl!tosu1lsc6} & \texttt{cl!tosu1lsc6} & \texttt{L81E} & me\\
+\lneume{cl!tosu1lsc6lst8} & \texttt{cl!tosu1lsc6lst8} & \texttt{L81E} & me\\
+\lneume{cl!topp2} & \texttt{cl!topp2} & \texttt{L64D} & misericordia\\
+\lneume{cl!toppz1su1sun1} & \texttt{cl!toppz1su1sun1} & \texttt{L35T} & Israel\\
+\lneume{cl!tolst9} & \texttt{cl!tolst9} & \texttt{L56I} & dilexit\\
+\lneume{cl!to>} & \texttt{cl!to>} & \texttt{L56I} & aequitatem\\
+\lneume{cl!tosun1lsa5} & \texttt{cl!tosun1lsa5} & \texttt{L164D} & meam.\\
+\lneume{cl!to!pi} & \texttt{cl!to!pi} \textit{Cf.} \lneume{cl!to!pipp2} & \multicolumn{3}{l}{\texttt{cl!to!pipp2} minus prepunctis} \\
+\lneume{cl!to!pipp2} & \texttt{cl!to!pipp2} & \texttt{L33C} & arcus,\\
+\lneume{cl!to!pi!cl} & \texttt{cl!to!pi!cl} & \texttt{L77S} & Israel\\
+\lneume{cl!to!pi!clpp2} & \texttt{cl!to!pi!clpp2} & \texttt{L33C} & eius,\\
+\lneume{cl!to!pi!clpp2lsn9} & \texttt{cl!to!pi!clpp2lsn9} & \texttt{L68Q} & Sion\\
+\lneume{cl!to!cl!cl} & \texttt{cl!to!cl!cl} & \texttt{L81R} & meis,\\
+\lneume{to!cl} & \texttt{to!cl} & \texttt{L95D} & Domine,\\
+\lneume{to!cl!cl} & \texttt{to!cl!cl} \textit{Cf.} \lneume{to!cl!cllst9} & \multicolumn{3}{l}{\texttt{to!cl!cllst9} minus letter} \\
+\lneume{to!cl!clsun2} & \texttt{to!cl!clsun2} \textit{Cf.} \lneume{to!cl!clsun2lsa5} & \multicolumn{3}{l}{\texttt{to!cl!clsun2lsa5} minus letter} \\
+\lneume{to!cl!clsun2lsa5} & \texttt{to!cl!clsun2lsa5} & \texttt{L43L} & tuam\\
+\lneume{to!cl!cllst9} & \texttt{to!cl!cllst9} & \texttt{L8A} & invocavite.\\
+\lneume{to!cl!clsu1} & \texttt{to!cl!clsu1} & \texttt{L33P} & meam.\\
+\lneume{to!cl!pi} & \texttt{to!cl!pi} & \texttt{L84B} & iniqui\\
+\lneume{to!cl!orsun1} & \texttt{to!cl!orsun1} & \texttt{L114V} & terrae\\
+\lneume{to!clsun1} & \texttt{to!clsun1} & \texttt{L54B} & quoniam\\
+\lneume{to!clsun1lsa5} & \texttt{to!clsun1lsa5} & \texttt{L11Q} & Ioseph.\\
+\lneume{to!clsu2} & \texttt{to!clsu2} \textit{Cf.} \lneume{to!clsu2lsn6} & \multicolumn{3}{l}{\texttt{to!clsu2lsn6} minus letter} \\
+\lneume{to!clsu2lsn6} & \texttt{to!clsu2lsn6} & \texttt{L8D} & dabit\\
+\lneume{to!clsu1sun1} & \texttt{to!clsu1sun1} \textit{Cf.} \lneume{to!clsu1sun1lsm6} & \multicolumn{3}{l}{\texttt{to!clsu1sun1lsm6} minus letter} \\
+\lneume{to!clsu1sun1lsm6} & \texttt{to!clsu1sun1lsm6} & \texttt{L24D} & opera\\
+\lneume{clsu2sun1lst6} & \texttt{clsu2sun1lst6} & \texttt{L35T} & tuam.\\
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{lllll}\noindent
+\lneume{to!clM} & \texttt{to!clM} & \texttt{L77C} & corde\\
+\lneume{to!cl>1} & \texttt{to!cl>1} & \texttt{L77C} & tuum,\\
+\lneume{to!po} & \texttt{to!po} & \texttt{L84B} & Appropinquaverunt\\
+\lneume{to!pohd} & \texttt{to!pohd} & \texttt{L105A} & quaeritis,\\
+\lneume{to!to} & \texttt{to!to} \textit{Cf.} \lneume{to!toppn1sun1} & \multicolumn{3}{l}{\texttt{to!toppn1sun1} minus 2x uncinus} \\
+\lneume{to!tosun1} & \texttt{to!tosun1} \textit{Cf.} \lneume{to!toppn1sun1} & \multicolumn{3}{l}{\texttt{to!toppn1sun1} minus uncinus} \\
+\lneume{to!toppn1sun1} & \texttt{to!toppn1sun1} & \texttt{L43L} & discam\\
+\lneume{to!to!pi!cl} & \texttt{to!to!pi!cl} \textit{Cf.} \lneume{to!to!pi!clpp2} & \multicolumn{3}{l}{\texttt{to!to!pi!clpp2} minus prepunctis} \\
+\lneume{to!to!pi!clpp2} & \texttt{to!to!pi!clpp2} & \texttt{L60A} & nostrum,\\
+\lneume{toS!to} & \texttt{toS!to} & \texttt{L53C} & Confitemini\\
+\lneume{toS!tolst9} & \texttt{toS!tolst9} & \texttt{L90D} & Deus,\\
+\lneume{toS!pe} & \texttt{toS!pe} & \texttt{L123E} & Exaudi,\\
+\lneume{to!or} & \texttt{to!or} & \texttt{L67S} & Domine.\\
+\lneume{to!orsun1lsa5} & \texttt{to!orsun1lsa5} & \texttt{L8U} & Domine.\\
+\lneume{to!orlst3} & \texttt{to!orlst3} & \texttt{L114V} & audiatur,\\
+\lneume{to!orlsc6} & \texttt{to!orlsc6} & \texttt{L152S} & taurorum,\\
+\lneume{to!pi!cl} & \texttt{to!pi!cl} & \texttt{L31D} & est,\\
+\lneume{to!pi!cl!pi!pi} & \texttt{to!pi!cl!pi!pi} & \texttt{L40Q} & millia\\
+\lneume{to!pi!cl!pi!orsun1lsa5} & \texttt{to!pi!cl!pi!orsun1lsa5} & \texttt{L40Q} & speravit,\\
+\lneume{oc!vi} & \texttt{oc!vi} \textit{Cf.} \lneume{oc!visun1} & \multicolumn{3}{l}{\texttt{oc!visun1} minus uncinus} \\
+\lneume{oc!visun1} & \texttt{oc!visun1} & \texttt{L95D} & Domine,\\
+\lneume{orsu1sun1} & \texttt{orsu1sun1} & \texttt{L94C} & Domine.\\
+\lneume{orsu1sun1lsc2} & \texttt{orsu1sun1lsc2} & \texttt{L94C} & Domine.\\
+\lneume{orsu1sun1lsc3} & \texttt{orsu1sun1lsc3} & \texttt{L94C} & iniquis\\
+\lneume{un!clG} & \texttt{un!clG} & \texttt{L95D} & exaudi\\
+\lneume{topp2} & \texttt{topp2} & \texttt{L95D} & meus\\
+\lneume{topp2sun1} & \texttt{topp2sun1} & \texttt{L45R} & tuarum,\\
+\lneume{toppn3ppz1sun1} & \texttt{toppn3ppz1sun1} & \texttt{L58A} & me.\\
+\lneume{to>pp2} & \texttt{to>pp2} & \texttt{L90D} & insipientiam\\
+\lneume{pupp2su1sun1} & \texttt{pupp2su1sun1} & \texttt{L95D} & sunt.\\
+\lneume{pupp2su2} & \texttt{pupp2su2} & \texttt{L93E} & me.\\
+\lneume{pupp1su2} & \texttt{pupp1su2} & \texttt{L64O} & opportuno.\\
+\lneume{pupp1su1sun1} & \texttt{pupp1su1sun1} & \texttt{L58A} & clamavi,\\
+\lneume{puppn1su1sun2} & \texttt{puppn1su1sun2} & \texttt{L40Q} & mille,\\
+\lneume{puppz1su1sun2} & \texttt{puppz1su1sun2} & \texttt{L40Q} & mille,\\
+\lneume{puppz1su2} & \texttt{puppz1su2} & \texttt{L168S} & tua\\
+\lneume{ds1!ds1} & \texttt{ds1!ds1} & \texttt{L43L} & meos,\\
+\lneume{ds1!ts} & \texttt{ds1!ts} & \texttt{L67S} & mecum\\
+\lneume{ds1!ts1} & \texttt{ds1!ts1} & \texttt{L60E} & tuo.\\
+\lneume{cl1!orsun1} & \texttt{cl1!orsun1} & \texttt{L43L} & considerabo\\
+\lneume{cl1!orsun1lsa5} & \texttt{cl1!orsun1lsa5} & \texttt{L8U} & fac\\
+\lneume{cl!or} & \texttt{cl!or} \textit{Cf.} \lneume{cl!orpp2} & \multicolumn{3}{l}{\texttt{cl!orpp2} minus prepunctis} \\
+\lneume{cl!orpp2} & \texttt{cl!orpp2} & \texttt{L93G} & induebam\\
+\lneume{cl1!orpp2} & \texttt{cl1!orpp2} & \texttt{L103R} & mirabilis\\
+\lneume{ds1!clsun2} & \texttt{ds1!clsun2} \textit{Cf.} \lneume{ds1!clsun2lst5} & \multicolumn{3}{l}{\texttt{ds1!clsun2lst5} minus letter} \\
+\lneume{ds1!clsun2lst5} & \texttt{ds1!clsun2lst5} & \texttt{L43L} & doceas\\
+\lneume{ds1!clsu1sun1} & \texttt{ds1!clsu1sun1} \textit{Cf.} \lneume{ds1!clsu1sun1lst5} & \multicolumn{3}{l}{\texttt{ds1!clsu1sun1lst5} minus letter} \\
+\lneume{ds1!clsu1sun1lst5} & \texttt{ds1!clsu1sun1lst5} & \texttt{L56S} & Salvum\\
+\lneume{ds1pp3} & \texttt{ds1pp3} & \texttt{L149E} & tibi.\\
+\lneume{vi>1pp2} & \texttt{vi>1pp2} & \texttt{L67S} & umbrae\\
+\lneume{vi>1ppz1ppq1} & \texttt{vi>1ppz1ppq1} & \texttt{L40Q} & custodiant\\
+\lneume{vi>1ppn1ppz1ppq1} & \texttt{vi>1ppn1ppz1ppq1} & \texttt{L106S} & Alleluia.\\
+\lneume{pfsun1} & \texttt{pfsun1} \textit{Cf.} \lneume{pfsun1lsn5} & \multicolumn{3}{l}{\texttt{pfsun1lsn5} minus letter} \\
+\lneume{pfsun1lsn5} & \texttt{pfsun1lsn5} & \texttt{L67S} & tua,\\
+\lneume{pfppn1ppq1sun1lsa5} & \texttt{pfppn1ppq1sun1lsa5} & \texttt{L123A} & Deus\\
+\lneume{un1ppn1ppq1sun2} & \texttt{un1ppn1ppq1sun2} & \texttt{L112O} & estis,\\
+\lneume{un1sun2} & \texttt{un1sun2} \textit{Cf.} \lneume{un1ppn1ppq1sun2} & \multicolumn{3}{l}{\texttt{un1ppn1ppq1sun2} minus uncinus} \\
+& & \multicolumn{3}{r}{\& quilisma} \\
+\lneume{un1ppn1sun2} & \texttt{un1ppn1sun2} & \texttt{L112O} & Christum\\
+\lneume{un1ppn1sun1su2lsa5} & \texttt{un1ppn1sun1su2lsa5} & \texttt{L152I} & accelera,\\
+\lneume{clsun1lst5} & \texttt{clsun1lst5} & \texttt{L44I} & vespertinum.\\
+\lneume{clsu3lst5} & \texttt{clsu3lst5} & \texttt{L60E} & tuo.\\
+\lneume{tosu1sun1} & \texttt{tosu1sun1} \textit{Cf.} \lneume{tosu1sun1lsn6} & \multicolumn{3}{l}{\texttt{tosu1sun1lsn6} minus letter} \\
+\lneume{tosu1sun1lsc6lst7} & \texttt{tosu1sun1lsc6lst7} & \texttt{L109P} & vocavit\\
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{lllll}\noindent
+\lneume{tosu1sun1lsn6} & \texttt{tosu1sun1lsn6} & \texttt{L19B} & venit\\
+\lneume{tosu2} & \texttt{tosu2} \textit{Cf.} \lneume{tosu2lst6} & \multicolumn{3}{l}{\texttt{tosu2lst6} minus letter} \\
+\lneume{tosu2lst6} & \texttt{tosu2lst6} & \texttt{L37M} & tu\\
+\lneume{tgsun1lsa5} & \texttt{tgsun1lsa5} & \texttt{L103H} & quoniam\\
+\lneume{cl!cl!clsun1lsa5} & \texttt{cl!cl!clsun1lsa5} & \texttt{L103P} & Alleluia.\\
+\lneume{cl!cl!cl} & \texttt{cl!cl!cl} \textit{Cf.} \lneume{cl!cl!cllsn9} & \multicolumn{3}{l}{\texttt{cl!cl!cllsn9} minus letter} \\
+\lneume{cl!cl!cllsn9} & \texttt{cl!cl!cllsn9} & \texttt{L31D} & Domine\\
+\lneume{cl!cl!pi} & \texttt{cl!cl!pi} & \texttt{L54B} & commovear\\
+\lneume{cl!cl!pi!vi} & \texttt{cl!cl!pi!vi} & \texttt{L123A} & Dominus\\
+\lneume{cl!cl!to} & \texttt{cl!cl!to} & \texttt{L149E} & meam,\\
+\lneume{cl!cl!po} & \texttt{cl!cl!po} & \texttt{L81R} & insurgentibus\\
+\lneume{cl1!pi!pi!vi} & \texttt{cl1!pi!pi!vi} & \texttt{L54B} & es\\
+\lneume{cl1!pi!pisun1lsa5} & \texttt{cl1!pi!pisun1lsa5} & \texttt{L174O} & plaudite\\
+\lneume{cl1!pi!tosu1} & \texttt{cl1!pi!tosu1} & \texttt{L37S} & mei\\
+\lneume{cl1!pi!tosun1} & \texttt{cl1!pi!tosun1} & \texttt{L174O} & plaudite\\
+\lneume{sa1sun1lsa5} & \texttt{sa1sun1lsa5} & \texttt{L11Q} & tuam\\
+\lneume{trsun2} & \texttt{trsun2} \textit{Cf.} \lneume{trsun2lsa5} & \multicolumn{3}{l}{\texttt{trsun2lsa5} minus letter} \\
+\lneume{trsun2lsa5} & \texttt{trsun2lsa5} & \texttt{L13A} & Ave\\
+\lneume{trsux1} & \texttt{trsux1} \textit{Cf.} \lneume{trsux1lsa5} & \multicolumn{3}{l}{\texttt{trsux1lsa5} minus letter} \\
+\lneume{trsux1lst8} & \texttt{trsux1lst8} & \texttt{L20P} & eius,\\
+\lneume{trsux1lsa5} & \texttt{trsux1lsa5} & \texttt{L136A} & aeternam\\
+\lneume{trsu2} & \texttt{trsu2} \textit{Cf.} \lneume{trsu2lst3lsm8} & \multicolumn{3}{l}{\texttt{trsu2lst3lsm8} minus letters} \\
+\lneume{trsu2lst3lsm8} & \texttt{trsu2lst3lsm8} & \texttt{L136A} & vobis\\
+\lneume{trsun1su2} & \texttt{trsun1su2} \textit{Cf.} \lneume{trsun1su2lsa3} & \multicolumn{3}{l}{\texttt{trsun1su2lsa3} minus letter} \\
+\lneume{trsun1su2lsa3} & \texttt{trsun1su2lsa3} & \texttt{L149C} & Domini\\
+\lneume{bvsun4} & \texttt{bvsun4} & \texttt{L8U} & me.\\
+\lneume{oc!cl} & \texttt{oc!cl} & \texttt{L31D} & Domine.\\
+\lneume{oc!clM} & \texttt{oc!clM} & \texttt{L77S} & peccatorum.\\
+\lneume{oc!pe!pu} & \texttt{oc!pe!pu} & \texttt{L53C} & tuo.\\
+\lneume{tg!cl} & \texttt{tg!cl} & \texttt{L31D} & est,\\
+\lneume{tg!cl>1} & \texttt{tg!cl>1} & \texttt{L33C} & eius,\\
+\lneume{tg!cllsn9} & \texttt{tg!cllsn9} & \texttt{L68Q} & Sion\\
+\lneume{tg!or} & \texttt{tg!or} & \texttt{L77C} & tibi\\
+\lneume{unppn1sun2} & \texttt{unppn1sun2} & \texttt{L40Q} & Cadent\\
+\lneume{unppn1sun2lsa5} & \texttt{unppn1sun2lsa5} & \texttt{L123E} & quaesivi\\
+\lneume{unppn1sux1} & \texttt{unppn1sux1} & \texttt{L72B} & eius\\
+\lneume{unppn1sux1lsa5} & \texttt{unppn1sux1lsa5} & \texttt{L24D} & exaltavit\\
+\lneume{unppn1sun1su2} & \texttt{unppn1sun1su2} & \texttt{L58A} & Domine,\\
+\lneume{unppn1ppz1sun1} & \texttt{unppn1ppz1sun1} \textit{Cf.} \lneume{unppn1ppz1sun1lsa5} & \multicolumn{3}{l}{\texttt{unppn1ppz1sun1lsa5} minus letter} \\
+\lneume{unppn1ppz1sun1lsa5} & \texttt{unppn1ppz1sun1lsa5} & \texttt{L80S} & habitat\\
+\lneume{unppn3sun1lsa5} & \texttt{unppn3sun1lsa5} & \texttt{L24D} & fecit\\
+\lneume{ta>ppn1} & \texttt{ta>ppn1} & \texttt{L95D} & et\\
+\lneume{ta>pp2} & \texttt{ta>pp2} & \texttt{L33C} & ut\\
+\lneume{pt1ppn1} & \texttt{pt1ppn1} & \texttt{L99P} & tuo.\\
+\lneume{tssun1lsa5} & \texttt{tssun1lsa5} & \texttt{L24D} & dextera\\
+\lneume{cl>1pp2} & \texttt{cl>1pp2} & \texttt{L114C} & alleluia,\\
+\lneume{tasu2} & \texttt{tasu2} & \texttt{L24T} & tuam.\\ \hline
+\end{supertabular}
+
+\vfill
+\pagebreak
+
+\begin{supertabular}{llllll}\noindent
+& \multicolumn{4}{l}{\textbf{significative letters}} & \\
+\lneume{lsa} & \texttt{lsa} \textit{Cf.} \lneume{vi>lsa6} & \multicolumn{2}{l}{\texttt{vi>lsa6}} & augete\\
+\lneume{lsc} & \texttt{lsc} \textit{Cf.} \lneume{pe!unlsc2} & \multicolumn{2}{l}{\texttt{pe!unlsc2}} & celeriter\\
+\lneume{lseq} & \texttt{lseq} & \texttt{L78H} & hic & equaliter\\
+\lneume{lseq-} & \texttt{lseq-} & \texttt{L78H} & quotiescumque & equaliter\\
+\lneume{lsequ} & \texttt{lsequ} & \texttt{L56D} & confundantur & equaliter\\
+\lneume{lsf} & \texttt{lsf} \textit{Cf.} \lneume{polsf2lst3} & \multicolumn{2}{l}{\texttt{polsf2lst3}} & fastigium\\
+\lneume{lsh} & \texttt{lsh} & \texttt{L44D} & a & humiliter\\
+\lneume{lshn} & \texttt{lshn} \textit{Cf.} \lneume{cllshn8} & \multicolumn{2}{l}{\texttt{cllshn8}} & humiliter nectum\\
+\lneume{lshp} & \texttt{lshp} \textit{Cf.} \lneume{trlst3lshp7} & \multicolumn{2}{l}{\texttt{trlst3lshp7}} & humiliter parum\\
+\lneume{lsl} & \texttt{lsl} \textit{Cf.} \lneume{pelsl2} & \multicolumn{2}{l}{\texttt{pelsl2}} & levare\\
+\lneume{lsn} & \texttt{lsn} \textit{Cf.} \lneume{cllsn9} & \multicolumn{2}{l}{\texttt{cllsn9}} & non (tenere), negare,\\
+& & & & nectum, naturaliter\\
+\lneume{lsnl} & \texttt{lsnl} \textit{Cf.} \lneume{clGlsnl2} & \multicolumn{2}{l}{\texttt{clGlsnl2}} & non levare\\
+\lneume{lsnt} & \texttt{lsnt} \textit{Cf.} \lneume{pulsnt3} & \multicolumn{2}{l}{\texttt{pulsnt3}} & non tenere\\
+\lneume{lsm} & \texttt{lsm} & \texttt{L67S} & Virga & mediocriter\\
+\lneume{lsmd} & \texttt{lsmd} & \texttt{L82O} & da & mediocriter\\
+\lneume{lss} & \texttt{lss} & \texttt{L95D} & tempus & sursum\\
+\lneume{lssimp} & \texttt{lssimp} & \texttt{L8U} & Domine, & simpliciter\\
+\lneume{lssimpl} & \texttt{lssimpl} & \texttt{L81R} & insurgentibus & simpliciter\\
+\lneume{lssp} & \texttt{lssp} & \texttt{L54Ae} & Domine, & sursum parum\\
+\lneume{lsst} & \texttt{lsst} \textit{Cf.} \lneume{pelsst1lsm4} & \multicolumn{2}{l}{\texttt{pelsst1lsm4}} & sursum tenere\\
+\lneume{lst} & \texttt{lst} \textit{Cf.} \lneume{clsun1lst5} & \multicolumn{2}{l}{\texttt{clsun1lst5}} & tenere\\
+\lneume{lsth} & \texttt{lsth} \textit{Cf.} \lneume{tolsth8} & \multicolumn{2}{l}{\texttt{tolsth8}} & tenere humiliter\\ \hline
+\end{supertabular}
+
+\begin{supertabular}{llllll}\noindent
+& \multicolumn{4}{l}{\textbf{tironian notes}} & \\
+\lneume{lti} & \texttt{lti} & \texttt{L78H} & pro & iusum\\
+\lneume{ltdo} & \texttt{ltdo} & \texttt{L14O} & misericordiam & deorsum\\
+\lneume{ltdr} & \texttt{ltdr} & \texttt{L132E} & descendit & devertit\\
+\lneume{ltdx} & \texttt{ltdx} & \texttt{L122V} & intuerentus & devexum\\
+\lneume{ltps} & \texttt{ltps} & \texttt{L128S} & veniat, & prode sub eam (trade subtus)\\
+\lneume{ltqm} & \texttt{ltqm} & \texttt{L118E} & sum & quam mox\\
+\lneume{ltsb} & \texttt{ltsb} & \texttt{L11Q} & et & sub\\
+\lneume{ltse} & \texttt{ltse} & \texttt{L144C} & corde & seorsum\\
+\lneume{ltsj} & \texttt{ltsj} & \texttt{L164D} & meam & subjice\\
+\lneume{ltsl} & \texttt{ltsl} & \texttt{L117R} & delectati & saltim\\
+\lneume{ltsn} & \texttt{ltsn} & \texttt{L17H} & gloriam & sonare\\
+\lneume{ltsp} & \texttt{ltsp} & \texttt{L10I} & Ierusalem & supra\\
+\lneume{ltsr} & \texttt{ltsr} & \texttt{L14P} & et & sursum\\
+\lneume{ltst} & \texttt{ltst} & \texttt{L25L} & omnes & saltate (salte)\\
+\lneume{ltus} & \texttt{ltus} & \texttt{L17H} & eius. & ut supra\\ \hline
+\end{supertabular}
}
\end{document}
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua
index 091bfa24e90..fb28a8886f9 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua
@@ -1,4 +1,4 @@
--- Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+-- Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
--
-- This file is part of Gregorio.
--
@@ -43,9 +43,70 @@ end
local EXCLUDE = {
['.notdef'] = true,
['.null'] = true,
+ notdef = true,
nonmarkingreturn = true,
AscendensOriscusLineBLTR = true,
AscendensOriscusLineTR = true,
+ BracketLeftZero = true,
+ BracketLeftSix = true,
+ BracketLeftSeven = true,
+ BracketLeftEight = true,
+ BracketLeftNine = true,
+ BracketLeftTen = true,
+ BracketLeftEleven = true,
+ BracketLeftTwelve = true,
+ BracketLeftThirteen = true,
+ BracketLeftFourteen = true,
+ BracketLeftShortZero = true,
+ BracketLeftShortSix = true,
+ BracketLeftShortSeven = true,
+ BracketLeftShortEight = true,
+ BracketLeftShortNine = true,
+ BracketLeftShortTen = true,
+ BracketLeftShortEleven = true,
+ BracketLeftShortTwelve = true,
+ BracketLeftShortThirteen = true,
+ BracketLeftShortFourteen = true,
+ BracketLeftLongZero = true,
+ BracketLeftLongSix = true,
+ BracketLeftLongSeven = true,
+ BracketLeftLongEight = true,
+ BracketLeftLongNine = true,
+ BracketLeftLongTen = true,
+ BracketLeftLongEleven = true,
+ BracketLeftLongTwelve = true,
+ BracketLeftLongThirteen = true,
+ BracketLeftLongFourteen = true,
+ BracketRightZero = true,
+ BracketRightSix = true,
+ BracketRightSeven = true,
+ BracketRightEight = true,
+ BracketRightNine = true,
+ BracketRightTen = true,
+ BracketRightEleven = true,
+ BracketRightTwelve = true,
+ BracketRightThirteen = true,
+ BracketRightFourteen = true,
+ BracketRightShortZero = true,
+ BracketRightShortSix = true,
+ BracketRightShortSeven = true,
+ BracketRightShortEight = true,
+ BracketRightShortNine = true,
+ BracketRightShortTen = true,
+ BracketRightShortEleven = true,
+ BracketRightShortTwelve = true,
+ BracketRightShortThirteen = true,
+ BracketRightShortFourteen = true,
+ BracketRightLongZero = true,
+ BracketRightLongSix = true,
+ BracketRightLongSeven = true,
+ BracketRightLongEight = true,
+ BracketRightLongNine = true,
+ BracketRightLongTen = true,
+ BracketRightLongEleven = true,
+ BracketRightLongTwelve = true,
+ BracketRightLongThirteen = true,
+ BracketRightLongFourteen = true,
PunctumAuctusLineBL = true,
PunctumLineBLBR = true,
PunctumLineBR = true,
@@ -73,22 +134,28 @@ local EXCLUDE = {
VirgaBaseLineBL = true,
}
+-- &&& in the following two tables is a placeholder for the cavum shape 'r'
+
local GABC = {
Accentus = [[\excluded{g}r1]],
AccentusReversus = [[\excluded{g}r2]],
- Ancus = [[gec]],
- AncusLongqueue = [[hfd]],
- AscendensOriscusCavum = [[go1r]],
- AscendensOriscusCavumHole = [[\excluded{gor}]],
- AscendensOriscus = [[go1]],
- AscendensOriscusLineBL = [[\excluded{e}@go1]],
- AscendensOriscusLineTL = [[\excluded{i}@go1]],
- AscendensOriscusScapus = [[gO1]],
- AscendensOriscusScapusLongqueue = [[hO1]],
- AscendensOriscusScapusOpenqueue = [[aO1]],
- AscendensPunctumInclinatum = [[G1]],
+ Ancus = [[g&&&ec]],
+ AncusLongqueue = [[h&&&fd]],
+ AscendensOriscus = [[g&&&o1]],
+ AscendensOriscusLineBL = [[\excluded{e}@g&&&o1]],
+ AscendensOriscusLineTL = [[\excluded{i}@g&&&o1]],
+ AscendensOriscusScapus = [[g&&&O1]],
+ AscendensOriscusScapusLongqueue = [[h&&&O1]],
+ AscendensOriscusScapusOpenqueue = [[a&&&O1]],
+ AscendensPunctumInclinatum = [[G&&&1]],
AuctumMora = [[\excluded{g}.]],
BarBrace = [[\excluded{,}\_]],
+ BracketLeft = [=[[[\excluded{ce]]}]=],
+ BracketLeftShort = [=[[[\excluded{fh]]}]=],
+ BracketLeftLong = [=[[[\excluded{gi]]}]=],
+ BracketRight = [=[\excluded{[[ce}]]]=],
+ BracketRightShort = [=[\excluded{[[fh}]]]=],
+ BracketRightLong = [=[\excluded{[[gi}]]]=],
CClef = [[c3]],
CClefChange = [[c3]],
Circulus = [[\excluded{g}r3]],
@@ -99,15 +166,13 @@ local GABC = {
CustosUpLong = [[f+]],
CustosUpMedium = [[a+]],
CustosUpShort = [[g+]],
- DescendensOriscusCavum = [[go0r]],
- DescendensOriscusCavumHole = [[\excluded{go0r}]],
- DescendensOriscus = [[go0]],
- DescendensOriscusLineBL = [[\excluded{e}@go0]],
- DescendensOriscusLineTL = [[\excluded{i}@go0]],
- DescendensOriscusScapus = [[gO0]],
- DescendensOriscusScapusLongqueue = [[hO0]],
- DescendensOriscusScapusOpenqueue = [[aO0]],
- DescendensPunctumInclinatum = [[G0]],
+ DescendensOriscus = [[g&&&o0]],
+ DescendensOriscusLineBL = [[\excluded{e}@g&&&o0]],
+ DescendensOriscusLineTL = [[\excluded{i}@g&&&o0]],
+ DescendensOriscusScapus = [[g&&&O0]],
+ DescendensOriscusScapusLongqueue = [[h&&&O0]],
+ DescendensOriscusScapusOpenqueue = [[a&&&O0]],
+ DescendensPunctumInclinatum = [[G&&&0]],
DivisioDominican = [[,3]],
DivisioDominicanAlt = [[,4]],
DivisioMaior = [[:]],
@@ -117,102 +182,93 @@ local GABC = {
FClef = [[f3]],
Flat = [[gx]],
FlatHole = [[\excluded{gx}]],
- Flexus = [[ge]],
- FlexusLongqueue = [[hf]],
- FlexusNobar = [[@hf]],
- FlexusOriscus = [[goe]],
- FlexusOriscusInusitatus = [[go1e]],
- FlexusOriscusScapus = [[gOe]],
- FlexusOriscusScapusInusitatus = [[gO1e]],
- FlexusOriscusScapusInusitatusLongqueue = [[hO1f]],
- FlexusOriscusScapusLongqueue = [[hOf]],
- LeadingOriscus = [[go\excluded{igig}]],
- LeadingPunctum = [[g\excluded{igig}]],
- LeadingQuilisma = [[gw\excluded{igig}]],
- Linea = [[g=]],
- LineaPunctumCavum = [[gr0]],
- LineaPunctumCavumHole = [[\excluded{gr0}]],
- LineaPunctum = [[gR]],
+ Flexus = [[g&&&e]],
+ FlexusLongqueue = [[h&&&f]],
+ FlexusNobar = [[@h&&&f]],
+ FlexusOriscus = [[g&&&oe]],
+ FlexusOriscusInusitatus = [[g&&&o1e]],
+ FlexusOriscusScapus = [[g&&&Oe]],
+ FlexusOriscusScapusInusitatus = [[g&&&O1e]],
+ FlexusOriscusScapusInusitatusLongqueue = [[h&&&O1f]],
+ FlexusOriscusScapusLongqueue = [[h&&&Of]],
+ LeadingOriscus = [[g&&&o\excluded{igig}]],
+ LeadingPunctum = [[g&&&\excluded{igig}]],
+ LeadingQuilisma = [[g&&&w\excluded{igig}]],
+ Linea = [[g&&&=]],
+ LineaPunctum = [[g&&&R]],
Natural = [[gy]],
NaturalHole = [[\excluded{gy}]],
- OblatusAscendensOriscus = [[go1]],
- OblatusDescendensOriscus = [[go0]],
- OblatusFlexusOriscus = [[goe]],
- OblatusFlexusOriscusInusitatus = [[go1e]],
- OblatusPesQuassus = [[goi]],
- OblatusPesQuassusLongqueue = [[hoj]],
- OblatusPesQuassusInusitatus = [[go0i]],
- OblatusPesQuassusInusitatusLongqueue = [[ho0j]],
- Oriscus = [[go]], -- for Deminutus
- OriscusCavum = [[gor]], -- for Deminutus
- OriscusCavumDeminutusHole = [[\excluded{gor\~{}}]],
- Pes = [[gi]],
- PesQuadratum = [[gqi]],
- PesQuadratumLongqueue = [[hqj]],
- PesQuassus = [[goi]],
- PesQuassusInusitatus = [[go0i]],
- PesQuassusInusitatusLongqueue = [[ho0j]],
- PesQuassusLongqueue = [[hoj]],
- PesQuilisma = [[gwi]],
- PesQuilismaQuadratum = [[gWi]],
- PesQuilismaQuadratumLongqueue = [[hWj]],
- PorrectusFlexus = [[gege]],
- PorrectusFlexusNobar = [[\excluded{e}gege]],
- Porrectus = [[geg]],
- PorrectusLongqueue = [[hfh]],
- PorrectusNobar = [[@geg]],
- PunctumCavum = [[gr]],
- PunctumCavumHole = [[\excluded{gr}]],
- PunctumCavumInclinatumAuctus = [[Gr>]],
- PunctumCavumInclinatumAuctusHole = [[\excluded{Gr>}]],
- PunctumCavumInclinatum = [[Gr]],
- PunctumCavumInclinatumHole = [[\excluded{Gr}]],
- Punctum = [[g]],
- PunctumInclinatum = [[G]], -- for deminutus
- PunctumInclinatumAuctus = [[G>]],
- PunctumLineBL = [[\excluded{e}@g]],
- PunctumLineTL = [[\excluded{i}@g]],
- Quilisma = [[gw]],
+ OblatusAscendensOriscus = [[g&&&o1]],
+ OblatusDescendensOriscus = [[g&&&o0]],
+ OblatusFlexusOriscus = [[g&&&oe]],
+ OblatusFlexusOriscusInusitatus = [[g&&&o1e]],
+ OblatusPesQuassus = [[g&&&oi]],
+ OblatusPesQuassusLongqueue = [[h&&&oj]],
+ OblatusPesQuassusInusitatus = [[g&&&o0i]],
+ OblatusPesQuassusInusitatusLongqueue = [[h&&&o0j]],
+ Oriscus = [[g&&&o]], -- for Deminutus
+ Pes = [[g&&&i]],
+ PesAscendensOriscus = [[g&&&iO\excluded{/j}]],
+ PesDescendensOriscus = [[g&&&iO\excluded{/h}]],
+ PesQuadratum = [[g&&&qi]],
+ PesQuadratumLongqueue = [[h&&&qj]],
+ PesQuassus = [[g&&&oi]],
+ PesQuassusInusitatus = [[g&&&o0i]],
+ PesQuassusInusitatusLongqueue = [[h&&&o0j]],
+ PesQuassusLongqueue = [[h&&&oj]],
+ PorrectusFlexus = [[g&&&ege]],
+ PorrectusFlexusNobar = [[\excluded{e}g&&&ege]],
+ Porrectus = [[g&&&eg]],
+ PorrectusLongqueue = [[h&&&fh]],
+ PorrectusNobar = [[@g&&&eg]],
+ Punctum = [[g&&&]],
+ PunctumInclinatum = [[G&&&]], -- for deminutus
+ PunctumInclinatumAuctus = [[G&&&>]],
+ PunctumLineBL = [[\excluded{e}@g&&&]],
+ PunctumLineTL = [[\excluded{i}@g&&&]],
+ Quilisma = [[g&&&w]],
+ QuilismaPes = [[g&&&wi]],
+ QuilismaPesQuadratum = [[g&&&Wi]],
+ QuilismaPesQuadratumLongqueue = [[h&&&Wj]],
RoundBraceDown = '[ub:1;6mm]',
RoundBrace = '[ob:1;6mm]',
- SalicusFlexus = [[giOki]],
- Salicus = [[giOk]],
- SalicusLongqueue = [[hjOl]],
- Scandicus = [[gik]],
+ SalicusFlexus = [[g&&&iOki]],
+ Salicus = [[g&&&iOk]],
+ SalicusLongqueue = [[h&&&jOl]],
+ Scandicus = [[g&&&ik]],
Semicirculus = [[\excluded{g}r4]],
SemicirculusReversus = [[\excluded{g}r5]],
Sharp = [[g\#{}]],
SharpHole = [[\excluded{g\#{}}]],
- StrophaAucta = [[gs>]],
- StrophaAuctaLongtail = [[hs>]],
- Stropha = [[gs]],
- Torculus = [[gig]],
- TorculusLiquescens = [[gige]],
- TorculusLiquescensQuilisma = [[gwige]],
- TorculusQuilisma = [[gwig]],
- TorculusResupinus = [[gigi]],
- TorculusResupinusQuilisma = [[gwigi]],
+ StrophaAucta = [[g&&&s>]],
+ StrophaAuctaLongtail = [[h&&&s>]],
+ Stropha = [[g&&&s]],
+ Torculus = [[g&&&ig]],
+ TorculusLiquescens = [[g&&&ige]],
+ TorculusLiquescensQuilisma = [[g&&&wige]],
+ TorculusQuilisma = [[g&&&wig]],
+ TorculusResupinus = [[g&&&igi]],
+ TorculusResupinusQuilisma = [[g&&&wigi]],
VEpisema = [[\excluded{g}^^^^0027]],
- Virga = [[gv]],
- VirgaLongqueue = [[hv]],
- VirgaOpenqueue = [[av]],
- VirgaReversa = [[gV]],
- VirgaReversaLongqueue = [[hV]],
- VirgaReversaOpenqueue = [[aV]],
- VirgaStrata = [[giO]],
+ Virga = [[g&&&v]],
+ VirgaLongqueue = [[h&&&v]],
+ VirgaOpenqueue = [[a&&&v]],
+ VirgaReversa = [[g&&&V]],
+ VirgaReversaLongqueue = [[h&&&V]],
+ VirgaReversaOpenqueue = [[a&&&V]],
Virgula = [[^^^^0060]],
}
local GABC_AMBITUS_ONE = {
- PorrectusLongqueue = [[hgh]],
- PorrectusFlexusLongqueue = [[hghg]],
- FlexusOpenqueue = [[ba]],
- FlexusOriscusScapusOpenqueue = [[bOa]],
- PesQuadratumOpenqueue = [[aqb]],
- PesQuassusOpenqueue = [[aob]],
- PesQuilismaQuadratumOpenqueue = [[aWb]],
- OblatusPesQuassusInusitatusOpenqueue = [[ao0b]],
- OblatusPesQuassusOpenqueue = [[boc]],
+ PorrectusLongqueue = [[h&&&gh]],
+ PorrectusFlexusLongqueue = [[h&&&ghg]],
+ FlexusOpenqueue = [[b&&&a]],
+ FlexusOriscusScapusOpenqueue = [[b&&&Oa]],
+ PesQuadratumOpenqueue = [[a&&&qb]],
+ PesQuassusOpenqueue = [[a&&&ob]],
+ QuilismaPesQuadratumOpenqueue = [[a&&&Wb]],
+ OblatusPesQuassusInusitatusOpenqueue = [[a&&&o0b]],
+ OblatusPesQuassusOpenqueue = [[b&&&oc]],
}
-- if the item is a table, the values will replace fuse_head and gabc
@@ -305,18 +361,20 @@ local LIQUESCENCE = {
GregorioRef = {}
-function GregorioRef.emit_score_glyphs(cs_greciliae, cs_gregorio, cs_granapadano)
+function GregorioRef.emit_score_glyphs(cs_normal, cs_hollow)
local common_glyphs = {}
- local greciliae = {}
- local gregorio = {}
- local granapadano = {}
+ local normal_variants = {}
+ local normal_names = {}
+ local hollow_variants = {}
+ local hollow_names = {}
- local function index_font(csname, variants, common)
+ local function index_font(csname, variants, names, common)
local glyphs = font.fonts[font.id(csname)].resources.unicodes
-- force-load the code points of the font --
local ignored = glyphs['___magic___']
local glyph, cp
for glyph, cp in pairs(glyphs) do
+ names[glyph] = true
if cp >= 0xe000 and not EXCLUDE[glyph] and not glyph:match('^HEpisema') then
local name, variant = glyph:match('^([^.]*)(%.%a*)$')
if name then
@@ -333,9 +391,8 @@ function GregorioRef.emit_score_glyphs(cs_greciliae, cs_gregorio, cs_granapadano
end
end
- index_font(cs_greciliae, greciliae, common_glyphs)
- index_font(cs_gregorio, gregorio)
- index_font(cs_granapadano, granapadano)
+ index_font(cs_normal, normal_variants, normal_names, common_glyphs)
+ index_font(cs_hollow, hollow_variants, hollow_names, common_glyphs)
local function maybe_emit_glyph(csname, variants, name, variant)
local cp = variants[name]
@@ -378,25 +435,43 @@ function GregorioRef.emit_score_glyphs(cs_greciliae, cs_gregorio, cs_granapadano
else
texio.write_nl('GregorioRef Warning: missing GABC for '..name)
end
- tex.sprint(string.format(
- [[{\scriptsize %s{\bfseries %s}{\itshape %s}%s%s}&{\ttfamily\small %s}&{\%s\char%d}&{\%s\char%d}&{\%s\char%d}&]],
- fusion, shape, ambitus, debilis, liquescence, gabc or '', cs_greciliae, char, cs_gregorio, char, cs_granapadano, char
- ))
+ local sorted_normal = sort_unique_keys{normal_variants[name]}
+ local sorted_hollow = sort_unique_keys{hollow_variants[name]}
+ local n = math.max(1, #sorted_normal, #sorted_hollow)
local emitted = false, i, variant
- for i, variant in ipairs(sort_unique_keys{greciliae[name], gregorio[name], granapadano[name]}) do
+ for i = 1,n do
if emitted then
- tex.sprint([[\nopagebreak&&&&&]])
+ tex.sprint([[\nopagebreak&&&]])
+ else
+ tex.sprint(string.format(
+ [[{\scriptsize %s{\bfseries %s}{\itshape %s}%s%s}&{\ttfamily\small %s}&{\%s\char%d}&]],
+ fusion, shape, ambitus, debilis, liquescence, gabc and gabc:gsub('&&&', '') or '', cs_normal, char
+ ))
+ end
+ variant = sorted_normal[i]
+ if variant then
+ tex.sprint(string.format([[{\scriptsize %s}]], variant))
+ maybe_emit_glyph(cs_normal, normal_variants, name, variant)
+ else
+ tex.print([[&]])
+ end
+ if emitted or not hollow_names[name] then
+ tex.sprint([[&&&]])
+ else
+ tex.sprint(string.format(
+ [[&{\ttfamily\small %s}&{\%s\char%d}&]],
+ gabc and gabc:gsub('&&&', 'r') or '', cs_hollow, char
+ ))
+ end
+ variant = sorted_hollow[i]
+ if variant then
+ tex.sprint(string.format([[{\scriptsize %s}]], variant))
+ maybe_emit_glyph(cs_hollow, hollow_variants, name, variant)
else
- emitted = true
+ tex.print([[&]])
end
- tex.sprint(string.format([[{\scriptsize %s}]], variant))
- maybe_emit_glyph('greciliae', greciliae, name, variant)
- maybe_emit_glyph('gregorio', gregorio, name, variant)
- maybe_emit_glyph('granapadano', granapadano, name, variant)
tex.print([[\\]])
- end
- if not emitted then
- tex.print([[&&&\\]])
+ emitted = true
end
end
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.pdf
index b98649202d1..fd56d462e53 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.pdf
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.pdf
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex
index 29823a34b9c..0c90fa12bb7 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex
@@ -1,6 +1,6 @@
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -124,11 +124,9 @@
% for the character tables
\font\greciliae = {name:greciliae} at 1000000 sp\relax
-\font\gregorio = {name:gregorio} at 1000000 sp\relax
-\font\granapadano = {name:granapadano} at 1000000 sp\relax
+\font\greciliaeHollow = {name:greciliae-hollow} at 1000000 sp\relax
\font\greciliaeOp = {name:greciliae-op} at 1000000 sp\relax
-\font\gregorioOp = {name:gregorio-op} at 1000000 sp\relax
-\font\granapadanoOp = {name:granapadano-op} at 1000000 sp\relax
+\font\greciliaeOpHollow = {name:greciliae-op-hollow} at 1000000 sp\relax
\font\greextra = {name:greextra} at 12 pt\relax
\newcommand{\excluded}[1]{{\tiny\itshape #1}}
@@ -179,7 +177,7 @@
\vspace{1cm}
- \large Version \textbf{4.2.0}, 23 September 2016 %% PARSE_VERSION_DATE
+ \large Version \textbf{5.0.0-rc1}, 4 April 2017 %% PARSE_VERSION_DATE
\vspace{1.5cm}
\end{center}
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Makefile.am b/Build/source/texk/gregorio/gregorio-src/doc/Makefile.am
index 2f2425e7985..526553fa230 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-src/doc/Makefile.am
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
@@ -19,7 +19,7 @@
SRCFILES = GregorioRef.tex Command_Index_gregorio.tex \
Command_Index_internal.tex Command_Index_User.tex \
Gabc.tex Appendix_Font_Tables.tex GregorioRef.lua factus.gabc
-NABCSRCFILES = GregorioNabcRef.tex veni.gabc
+NABCSRCFILES = GregorioNabcRef.tex veni.gabc omnes.gabc
GREGORIO=gregorio-$(FILENAME_VERSION)
@@ -40,6 +40,7 @@ GregorioRef.pdf: $(SRCFILES)
GregorioNabcRef.pdf: $(NABCSRCFILES)
$(MAKE) $(AM_MAKEFLAGS) -C ../src $(GREGORIO)
../src/$(GREGORIO) -o veni.gtex $(<D)/veni.gabc
+ ../src/$(GREGORIO) -o omnes.gtex $(<D)/omnes.gabc
TEXINPUTS=$(<D):$(<D)/../tex: LUAINPUTS=$(<D):$(<D)/../tex: \
TTFONTS=$(<D)/../fonts: PATH=../src:${PATH} latexmk -recorder -pdf \
-interaction=nonstopmode -halt-on-error \
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/omnes.gabc b/Build/source/texk/gregorio/gregorio-src/doc/omnes.gabc
new file mode 100644
index 00000000000..f8d9c9c339d
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-src/doc/omnes.gabc
@@ -0,0 +1,13 @@
+name: Omnes qui;
+office-part: Communio;
+mode: 2;
+book: Graduale Romanum, 1961, p. 261; Graduale Triplex, 1976, p. 61;
+transcriber: Andrew Hinkley, Jakub Jelínek;
+nabc-lines: 1;
+%%
+(f3)
+OM(f_c/ef~|clGhhta>)nes(f.|un1hg) *(,)
+qui(e|puhd) in(f|pu) Chris(f/ghf|un1helst8`tohi)to(f_ef.|clGhglsa5vi) (,)
+bap(f|puhd)ti(hh|bvlsa2)zá(h|un)ti(fe|unhd) es(e!gwh!ivHG'/hwihi|un1hbppn1ppq1sun2ql!po)tis,(ie..|clGhg) (;)
+Chris(f_e/f!gwhh|clGhdlsa5vihbqlheunhh)tum(hiH'F|un1heppn1sun2) in(hhf~|unlsa2`vi>)du(hh|bvlsa2)í(fgF'E|tosu1)stis,(e.|unhd) (;)
+al(hhf~|unlsa2`vi>)le(hh|bvlsa2)lú(hih|to>ltsr6)ia.(f.|unhd) (::)
diff --git a/Build/source/texk/gregorio/gregorio-src/examples/Makefile.am b/Build/source/texk/gregorio/gregorio-src/examples/Makefile.am
index 31a94221813..21b8f26fc05 100644
--- a/Build/source/texk/gregorio/gregorio-src/examples/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-src/examples/Makefile.am
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
diff --git a/Build/source/texk/gregorio/gregorio-src/install-gtex.sh b/Build/source/texk/gregorio/gregorio-src/install-gtex.sh
index 21a7b50a2e8..965529df0de 100755
--- a/Build/source/texk/gregorio/gregorio-src/install-gtex.sh
+++ b/Build/source/texk/gregorio/gregorio-src/install-gtex.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
@@ -60,6 +60,10 @@
# To do this, set the SKIP environment variable to a comma-separated list of
# the parts you want don't want installed: tex, latex, fonts, docs, examples,
# and/or font-sources
+#
+# Setting the GENERATE_UNINSTALL environment variable to "false" will bypass
+# uninstall script generation and any existing uninstall script will be left
+# alone.
VERSION=`head -1 .gregorio-version`
FILEVERSION=`echo $VERSION | sed 's/\./_/g'`
@@ -67,15 +71,14 @@ FILEVERSION=`echo $VERSION | sed 's/\./_/g'`
TEXFILES=(tex/gregoriotex*.tex tex/gsp-default.tex tex/gregoriotex*.lua
tex/*.dat)
LATEXFILES=(tex/gregorio*.sty)
-TTFFILES=(gregorio.ttf greciliae.ttf granapadano.ttf gregorio-op.ttf
- greciliae-op.ttf granapadano-op.ttf greextra.ttf gregall.ttf
- gresgmodern.ttf)
+TTFFILES=(fonts/*.ttf)
DOCFILES=(doc/*.tex doc/*.lua doc/*.gabc doc/*.pdf doc/README.md)
EXAMPLEFILES=(examples/FactusEst.gabc examples/PopulusSion.gabc
examples/main-lualatex.tex examples/debugging.tex)
-FONTSRCFILES=(gregorio-base.sfd granapadano-base.sfd greciliae-base.sfd
- greextra.sfd squarize.py convertsfdtottf.py gregall.sfd
+FONTSRCFILES=(greextra.sfd squarize.py convertsfdtottf.py gregall.sfd
gresgmodern.sfd README.md)
+FONTSRCFILES=("${FONTSRCFILES[@]/#/fonts/}")
+FONTSRCFILES+=(fonts/*-base.sfd)
# Files which have been eliminated, or whose installation location have been
# changed. We will remove existing versions of these files in the target texmf
# tree before installing.
@@ -84,7 +87,14 @@ LEGACYFILES=(tex/luatex/gregoriotex/gregoriotex.sty
tex/luatex/gregoriotex/gregoriotex-ictus.tex
fonts/truetype/public/gregoriotex/parmesan.ttf
fonts/truetype/public/gregoriotex/parmesan-op.ttf
- fonts/source/gregoriotex/parmesan-base.sfd)
+ fonts/source/gregoriotex/parmesan-base.sfd
+ fonts/truetype/public/gregoriotex/gresym.ttf
+ fonts/truetype/public/gregoriotex/gregorio.ttf
+ fonts/truetype/public/gregoriotex/gregorio-op.ttf
+ fonts/source/gregoriotex/gregorio-base.sfd
+ fonts/truetype/public/gregoriotex/granapadano.ttf
+ fonts/truetype/public/gregoriotex/granapadano-op.ttf
+ fonts/source/gregoriotex/granapadano-base.sfd)
NAME=${NAME:-gregoriotex}
FORMAT=${FORMAT:-luatex}
@@ -94,8 +104,9 @@ KPSEWHICH=${KPSEWHICH:-kpsewhich}
CP=${CP:-cp}
RM=${RM:-rm}
-TTFFILES=("${TTFFILES[@]/#/fonts/}")
-FONTSRCFILES=("${FONTSRCFILES[@]/#/fonts/}")
+GENERATE_UNINSTALL=${GENERATE_UNINSTALL:-true}
+AUTO_UNINSTALL=${AUTO_UNINSTALL:-false}
+REMOVE_OLD_FILES=${REMOVE_OLD_FILES:-true}
arg="$1"
case "$arg" in
@@ -145,9 +156,15 @@ then
echo "Usage: $0 var:{tex-variable}"
echo " $0 dir:{directory}"
echo " $0 system|user|tds"
+ echo
+ echo "Please read the documentation in the script for additional options"
exit 1
fi
+UNINSTALL_SCRIPT_DIR="scripts/gregoriotex"
+UNINSTALL_SCRIPT_FILE="uninstall-gtex.sh"
+UNINSTALL_SCRIPT="${TEXMFROOT}/${UNINSTALL_SCRIPT_DIR}/${UNINSTALL_SCRIPT_FILE}"
+
function die {
echo 'Failed.'
exit 1
@@ -156,8 +173,18 @@ function die {
function install_to {
dir="$1"
shift
- mkdir -p "$dir" || die
- $CP "$@" "$dir" || die
+ mkdir -p "${TEXMFROOT}/$dir" || die
+ $CP "$@" "${TEXMFROOT}/$dir" || die
+
+ if ${GENERATE_UNINSTALL}
+ then
+ for name in "$@"
+ do
+ echo '$RM'" $dir/$(basename $name)" >> "${UNINSTALL_SCRIPT}"
+ done
+ echo "rmdir -p $dir 2> /dev/null || true" >> "${UNINSTALL_SCRIPT}"
+ echo >> "${UNINSTALL_SCRIPT}"
+ fi
}
function find_and_remove {
@@ -175,8 +202,43 @@ function not_installing {
echo "install-gtex.sh: not installing $@"
}
-echo "Removing old files"
-find_and_remove "${LEGACYFILES[@]}"
+if ${GENERATE_UNINSTALL}
+then
+ if [ -e "${UNINSTALL_SCRIPT}" ]
+ then
+ echo "${UNINSTALL_SCRIPT} exists."
+ echo "This suggests that some version of GregorioTeX is already installed."
+ if ${AUTO_UNINSTALL}
+ then
+ echo "AUTO_UNINSTALL=true, so uninstalling the old version of GregorioTeX."
+ bash "${UNINSTALL_SCRIPT}"
+ else
+ echo "Re-run this script setting the environment variable AUTO_UNINSTALL=true"
+ echo "to automatically uninstall the other version before installing the new one,"
+ echo "or clean up the old installation files manually."
+ exit 1
+ fi
+ fi
+
+ mkdir -p "${TEXMFROOT}/${UNINSTALL_SCRIPT_DIR}" || die
+ echo '# This script uninstalls GregorioTeX.' > "${UNINSTALL_SCRIPT}"
+ echo '# Run it with "bash /path/to/uninstall-gtex.sh".' >> "${UNINSTALL_SCRIPT}"
+ echo >> "${UNINSTALL_SCRIPT}"
+ echo 'RM=${RM:-rm}' >> "${UNINSTALL_SCRIPT}"
+ echo 'TEXHASH=${TEXHASH:-texhash}' >> "${UNINSTALL_SCRIPT}"
+ echo >> "${UNINSTALL_SCRIPT}"
+ echo 'cd $(dirname ${BASH_SOURCE[0]})/../..' >> "${UNINSTALL_SCRIPT}"
+ echo >> "${UNINSTALL_SCRIPT}"
+elif [ "$arg" != 'tds' ]
+then
+ echo "Not generating "${UNINSTALL_SCRIPT}""
+fi
+
+if ${REMOVE_OLD_FILES}
+then
+ echo "Removing old files."
+ find_and_remove "${LEGACYFILES[@]}"
+fi
declare -A skip_install
if [ -n "$SKIP" ]
@@ -193,22 +255,32 @@ fi
echo "Installing in '${TEXMFROOT}'."
${skip_install[tex]:-false} && not_installing tex files ||
- install_to "${TEXMFROOT}/tex/${FORMAT}/${NAME}" "${TEXFILES[@]}"
+ install_to "tex/${FORMAT}/${NAME}" "${TEXFILES[@]}"
${skip_install[latex]:-false} && not_installing latex files ||
- install_to "${TEXMFROOT}/tex/${LATEXFORMAT}/${NAME}" "${LATEXFILES[@]}"
+ install_to "tex/${LATEXFORMAT}/${NAME}" "${LATEXFILES[@]}"
${skip_install[fonts]:-false} && not_installing fonts ||
- install_to "${TEXMFROOT}/fonts/truetype/public/${NAME}" "${TTFFILES[@]}"
+ install_to "fonts/truetype/public/${NAME}" "${TTFFILES[@]}"
${skip_install[docs]:-false} && not_installing docs ||
- install_to "${TEXMFROOT}/doc/${FORMAT}/${NAME}" "${DOCFILES[@]}"
+ install_to "doc/${FORMAT}/${NAME}" "${DOCFILES[@]}"
${skip_install[examples]:-false} && not_installing examples ||
- install_to "${TEXMFROOT}/doc/${FORMAT}/${NAME}/examples" "${EXAMPLEFILES[@]}"
+ install_to "doc/${FORMAT}/${NAME}/examples" "${EXAMPLEFILES[@]}"
${skip_install[font-sources]:-false} && not_installing font sources ||
- install_to "${TEXMFROOT}/fonts/source/${NAME}" "${FONTSRCFILES[@]}"
+ install_to "fonts/source/${NAME}" "${FONTSRCFILES[@]}"
+
+if ${GENERATE_UNINSTALL}
+then
+ echo '$RM'" ${UNINSTALL_SCRIPT_DIR}/${UNINSTALL_SCRIPT_FILE}" >> "${UNINSTALL_SCRIPT}"
+ echo "rmdir -p ${UNINSTALL_SCRIPT_DIR} 2> /dev/null || true" >> "${UNINSTALL_SCRIPT}"
+ echo >> "${UNINSTALL_SCRIPT}"
+
+ echo '${TEXHASH}' >> "${UNINSTALL_SCRIPT}"
+fi
if [ "$arg" = 'tds' ]
then
echo "Making TDS-ready archive ${TDS_ZIP}."
rm -f ${TDS_ZIP}
+ (rm ${TEXMFROOT}/fonts/source/gregoriotex/gregorio-base.sfd ${TEXMFROOT}/fonts/source/gregoriotex/granapadano-base.sfd ) || die
(cd ${TEXMFROOT} && zip -9 ../${TDS_ZIP} -q -r .) || die
rm -r ${TEXMFROOT} || die
else
diff --git a/Build/source/texk/gregorio/gregorio-src/install.sh b/Build/source/texk/gregorio/gregorio-src/install.sh
index 91ff8e5ccc1..f568f18e8a3 100755
--- a/Build/source/texk/gregorio/gregorio-src/install.sh
+++ b/Build/source/texk/gregorio/gregorio-src/install.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
diff --git a/Build/source/texk/gregorio/gregorio-src/src/Makefile.am b/Build/source/texk/gregorio/gregorio-src/src/Makefile.am
index f0c275215b4..58e3f47617b 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-src/src/Makefile.am
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
@@ -35,9 +35,13 @@ gregorio___FILENAME_VERSION__SOURCES = \
@MK@else
@MK@ ifneq ($(wildcard ../.hg/git),)
@MK@ _gitnode_ = $(shell hg log --template='{gitnode}' -r .)
-@MK@ _tag_ = $(shell git --git-dir=../.hg/git describe --exact-match $(_gitnode_) 2>/dev/null)
-@MK@ ifeq ($(_tag_),)
-@MK@ DEFS += -DBRANCH_VERSION='"$(shell cat ../.hg/bookmarks.current)-$(shell git --git-dir=../.hg/git rev-parse --short '$(_gitnode_)')-$(shell git --git-dir=../.hg/git rev-list '$(_gitnode_)' --count)"'
+@MK@ ifeq ($(_gitnode_),)
+@MK@ DEFS += -DBRANCH_VERSION='"$(shell hg log --template='{activebookmark}-hg:{manifest}' -r .)"'
+@MK@ else
+@MK@ _tag_ = $(shell git --git-dir=../.hg/git describe --exact-match '$(_gitnode_)' 2>/dev/null)
+@MK@ ifeq ($(_tag_),)
+@MK@ DEFS += -DBRANCH_VERSION='"$(shell hg log --template='{activebookmark}' -r .)-$(shell git --git-dir=../.hg/git rev-parse --short '$(_gitnode_)')-$(shell git --git-dir=../.hg/git rev-list '$(_gitnode_)' --count)"'
+@MK@ endif
@MK@ endif
@MK@ endif
@MK@endif
@@ -73,7 +77,7 @@ LDADD += gregorio-resources.o
endif
gabc/gabc-score-determination-y.c: gabc/gabc-score-determination.y
- $(YACC) -d -p "gabc_score_determination_" -o $@ $<
+ $(YACC) -v -d -p "gabc_score_determination_" -o $@ $<
gabc/gabc-score-determination-y.h: gabc/gabc-score-determination-y.c
## Recover from the removal of gabc/gabc-score-determination-y.h, see
## https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html
@@ -96,7 +100,7 @@ gabc/gabc-notes-determination-l.c: gabc/gabc-notes-determination.l
$(LEX) -o $@ $<
vowel/vowel-rules-y.c: vowel/vowel-rules.y
- $(YACC) -d -o $@ $<
+ $(YACC) -v -d -o $@ $<
vowel/vowel-rules-y.h: vowel/vowel-rules-y.c
## Recover from the removal of vowel/vowel-rules-y.h, see
## https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html
diff --git a/Build/source/texk/gregorio/gregorio-src/src/bool.h b/Build/source/texk/gregorio/gregorio-src/src/bool.h
index d40d0b4412c..0d6070990fa 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/bool.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/bool.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header provides a minimum of C11-like bool functionality.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.c b/Build/source/texk/gregorio/gregorio-src/src/characters.c
index b82e25e809f..1e530d6514d 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/characters.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/characters.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX.
* This file contains functions that deal with lyrics and styles.
*
- * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2008-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -120,8 +120,8 @@ void gregorio_set_centering_language(char *const language)
}
}
-static __inline gregorio_character *skip_verbatim_or_special(
- gregorio_character *ch)
+static __inline const gregorio_character *skip_verbatim_or_special(
+ const gregorio_character *ch)
{
/* skip past verbatim and special characters */
if (ch->cos.s.type == ST_T_BEGIN && (ch->cos.s.style == ST_VERBATIM
@@ -160,43 +160,66 @@ static __inline bool handle_elision(const gregorio_character *const ch,
return true;
}
-static void determine_center(gregorio_character *character, int *start,
- int *end)
+static __inline int for_each_centerable_character(
+ const gregorio_character *const character,
+ void (*capture)(grewchar *, int, grewchar), grewchar *buffer)
{
int count;
- grewchar *subject;
- gregorio_character *ch;
- bool in_elision;
-
- *start = *end = -1;
+ const gregorio_character *ch;
+ bool in_elision = false;
- in_elision = false;
for (count = 0, ch = character; ch; ch = ch->next_character) {
if (ch->is_character) {
if (!in_elision) {
+ if (capture) {
+ capture(buffer, count, ch->cos.character);
+ }
+ ++count;
+ }
+ } else {
+ if (ch->cos.s.style == ST_PROTRUSION_FACTOR) {
+ /* if there is a protrusion, we will always encounter the
+ * protrusion factor first */
+ break;
+ }
+ if (ch->cos.s.type == ST_T_BEGIN && ch->cos.s.style == ST_ELISION) {
+ /* put in a special character at the beginning of an elision
+ * that represents the elision */
+ if (capture) {
+ capture(buffer, count, GREVOWEL_ELISION_MARK);
+ }
++count;
}
- } else if (!handle_elision(ch, &in_elision)) {
- ch = skip_verbatim_or_special(ch);
+ if (!handle_elision(ch, &in_elision)) {
+ ch = skip_verbatim_or_special(ch);
+ }
}
}
+ return count;
+}
+
+/* this function assumes subject is sized correctly */
+static void capture_subject(grewchar *const subject, const int count,
+ const grewchar character)
+{
+ subject[count] = character;
+}
+
+static void determine_center(gregorio_character *character, int *start,
+ int *end)
+{
+ const int count = for_each_centerable_character(character, NULL, NULL);
+ grewchar *subject;
+
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) {
- if (!in_elision) {
- subject[count ++] = ch->cos.character;
- }
- } else if (!handle_elision(ch, &in_elision)) {
- ch = skip_verbatim_or_special(ch);
- }
- }
+ for_each_centerable_character(character, capture_subject, subject);
subject[count] = (grewchar)0;
+ *start = *end = -1;
gregorio_find_vowel_group(subject, start, end);
free(subject);
@@ -913,6 +936,12 @@ void gregorio_rebuild_characters(gregorio_character **const param_character,
}
}
+ if (style == ST_ELISION) {
+ /* skip over the elision marker in the vowel determination
+ * buffer */
+ ++index;
+ }
+
switch (style) {
case ST_VERBATIM:
case ST_SPECIAL_CHAR:
@@ -960,8 +989,15 @@ void gregorio_rebuild_characters(gregorio_character **const param_character,
/* just loop */
}
if (current_style) {
+ /* repeated styles should already have been filtered out
+ * during parsing, so if this is hit, it's a programming
+ * error */
+ /* LCOV_EXCL_START */
+ gregorio_fail(gregorio_rebuild_characters,
+ "encountered repeated style");
current_character = suppress_character(current_character);
continue;
+ /* LCOV_EXCL_STOP */
}
/* if it is something to add then we just push the style in the
* stack and continue. */
@@ -1126,9 +1162,13 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
/* now we are going to place the two INITIAL styles (begin and end) */
while (current_character) {
if (!current_character->is_character
- && current_character->cos.s.style == ST_FORCED_CENTER) {
+ && (current_character->cos.s.style == ST_FORCED_CENTER
+ || current_character->cos.s.style == ST_PROTRUSION_FACTOR)) {
/* we don't touch anything after a FORCED_CENTER, so we put an
- * empty INITIAL style just before */
+ * empty INITIAL style just before; we handle the weird case of
+ * a protrusion (manual or automatic) at the initial the same way
+ * (we need only check for PROTRUSION_FACTOR since that will come
+ * before PROTRUSION) */
current_character = first_character;
insert_style_before(ST_T_BEGIN, ST_INITIAL, current_character);
current_character = current_character->previous_character;
@@ -1219,13 +1259,26 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
insert_style_after(ST_T_END, ST_FIRST_SYLLABLE_INITIAL,
&current_character);
}
- if (!current_character->is_character
- && (current_character->cos.s.style == ST_CENTER
- || current_character->cos.s.style == ST_FORCED_CENTER)) {
- insert_style_before(ST_T_END, ST_FIRST_SYLLABLE,
- current_character);
- insert_style_after(ST_T_BEGIN, ST_FIRST_SYLLABLE,
- &current_character);
+ if (!current_character->is_character) {
+ switch (current_character->cos.s.style) {
+ case ST_CENTER:
+ case ST_FORCED_CENTER:
+ insert_style_before(ST_T_END, ST_FIRST_SYLLABLE,
+ current_character);
+ insert_style_after(ST_T_BEGIN, ST_FIRST_SYLLABLE,
+ &current_character);
+ break;
+
+ case ST_PROTRUSION_FACTOR:
+ /* protrusion is not allowed to be the syllable initial;
+ * we only need to check PROTRUSION_FACTOR since that will
+ * come before PROTRUSION */
+ marked_syllable_initial = true;
+ break;
+
+ default:
+ break;
+ }
}
if (!current_character->next_character) {
insert_style_after(ST_T_END, ST_FIRST_SYLLABLE,
@@ -1269,7 +1322,7 @@ void gregorio_set_first_word(gregorio_character **const character)
}
}
/* else there are no more characters here */
-
+
if (*character) {
gregorio_go_to_first_character_c(character);
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.h b/Build/source/texk/gregorio/gregorio-src/src/characters.h
index 01fa80180ba..96bf292a309 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/characters.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/characters.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes the lyric handling data structures and entry points.
*
- * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2008-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/config.h b/Build/source/texk/gregorio/gregorio-src/src/config.h
index 9519115cbb8..f394001613f 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/config.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/config.h
@@ -4,7 +4,7 @@
*
* Gregorio configuration headers.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
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 db7e5a5f0c0..9022bfdc13f 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX.
* This file provides functions to dump out Gregorio structures.
*
- * Copyright (C) 2007-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2007-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -215,6 +215,9 @@ void dump_write_score(FILE *f, gregorio_score *score)
fprintf(f, " euouae %s\n",
gregorio_euouae_to_string(syllable->euouae));
}
+ if (syllable->clear) {
+ fprintf(f, " clear true\n");
+ }
if (syllable->text) {
if (syllable->translation) {
fprintf(f, "\n Text\n");
@@ -256,6 +259,9 @@ void dump_write_score(FILE *f, gregorio_score *score)
fprintf(f, " force_pitch true\n");
}
break;
+ case GRE_SUPPRESS_CUSTOS:
+ /* not handling this would generate an error below */
+ break;
case GRE_SPACE:
if (element->u.misc.unpitched.info.space) {
char *factor = element->u.misc.unpitched.info.
@@ -269,7 +275,7 @@ void dump_write_score(FILE *f, gregorio_score *score)
break;
case GRE_TEXVERB_ELEMENT:
fprintf(f, " TeX string \"%s\"\n",
- element->texverb);
+ gregorio_texverb(element->texverb));
break;
case GRE_NLBA:
fprintf(f, " nlba %d (%s)\n",
@@ -279,7 +285,7 @@ void dump_write_score(FILE *f, gregorio_score *score)
break;
case GRE_ALT:
fprintf(f, " Above lines text \"%s\"\n",
- element->texverb);
+ gregorio_texverb(element->texverb));
break;
case GRE_BAR:
if (element->u.misc.unpitched.info.bar) {
@@ -338,7 +344,7 @@ void dump_write_score(FILE *f, gregorio_score *score)
switch (glyph->type) {
case GRE_TEXVERB_GLYPH:
fprintf(f, " TeX string \"%s\"\n",
- glyph->texverb);
+ gregorio_texverb(glyph->texverb));
break;
case GRE_SPACE:
@@ -353,6 +359,9 @@ void dump_write_score(FILE *f, gregorio_score *score)
glyph->u.notes.glyph_type,
gregorio_glyph_type_to_string(glyph->u.notes.
glyph_type));
+ if (glyph->u.notes.is_cavum) {
+ fprintf(f, " is_cavum true\n");
+ }
if (glyph->u.notes.liquescentia) {
fprintf(f, " liquescentia %d (%s)\n",
glyph->u.notes.liquescentia,
@@ -391,6 +400,9 @@ void dump_write_score(FILE *f, gregorio_score *score)
gregorio_shape_to_string(
note->u.note.shape));
}
+ if (note->u.note.is_cavum) {
+ fprintf(f, " is_cavum true\n");
+ }
if (note->u.note.liquescentia) {
fprintf(f, " liquescentia %d (%s)\n",
note->u.note.liquescentia,
@@ -409,7 +421,7 @@ void dump_write_score(FILE *f, gregorio_score *score)
}
if (note->texverb) {
fprintf(f, " TeX string \"%s\"\n",
- note->texverb);
+ gregorio_texverb(note->texverb));
}
if (note->choral_sign) {
fprintf(f, " Choral Sign \"%s\"\n",
@@ -471,13 +483,37 @@ void dump_write_score(FILE *f, gregorio_score *score)
dump_hepisema_adjustment(f, note, SO_OVER, "above");
dump_hepisema_adjustment(f, note, SO_UNDER,
"below");
- if (note->explicit_high_ledger_line) {
+ switch (note->high_ledger_specificity) {
+ case LEDGER_SUPPOSED:
+ break;
+ case LEDGER_EXPLICIT:
fprintf(f, " explicit high line %s\n",
- dump_bool(note->supposed_high_ledger_line));
+ dump_bool(note->high_ledger_line));
+ break;
+ case LEDGER_DRAWN:
+ fprintf(f, " drawn high line %s\n",
+ dump_bool(note->high_ledger_line));
+ break;
+ case LEDGER_EXPLICITLY_DRAWN:
+ fprintf(f, " forced drawn high line %s\n",
+ dump_bool(note->high_ledger_line));
+ break;
}
- if (note->explicit_low_ledger_line) {
+ switch (note->low_ledger_specificity) {
+ case LEDGER_SUPPOSED:
+ break;
+ case LEDGER_EXPLICIT:
fprintf(f, " explicit low line %s\n",
- dump_bool(note->supposed_low_ledger_line));
+ dump_bool(note->low_ledger_line));
+ break;
+ case LEDGER_DRAWN:
+ fprintf(f, " drawn low line %s\n",
+ dump_bool(note->low_ledger_line));
+ break;
+ case LEDGER_EXPLICITLY_DRAWN:
+ fprintf(f, " forced drawn low line %s\n",
+ dump_bool(note->low_ledger_line));
+ break;
}
}
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/encode_utf8strings.c b/Build/source/texk/gregorio/gregorio-src/src/encode_utf8strings.c
index d932a9aeb4a..c24db479715 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/encode_utf8strings.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/encode_utf8strings.c
@@ -1,7 +1,7 @@
/*
* Utility program to convert utf8strings.h.in into utf8strings.h
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/enum_generator.h b/Build/source/texk/gregorio/gregorio-src/src/enum_generator.h
index 7ea576e1cd8..96c362787ce 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/enum_generator.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/enum_generator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
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 b6e914e5546..277b2b39e42 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
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX.
* This file provides functions for determining elements from notes.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -175,7 +175,7 @@ static gregorio_element *gabc_det_elements_from_glyphs(
}
first_glyph = current_glyph->next;
previous_glyph = NULL;
- current_glyph->texverb = NULL;
+ current_glyph->texverb = 0;
gregorio_free_one_glyph(&current_glyph);
continue;
}
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 0569dec78e2..8fc80157700 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
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file provides functions for determining glyphs from notes.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -41,6 +41,12 @@ static __inline gregorio_scanner_location *copy_note_location(
return loc;
}
+static __inline bool is_normal_punctum(const gregorio_note *const note)
+{
+ return note->u.note.shape == S_PUNCTUM
+ && note->u.note.liquescentia != L_INITIO_DEBILIS;
+}
+
/****************************
*
* This function is the basis of all the determination of glyphs. The
@@ -88,6 +94,10 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
gabc_determination *end_of_glyph,
gregorio_shape *punctum_inclinatum_orientation)
{
+ #define this_note_starts_new_glyph { \
+ next_glyph_type = G_PUNCTUM; \
+ *end_of_glyph = DET_END_OF_PREVIOUS; \
+ }
/* next glyph type is the type of the glyph that will be returned (the
* new type of the glyph with the note added to it, or the type of the
@@ -106,9 +116,7 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
}
switch (shape) {
- case S_PUNCTUM_CAVUM:
case S_LINEA_PUNCTUM:
- case S_LINEA_PUNCTUM_CAVUM:
case S_LINEA:
next_glyph_type = G_PUNCTUM;
*end_of_glyph = DET_END_OF_BOTH;
@@ -124,8 +132,7 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
* we determine here the shape of the thing if it is made of puncta
*/
if (current_pitch == last_pitch) {
- next_glyph_type = G_PUNCTUM;
- *end_of_glyph = DET_END_OF_PREVIOUS;
+ this_note_starts_new_glyph;
break;
}
switch (current_glyph_type) {
@@ -138,14 +145,11 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
break;
case G_PODATUS:
if (current_pitch > last_pitch) {
- if (current_glyph_first_note->u.note.shape == S_PUNCTUM &&
- current_glyph_first_note->u.note.liquescentia !=
- L_INITIO_DEBILIS) {
+ if (is_normal_punctum(current_glyph_first_note)) {
next_glyph_type = G_SCANDICUS;
*end_of_glyph = DET_END_OF_CURRENT;
} else {
- next_glyph_type = G_PUNCTUM;
- *end_of_glyph = DET_END_OF_PREVIOUS;
+ this_note_starts_new_glyph;
}
} else {
next_glyph_type = G_TORCULUS;
@@ -164,16 +168,15 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
next_glyph_type = G_PES_QUADRATUM;
*end_of_glyph = DET_END_OF_CURRENT;
} else {
- next_glyph_type = G_PUNCTUM;
- *end_of_glyph = DET_END_OF_PREVIOUS;
+ this_note_starts_new_glyph;
}
break;
- case G_VIRGA_STRATA: /* really a pes stratus */
+ case G_PES_ASCENDENS_ORISCUS:
+ case G_PES_DESCENDENS_ORISCUS:
if (current_pitch > last_pitch) {
next_glyph_type = G_SALICUS;
} else {
- next_glyph_type = G_PUNCTUM;
- *end_of_glyph = DET_END_OF_PREVIOUS;
+ this_note_starts_new_glyph;
}
break;
case G_SALICUS:
@@ -181,20 +184,22 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
next_glyph_type = G_SALICUS_FLEXUS;
*end_of_glyph = DET_END_OF_CURRENT;
} else {
- next_glyph_type = G_PUNCTUM;
- *end_of_glyph = DET_END_OF_PREVIOUS;
+ this_note_starts_new_glyph;
}
break;
case G_FLEXA:
if (current_pitch > last_pitch) {
- next_glyph_type = G_PORRECTUS;
+ if (is_normal_punctum(current_glyph_first_note)) {
+ next_glyph_type = G_PORRECTUS;
+ } else {
+ this_note_starts_new_glyph;
+ }
} else {
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;
+ this_note_starts_new_glyph;
}
}
break;
@@ -205,14 +210,12 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
*end_of_glyph = DET_END_OF_CURRENT;
next_glyph_type = G_TORCULUS_LIQUESCENS;
} else {
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
+ this_note_starts_new_glyph;
}
break;
case G_TORCULUS_RESUPINUS:
if (current_pitch > last_pitch) {
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
+ this_note_starts_new_glyph;
} else {
*end_of_glyph = DET_END_OF_CURRENT;
next_glyph_type = G_TORCULUS_RESUPINUS_FLEXUS;
@@ -220,16 +223,14 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
break;
case G_PORRECTUS:
if (current_pitch > last_pitch) {
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
+ this_note_starts_new_glyph;
} else {
*end_of_glyph = DET_END_OF_CURRENT;
next_glyph_type = G_PORRECTUS_FLEXUS;
}
break;
default:
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
+ this_note_starts_new_glyph;
break;
}
break;
@@ -237,13 +238,8 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
case S_ORISCUS_ASCENDENS:
case S_ORISCUS_DESCENDENS:
case S_ORISCUS_DEMINUTUS:
- case S_ORISCUS_CAVUM_UNDETERMINED:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
case S_QUILISMA:
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
+ this_note_starts_new_glyph;
break;
case S_VIRGA:
if (current_glyph_type == G_VIRGA && last_pitch == current_pitch) {
@@ -284,18 +280,25 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
break;
case S_ORISCUS_SCAPUS_UNDETERMINED:
case S_ORISCUS_SCAPUS_ASCENDENS:
+ if (current_glyph_type == G_PUNCTUM && last_pitch < current_pitch) {
+ next_glyph_type = G_PES_ASCENDENS_ORISCUS;
+ /* Therefore G_PES_ASCENDENS_ORISCUS might be fronting an
+ * undetermined oriscus scapus. This will be resolved during
+ * oriscus orientation determination */
+ } else {
+ this_note_starts_new_glyph;
+ }
+ break;
case S_ORISCUS_SCAPUS_DESCENDENS:
if (current_glyph_type == G_PUNCTUM && last_pitch < current_pitch) {
- next_glyph_type = G_VIRGA_STRATA;
+ next_glyph_type = G_PES_DESCENDENS_ORISCUS;
} else {
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
+ this_note_starts_new_glyph;
}
break;
case S_PUNCTUM_INCLINATUM_UNDETERMINED:
case S_PUNCTUM_INCLINATUM_ASCENDENS:
case S_PUNCTUM_INCLINATUM_DESCENDENS:
- case S_PUNCTUM_CAVUM_INCLINATUM:
/*
* Warning : this part of the code is specific to the
* declarations of the header file
@@ -467,10 +470,6 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
}
switch (shape) {
- case S_PUNCTUM_CAVUM_INCLINATUM:
- /* treat this as descendens */
- *punctum_inclinatum_orientation = S_PUNCTUM_INCLINATUM_DESCENDENS;
- break;
case S_PUNCTUM_INCLINATUM_ASCENDENS:
case S_PUNCTUM_INCLINATUM_DESCENDENS:
*punctum_inclinatum_orientation = shape;
@@ -485,6 +484,21 @@ static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
return next_glyph_type;
}
+static bool is_cavum(gregorio_note *note, gregorio_note *last_note)
+{
+ bool is_cavum = false;
+ for (; note; note = note->next) {
+ if (note->type == GRE_NOTE) {
+ is_cavum = is_cavum || note->u.note.is_cavum;
+ }
+ /* don't look past the last note */
+ if (note == last_note) {
+ break;
+ }
+ }
+ return is_cavum;
+}
+
/****************************
*
* First see the comments of
@@ -513,7 +527,9 @@ static gregorio_note *close_normal_glyph(gregorio_glyph **last_glyph,
glyph_type = G_PUNCTUM;
}
- gregorio_add_glyph(last_glyph, glyph_type, *first_note, liquescentia);
+ gregorio_add_glyph(last_glyph, glyph_type, *first_note, liquescentia,
+ is_cavum(*first_note, current_note));
+
if (current_note->next) {
current_note->next->previous = NULL;
*first_note = current_note->next;
@@ -659,7 +675,7 @@ static void add_intervening_texverbs(gregorio_glyph **last_glyph,
gregorio_add_unpitched_element_as_glyph(last_glyph, first_note->type,
&(first_note->u.other), _NO_SIGN, first_note->texverb);
- first_note->texverb = NULL;
+ first_note->texverb = 0;
gregorio_free_one_note(&first_note);
if (on_last_note) {
@@ -698,7 +714,7 @@ static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph,
gregorio_add_unpitched_element_as_glyph(last_glyph,
(*first_note)->type, &((*first_note)->u.other), _NO_SIGN,
(*first_note)->texverb);
- (*first_note)->texverb = NULL;
+ (*first_note)->texverb = 0;
gregorio_assert(*first_note != last_note,
close_fusion_glyph, "Unexpected texverb at end of fusion",
return last_note);
@@ -927,7 +943,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
bool force = false;
gregorio_sign sign = _NO_SIGN;
- if (current_glyph_type == G_FUSED && type == GRE_TEXVERB_GLYPH) {
+ if (current_glyph_type == G_FUSED
+ && (type == GRE_TEXVERB_GLYPH || type == GRE_TEXVERB_ELEMENT)) {
current_note = next_note;
continue;
}
@@ -1003,7 +1020,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
}
}
current_glyph_first_note = current_note->next;
- current_note->texverb = NULL;
+ current_note->texverb = 0;
gregorio_free_one_note(&current_note);
last_pitch = USELESS_VALUE;
continue;
@@ -1128,18 +1145,13 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
/* special cases of oriscus descendens, treated like normal
* oriscus in some cases. */
if (score->legacy_oriscus_orientation) {
- if ((current_note->u.note.shape == S_ORISCUS_DESCENDENS
- || current_note->u.note.shape
- == S_ORISCUS_CAVUM_DESCENDENS)
+ if (current_note->u.note.shape == S_ORISCUS_DESCENDENS
&& current_note->next
&& current_note->next->type == GRE_NOTE
&& current_note->next->u.note.pitch <
current_note->u.note.pitch) {
last_pitch = current_note->u.note.pitch;
- current_note->u.note.shape =
- current_note->u.note.shape
- == S_ORISCUS_DESCENDENS? S_ORISCUS_ASCENDENS
- : S_ORISCUS_CAVUM_ASCENDENS;
+ current_note->u.note.shape = S_ORISCUS_ASCENDENS;
current_note->u.note.liquescentia =
L_NO_LIQUESCENTIA;
current_note = next_note;
@@ -1181,31 +1193,6 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
continue;
}
}
- if (current_note->u.note.shape == S_PUNCTUM_CAVUM_INCLINATUM) {
- switch (current_note->u.note.liquescentia
- & TAIL_LIQUESCENTIA_MASK) {
- case L_AUCTUS_DESCENDENS:
- case L_AUCTUS_ASCENDENS:
- current_note->u.note.shape =
- S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS;
- break;
- }
-
- if (current_note->next
- && current_note->next->type == GRE_NOTE
- && (current_note->next->u.note.shape
- == S_PUNCTUM_INCLINATUM_ASCENDENS
- || current_note->next->u.note.shape
- == S_PUNCTUM_INCLINATUM_DESCENDENS
- || current_note->next->u.note.shape
- == S_PUNCTUM_INCLINATUM_UNDETERMINED)
- && current_note->next->u.note.liquescentia ==
- L_DEMINUTUS) {
- last_pitch = current_note->u.note.pitch;
- current_note = next_note;
- continue;
- }
- }
liquescentia |= current_note->u.note.liquescentia;
/* once again, only works with the good values in the header
* file */
@@ -1266,30 +1253,6 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
continue;
}
}
- if (current_note->u.note.shape == S_PUNCTUM_CAVUM_INCLINATUM) {
- switch (current_note->u.note.liquescentia
- & TAIL_LIQUESCENTIA_MASK) {
- case L_AUCTUS_DESCENDENS:
- case L_AUCTUS_ASCENDENS:
- current_note->u.note.shape =
- S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS;
- break;
- }
-
- if (current_note->next
- && current_note->next->type == GRE_NOTE
- && (current_note->next->u.note.shape
- == S_PUNCTUM_INCLINATUM_ASCENDENS
- || current_note->next->u.note.shape
- == S_PUNCTUM_INCLINATUM_DESCENDENS
- || current_note->next->u.note.shape
- == S_PUNCTUM_INCLINATUM_UNDETERMINED)
- && current_note->next->u.note.liquescentia ==
- L_DEMINUTUS) {
- current_note = next_note;
- continue;
- }
- }
current_note = close_glyph(&last_glyph, current_glyph_type,
&current_glyph_first_note,
current_note->u.note.liquescentia, current_note,
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 3c17f898dff..ed25c70fe30 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
@@ -2383,9 +2383,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, 135, -63, 136,
- -63, 137, -63, 138, 139, -63, -63, -63, 140, -63,
- 141, 142, -63, -63, -63, -63, -63, 143, -63, -63,
+ -63, 135, -63, -63, -63, -63, -63, 136, -63, 137,
+ -63, 138, -63, 139, 140, -63, -63, -63, 141, -63,
+ 142, 143, -63, -63, -63, -63, -63, 144, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
@@ -2415,7 +2415,7 @@ 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, -64, -64, -64,
+ -64, -64, -64, 145, -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,
@@ -2441,8 +2441,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, 144, 144,
- 144, 144, 144, 144, -65, -65, -65, -65, -65, -65,
+ -65, -65, -65, -65, -65, -65, -65, -65, 146, 146,
+ 146, 146, 146, 146, -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,
@@ -2504,7 +2504,7 @@ 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, 145, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, 147, -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,
@@ -2536,12 +2536,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, 145, -68, -68, -68, -68, -68, 146,
- 146, 146, 146, 146, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, 147, -68, -68, -68, -68, -68, 148,
+ 148, 148, 148, 148, -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, 128, -68, -68, -68,
- -68, -68, -68, -68, -68, -68, -68, -68, 147, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, 149, -68,
-68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
-68, -68, -68, -68, -68, 129, -68, -68, 130, -68,
@@ -2567,7 +2567,7 @@ 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, -69, -69, -69, -69, -69, 148, 149,
+ -69, -69, -69, -69, -69, -69, -69, -69, 150, 151,
-69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
-69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
@@ -2631,8 +2631,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, 150, 151,
- 152, 153, 154, 155, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, -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,
@@ -2820,7 +2820,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, 156, -77, 157, -77, -77, 158, -77,
+ -77, -77, -77, 161, -77, 162, -77, -77, 163, -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,
@@ -2942,35 +2942,35 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
+ 39, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, -81, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, -81, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164
},
{
@@ -3005,168 +3005,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 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, -83, 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
- },
-
- {
- 39, 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, -84, 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
-
- },
-
- {
- 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, -85, 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,
- 162, 162, 162, 162, 162, 162
- },
-
- {
- 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, -86, 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, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, -87, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164
- },
-
- {
39, 165, 165, 165, 165, 165, 165, 165, 165, 165,
- -88, 165, 165, -88, 165, 165, 165, 165, 165, 165,
-
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
+
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
@@ -3174,6 +3015,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
+ 165, 165, 165, -83, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
@@ -3195,34 +3037,34 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- 166, -89, -89, 166, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -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, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, -84, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166
},
@@ -3236,7 +3078,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, -90, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, -85, 167, 167, 167, 167, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
@@ -3268,7 +3110,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
- 168, 168, 168, -91, 168, 168, 168, 168, 168, 168,
+ 168, 168, 168, -86, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
@@ -3300,7 +3142,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
- 169, 169, 169, -92, 169, 169, 169, 169, 169, 169,
+ 169, 169, 169, -87, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
@@ -3322,7 +3164,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
{
39, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
+ -88, 170, 170, -88, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
@@ -3331,7 +3173,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, -93, 170, 170, 170, 170, 170, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
@@ -3353,6 +3195,164 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
+ 39, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ 171, -89, -89, 171, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
+ -89, -89, -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, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, -90, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172
+ },
+
+ {
+ 39, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, -91, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173
+ },
+
+ {
+ 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, 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, -92, 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, 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
+ },
+
+ {
+ 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, -93, 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,
+ 175, 175, 175, 175, 175, 175
+ },
+
+ {
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,
@@ -3389,8 +3389,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, 171, -95, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, -95, -95,
+ -95, -95, -95, -95, -95, -95, 176, -95, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, -95, -95,
-95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
-95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
-95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
@@ -3421,8 +3421,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, -96, -96, 173, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, -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,
@@ -3452,13 +3452,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, 174, -97, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, -97, -97,
+ -97, -97, -97, -97, -97, -97, 179, -97, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, -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, 175, -97, -97, -97, -97, -97, -97,
+ -97, -97, -97, 180, -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,
@@ -3484,8 +3484,8 @@ 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, 176, -98, 177, 177,
- 177, 177, 177, 177, 177, 177, 177, 177, -98, -98,
+ -98, -98, -98, -98, -98, -98, 181, -98, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, -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,
@@ -3515,8 +3515,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, -99, -99, 178, 178,
- 178, 178, 178, 178, 178, 178, 178, 178, -99, -99,
+ -99, -99, -99, -99, -99, -99, -99, -99, 183, 183,
+ 183, 183, 183, 183, 183, 183, 183, 183, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
@@ -3547,12 +3547,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, 179, -100, 177, 177,
- 177, 177, 177, 177, 177, 177, 177, 177, -100, -100,
+ -100, -100, -100, -100, -100, -100, 184, -100, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, -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, 180, -100, -100, -100, -100, -100, -100,
+ -100, -100, -100, 185, -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,
@@ -3574,178 +3574,20 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
-
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, -101,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, -101, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
-
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
-
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181
- },
-
- {
- 39, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
-
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, -102, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
-
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182
- },
-
- {
- 39, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, -103, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183
- },
-
- {
- 39, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, -104,
-
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, -104, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184
-
- },
-
- {
- 39, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, -105, 185, 185, 185, 185, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185
- },
-
- {
39, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+ 186, 186, 186, 186, 186, 186, 186, 186, 186, -101,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, -106, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+ 186, 186, 186, -101, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
@@ -3764,6 +3606,164 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
+ 39, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, -102, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187
+ },
+
+ {
+ 39, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, -103, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188
+ },
+
+ {
+ 39, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, -104,
+
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, -104, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189
+
+ },
+
+ {
+ 39, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, -105, 190, 190, 190, 190, 190, 190,
+
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190
+ },
+
+ {
+ 39, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, -106, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191
+ },
+
+ {
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,
@@ -3863,12 +3863,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, 116, -110, -110, -110, -110, -110, -110,
- -110, -110, -110, -110, -110, -110, -110, 187, 118, -110,
+ -110, -110, -110, -110, -110, -110, -110, 192, 118, -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, 188, -110, -110, -110, -110, -110, -110, -110, -110,
+ -110, 193, -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,
@@ -3958,7 +3958,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
- -113, -113, -113, -113, -113, -113, -113, -113, 189, 189,
+ -113, -113, -113, -113, -113, -113, -113, -113, 194, 194,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
@@ -4090,7 +4090,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
- -117, 190, -117, -117, -117, -117, -117, -117, -117, -117,
+ -117, 195, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
@@ -4218,7 +4218,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
- 191, -121, -121, -121, -121, -121, -121, -121, -121, -121,
+ 196, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
@@ -4249,7 +4249,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
- -122, -122, -122, -122, -122, -122, -122, -122, 192, -122,
+ -122, -122, -122, -122, -122, -122, -122, -122, 197, -122,
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
@@ -4274,7 +4274,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
- -123, -123, -123, -123, -123, -123, -123, -123, 193, 193,
+ -123, -123, -123, -123, -123, -123, -123, -123, 198, 198,
-123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
@@ -4369,12 +4369,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
- -126, -126, -126, -126, -126, -126, -126, -126, -126, 194,
- 194, 194, 194, 194, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, 199,
+ 199, 199, 199, 199, -126, -126, -126, -126, -126, -126,
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
- -126, -126, -126, -126, -126, -126, -126, -126, 195, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, 200, -126,
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
@@ -4436,7 +4436,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
- -128, -128, -128, -128, -128, -128, 196, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, 201, -128, -128, -128,
-128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
@@ -4471,7 +4471,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
- -129, -129, -129, -129, -129, 197, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, 202, -129, -129, -129, -129,
-129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
@@ -4503,7 +4503,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
- -130, -130, -130, -130, -130, -130, -130, -130, 198, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, 203, -130,
-130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
@@ -4660,7 +4660,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
- -135, -135, -135, -135, -135, -135, -135, -135, 199, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
@@ -4691,8 +4691,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
+ -136, -136, -136, -136, -136, -136, -136, -136, 204, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
- 200, -136, -136, -136, -136, 201, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
@@ -4723,8 +4723,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
- -137, -137, -137, -137, -137, -137, -137, -137, -137, 202,
- -137, -137, -137, -137, -137, -137, -137, -137, 203, -137,
+ -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
+ 205, -137, -137, -137, -137, 206, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
@@ -4754,8 +4754,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
- -138, -138, -138, -138, -138, -138, -138, -138, -138, 204,
- -138, -138, -138, -138, -138, -138, -138, -138, 205, -138,
+ -138, -138, -138, -138, -138, -138, -138, -138, -138, 207,
+ -138, -138, -138, -138, -138, -138, -138, -138, 208, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
@@ -4786,8 +4786,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
- -139, -139, -139, -139, -139, -139, -139, -139, 206, -139,
- -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
+ -139, -139, -139, -139, -139, -139, -139, -139, -139, 209,
+ -139, -139, -139, -139, -139, -139, -139, -139, 210, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
@@ -4818,7 +4818,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
- -140, -140, -140, -140, -140, -140, -140, -140, 207, -140,
+ -140, -140, -140, -140, -140, -140, -140, -140, 211, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
@@ -4849,8 +4849,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
- -141, -141, -141, -141, -141, -141, -141, -141, -141, 208,
- -141, -141, -141, -141, -141, -141, -141, -141, 209, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, 212, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
@@ -4880,9 +4880,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
- -142, -142, -142, -142, -142, -142, -142, -142, 210, 211,
- -142, -142, -142, -142, 212, -142, -142, -142, 213, -142,
- -142, -142, -142, -142, -142, 214, -142, -142, -142, -142,
+ -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
+ -142, -142, -142, -142, -142, -142, -142, -142, -142, 213,
+ -142, 214, -142, -142, -142, -142, -142, -142, 215, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
@@ -4911,9 +4911,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
- -143, -143, -143, -143, -143, -143, -143, -143, 215, -143,
- -143, -143, -143, -143, 212, -143, -143, -143, 216, -143,
- -143, -143, -143, -143, -143, 214, -143, -143, -143, -143,
+ -143, -143, -143, -143, -143, -143, -143, -143, 216, 217,
+ -143, -143, -143, -143, 218, -143, -143, -143, 219, -143,
+ -143, -143, -143, -143, -143, 220, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
@@ -4937,15 +4937,15 @@ static yyconst flex_int32_t yy_nxt[][256] =
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
- -144, -144, -144, -144, -144, -144, -144, -144, 144, 144,
- 144, 144, 144, 144, -144, -144, -144, -144, -144, -144,
-
- -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
+
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
+ -144, -144, -144, -144, -144, -144, -144, -144, 221, -144,
+ -144, -144, -144, -144, 218, -144, -144, -144, 222, -144,
+ -144, -144, -144, -144, -144, 220, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
@@ -5001,8 +5001,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
- -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
- -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
+ -146, -146, -146, -146, -146, -146, -146, -146, 146, 146,
+ 146, 146, 146, 146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
@@ -5032,8 +5032,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
- -147, -147, -147, -147, -147, -147, -147, -147, -147, 217,
- 217, 217, 217, 217, -147, -147, -147, -147, -147, -147,
+ -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
+ -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
@@ -5095,8 +5095,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
- -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
- -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
+ -149, -149, -149, -149, -149, -149, -149, -149, -149, 223,
+ 223, 223, 223, 223, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
@@ -5407,161 +5407,161 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
-
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, -159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
-
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159
-
- },
-
- {
- 39, 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, 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
- },
-
- {
- 39, 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, 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
- },
-
- {
- 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, -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, 162,
- 162, 162, 162, 162, 162, 162
- },
-
- {
- 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, -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, 163
+ 39, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159
+
+ },
+
+ {
+ 39, -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, -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
+ },
+
+ {
+ 39, -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, -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
+ },
+
+ {
+ 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, -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, -162,
+ -162, -162, -162, -162, -162, -162
+ },
+
+ {
+ 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, -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, -163
},
{
@@ -5598,7 +5598,6 @@ static yyconst flex_int32_t yy_nxt[][256] =
{
39, 165, 165, 165, 165, 165, 165, 165, 165, 165,
- -165, 165, 165, -165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
@@ -5607,6 +5606,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
+ 165, 165, 165, -165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
@@ -5628,35 +5628,35 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- 166, -166, -166, 166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
+ 39, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, -166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166
},
{
@@ -5756,6 +5756,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
{
39, 170, 170, 170, 170, 170, 170, 170, 170, 170,
+ -170, 170, 170, -170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
@@ -5764,7 +5765,6 @@ static yyconst flex_int32_t yy_nxt[][256] =
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, -170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
@@ -5787,12 +5787,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
{
39, -171, -171, -171, -171, -171, -171, -171, -171, -171,
- -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
+ 171, -171, -171, 171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
- -171, -171, -171, -171, -171, -171, -171, -171, 173, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, -171, -171,
+ -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
+ -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
@@ -5818,129 +5818,129 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, 174, -172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, 175, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172
- },
-
- {
- 39, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, 173, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, 175, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173
- },
-
- {
- 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, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, -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, 175, -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, -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
-
- },
-
- {
- 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, -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, -175,
- -175, -175, -175, -175, -175, -175
+ 39, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, -172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172
+ },
+
+ {
+ 39, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, -173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173
+ },
+
+ {
+ 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, 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, 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
+
+ },
+
+ {
+ 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, -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, 175,
+ 175, 175, 175, 175, 175, 175
},
{
@@ -6043,8 +6043,8 @@ 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, 219, 219,
- 219, 219, 219, 219, 219, 219, 219, 219, -179, -179,
+ -179, -179, -179, -179, -179, -179, -179, -179, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, -179, -179,
-179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
@@ -6102,161 +6102,161 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
-
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, -181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, -181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
-
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
-
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181
- },
-
- {
- 39, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
-
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, -182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
-
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 182
- },
-
- {
- 39, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, -183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183
- },
-
- {
- 39, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, -184,
-
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, -184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184
-
- },
-
- {
- 39, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, -185, 185, 185, 185, 185, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
-
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185
+ 39, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+
+ -181, -181, -181, -181, -181, -181, -181, -181, 183, 183,
+ 183, 183, 183, 183, 183, 183, 183, 183, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181
+ },
+
+ {
+ 39, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, 184, -182, 182, 182,
+ 182, 182, 182, 182, 182, 182, 182, 182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, 185, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182
+ },
+
+ {
+ 39, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, 183, 183,
+ 183, 183, 183, 183, 183, 183, 183, 183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, 185, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183
+ },
+
+ {
+ 39, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, 225, 225,
+ 225, 225, 225, 225, 225, 225, 225, 225, -184, -184,
+
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, 185, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184
+
+ },
+
+ {
+ 39, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185
},
{
@@ -6266,14 +6266,14 @@ static yyconst flex_int32_t yy_nxt[][256] =
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+ 186, 186, 186, 186, 186, 186, 186, 186, 186, -186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, -186, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+ 186, 186, 186, -186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
@@ -6292,161 +6292,161 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, 220, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, -187, -187, -187
- },
-
- {
- 39, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188
- },
-
- {
- 39, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, -189, -189, -189
-
- },
-
- {
- 39, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, -190, -190, -190
- },
-
- {
- 39, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, 221, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-
- -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191
+ 39, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, -187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187
+ },
+
+ {
+ 39, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, -188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+ 188, 188, 188, 188, 188, 188
+ },
+
+ {
+ 39, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, -189,
+
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, -189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189
+
+ },
+
+ {
+ 39, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, -190, 190, 190, 190, 190, 190, 190,
+
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+ 190, 190, 190, 190, 190, 190
+ },
+
+ {
+ 39, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, -191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+ 191, 191, 191, 191, 191, 191
},
{
@@ -6460,7 +6460,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
- -192, -192, -192, -192, -192, -192, -192, -192, 222, -192,
+ -192, 226, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
@@ -6549,8 +6549,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
- -195, -195, -195, -195, -195, -195, -195, -195, -195, 223,
- 223, 223, 223, 223, -195, -195, -195, -195, -195, -195,
+ -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
+ -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
@@ -6585,9 +6585,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
- -196, -196, -196, -196, -196, -196, 224, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
+ -196, -196, -196, -196, -196, -196, -196, -196, 227, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
@@ -6614,13 +6614,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
- 225, -197, 225, -197, -197, -197, -197, -197, -197, -197,
+ -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
+ -197, -197, -197, -197, -197, -197, -197, -197, 228, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
- -197, -197, -197, -197, -197, 226, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
@@ -6651,7 +6651,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
- -198, -198, -198, -198, -198, -198, -198, -198, 227, -198,
+ -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
@@ -6683,7 +6683,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
- -199, -199, -199, -199, -199, -199, 228, -199, -199, -199,
+ -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
@@ -6707,8 +6707,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
- -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
- -200, -200, -200, -200, -200, -200, -200, -200, 229, -200,
+ -200, -200, -200, -200, -200, -200, -200, -200, -200, 229,
+ 229, 229, 229, 229, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
@@ -6740,10 +6740,10 @@ static yyconst flex_int32_t yy_nxt[][256] =
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
- -201, -201, -201, -201, -201, -201, -201, -201, 230, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
+ -201, -201, -201, -201, -201, -201, 230, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
@@ -6770,15 +6770,15 @@ static yyconst flex_int32_t yy_nxt[][256] =
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
- -202, -202, -202, -202, -202, -202, -202, -202, -202, 231,
- 231, 231, 231, 231, 231, 231, 231, 231, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-
+ 231, -202, 231, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
+
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
+ -202, -202, -202, -202, -202, 232, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
@@ -6803,13 +6803,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
- -203, -203, -203, -203, -203, -203, -203, -203, 232, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
+ -203, -203, -203, -203, -203, -203, -203, -203, 233, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
@@ -6833,16 +6833,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
- -204, -204, -204, -204, -204, -204, -204, -204, -204, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, -204, -204,
-
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
+
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
+ -204, -204, -204, -204, -204, -204, 234, -204, -204, -204,
+ -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
@@ -6866,7 +6866,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
- -205, -205, -205, -205, -205, -205, -205, -205, 234, -205,
+ -205, -205, -205, -205, -205, -205, -205, -205, 235, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
@@ -6898,7 +6898,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
- -206, -206, -206, -206, -206, -206, -206, -206, 235, -206,
+ -206, -206, -206, -206, -206, -206, -206, -206, 236, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
@@ -6928,8 +6928,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
- -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
- -207, -207, -207, -207, -207, -207, -207, -207, 236, -207,
+ -207, -207, -207, -207, -207, -207, -207, -207, -207, 237,
+ 237, 237, 237, 237, 237, 237, 237, 237, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
@@ -6960,8 +6960,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
- -208, -208, -208, -208, -208, -208, -208, -208, -208, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, -208, -208,
+ -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ -208, -208, -208, -208, -208, -208, -208, -208, 238, -208,
-208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
@@ -6991,8 +6991,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
- -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
- -209, -209, -209, -209, -209, -209, -209, -209, 238, -209,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
@@ -7024,7 +7024,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
- -210, -210, -210, -210, -210, -210, -210, -210, 239, -210,
+ -210, -210, -210, -210, -210, -210, -210, -210, 240, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
@@ -7056,11 +7056,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
+ -211, -211, -211, -211, -211, -211, -211, -211, 241, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
- -211, -211, -211, -211, -211, -211, -211, -211, 240, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
@@ -7087,7 +7087,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, 241, -212,
+ -212, -212, -212, -212, -212, -212, -212, -212, 242, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
@@ -7095,7 +7095,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, 242, -212, 243, -212, -212, -212, -212,
+ -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
@@ -7118,14 +7118,14 @@ static yyconst flex_int32_t yy_nxt[][256] =
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
- -213, -213, -213, -213, -213, -213, -213, -213, 244, -213,
- -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
@@ -7155,8 +7155,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, 244,
-214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
- -214, -214, -214, -214, -214, -214, -214, -214, 245, -214,
-214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
@@ -7182,7 +7182,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
- -215, -215, -215, -215, -215, -215, -215, -215, 246, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, 245, -215,
-215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
@@ -7214,12 +7214,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, 246, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, -216, -216, -216, -216, 247, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
@@ -7250,7 +7250,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
- -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, 247, -217,
-217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
@@ -7276,16 +7276,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
- -218, -218, -218, -218, -218, -218, -218, -218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, 248, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
- -218, -218, -218, 175, -218, -218, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+
+ -218, -218, -218, 249, -218, 250, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
@@ -7307,14 +7307,14 @@ static yyconst flex_int32_t yy_nxt[][256] =
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
- -219, -219, -219, -219, -219, -219, -219, -219, 219, 219,
- 219, 219, 219, 219, 219, 219, 219, 219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
- -219, -219, -219, 180, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, 251, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
@@ -7346,7 +7346,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
- -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, 252, -220,
-220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
@@ -7372,11 +7372,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, 253, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
- -221, -221, -221, -221, -221, -221, -221, -221, 248, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
@@ -7408,8 +7408,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
- -222, -222, -222, -222, -222, -222, -222, 249, -222, -222,
-222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, 254, -222,
-222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
@@ -7465,13 +7465,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
- -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
- -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
- -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, 180, -224, -224, -224, -224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
@@ -7497,12 +7497,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, 225, 225,
+ 225, 225, 225, 225, 225, 225, 225, 225, -225, -225,
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
- -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
- -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
- -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, 185, -225, -225, -225, -225, -225, -225,
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
@@ -7531,7 +7531,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
- 250, -226, 250, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
@@ -7566,7 +7566,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
- -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, 255, -227,
-227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
@@ -7593,12 +7593,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
- -228, -228, -228, -228, -228, -228, -228, -228, 251, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
- -228, -228, -228, -228, -228, -228, -228, -228, -228, 252,
+ -228, -228, -228, -228, -228, -228, -228, 256, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
@@ -7692,7 +7692,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
- -231, -231, -231, 253, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
@@ -7720,7 +7720,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
- -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ 257, -232, 257, -232, -232, -232, -232, -232, -232, -232,
-232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
@@ -7755,7 +7755,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
- -233, -233, -233, 254, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
@@ -7782,13 +7782,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
- -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, 258, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
- -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, 259,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
@@ -7813,7 +7813,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
- -235, -235, -235, -235, -235, -235, -235, -235, 255, 256,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
@@ -7845,7 +7845,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
- -236, -236, -236, -236, -236, -236, -236, -236, 257, 258,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
@@ -7882,7 +7882,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
- -237, -237, -237, 259, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, 260, -237, -237, -237, -237, -237, -237,
-237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
@@ -7939,13 +7939,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
- -239, -239, -239, -239, -239, -239, -239, -239, 260, 260,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, 261, -239, -239, -239, -239, -239, -239,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
@@ -7972,11 +7972,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
- -240, -240, -240, -240, -240, -240, -240, -240, 261, -240,
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
- -240, -240, -240, -240, -240, -240, -240, 262, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
@@ -8003,15 +8003,15 @@ static yyconst flex_int32_t yy_nxt[][256] =
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
- -241, -241, -241, 263, -241, 263, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, 262, 263,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
- -241, -241, -241, -241, 264, -241, -241, -241, 264, 264,
- -241, 265, -241, -241, -241, -241, -241, 265, -241, -241,
- -241, -241, -241, 242, -241, 243, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
@@ -8034,13 +8034,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
- -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, 264, 265,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
- -242, -242, -242, 266, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
@@ -8071,7 +8071,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
- -243, -243, -243, 267, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, 266, -243, -243, -243, -243, -243, -243,
-243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
@@ -8098,14 +8098,14 @@ static yyconst flex_int32_t yy_nxt[][256] =
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
- -244, -244, -244, -244, -244, -244, -244, -244, 268, -244,
-
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, 267, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
@@ -8137,7 +8137,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
- -245, -245, -245, -245, -245, -245, -245, 269, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
@@ -8161,7 +8161,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
- -246, -246, -246, -246, -246, -246, -246, -246, 270, 270,
+ -246, -246, -246, -246, -246, -246, -246, -246, 268, 268,
-246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
@@ -8193,12 +8193,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, -247, -247, 271, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, 269, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
- -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, 270, -247, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
@@ -8224,16 +8224,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, 271, -248, 271, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
- -248, -248, -248, -248, -248, -248, -248, 272, -248, -248,
- -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
- -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, 272, -248, -248, -248, 272, 272,
+ -248, 273, -248, -248, -248, -248, -248, 273, -248, -248,
- -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, 249, -248, 250, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
@@ -8258,10 +8258,10 @@ static yyconst flex_int32_t yy_nxt[][256] =
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
- -249, -249, 273, -249, -249, -249, -249, -249, -249, -249,
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, 274, -249, -249, -249, -249, -249, -249,
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
@@ -8292,7 +8292,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
- -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, 275, -250, -250, -250, -250, -250, -250,
-250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
@@ -8320,7 +8320,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
- -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, 276, -251,
-251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
@@ -8350,15 +8350,15 @@ static yyconst flex_int32_t yy_nxt[][256] =
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
- -252, -252, -252, -252, -252, -252, -252, -252, -252, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, 277, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
@@ -8382,7 +8382,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
- -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, 278, 278,
-253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
@@ -8414,7 +8414,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
- -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, 279, -254,
-254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
@@ -8450,7 +8450,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
- -255, -255, -255, 275, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, 280, -255, -255,
-255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
@@ -8479,10 +8479,10 @@ static yyconst flex_int32_t yy_nxt[][256] =
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, 281, -256, -256, -256, -256, -256, -256, -256,
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
- -256, -256, -256, 276, -256, -256, -256, -256, -256, -256,
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
@@ -8514,7 +8514,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
- -257, -257, -257, 277, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
@@ -8545,7 +8545,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
- -258, -258, -258, 278, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
@@ -8571,8 +8571,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
- -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
- -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, 282,
+ 282, 282, 282, 282, 282, 282, 282, 282, -259, -259,
-259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
@@ -8604,7 +8604,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
- -260, -260, -260, -260, -260, -260, -260, -260, -260, 279,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
@@ -8612,7 +8612,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
- -260, -260, -260, 280, -260, 281, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
@@ -8635,7 +8635,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
- -261, -261, -261, -261, -261, -261, -261, -261, 282, 282,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
@@ -8667,12 +8667,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
- -262, -262, -262, -262, -262, -262, -262, -262, 283, -262,
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, 283, -262, -262, -262, -262, -262, -262,
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
@@ -8693,35 +8693,35 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 39, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, -263, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, 284, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
- 284, 284, 284, -263, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263
},
{
@@ -8729,16 +8729,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
- -264, -264, -264, 263, -264, 263, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
- -264, -264, -264, 266, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, 285, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
- -264, -264, -264, 242, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
@@ -8766,9 +8766,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
-265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
- -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, 286, -265, -265, -265, -265, -265, -265,
- -265, -265, -265, -265, 264, -265, -265, -265, 264, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
@@ -8832,7 +8832,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
- -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, 287, -267, -267, -267, -267,
-267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
@@ -8857,7 +8857,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
- -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, 288,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
@@ -8865,7 +8865,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
- -268, -268, -268, -268, -268, 285, -268, -268, -268, -268,
+ -268, -268, -268, 289, -268, 290, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
@@ -8887,7 +8887,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
- -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, 291, 291,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
@@ -8895,7 +8895,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
- -269, -269, -269, -269, 286, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
@@ -8920,7 +8920,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
- -270, -270, -270, -270, -270, -270, -270, -270, -270, 287,
+ -270, -270, -270, -270, -270, -270, -270, -270, 292, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
@@ -8928,7 +8928,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
- -270, -270, -270, 288, -270, 289, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
@@ -8946,35 +8946,35 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ 39, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, 290, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, -271, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, -271, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
- -271, -271, -271, -271, -271, -271
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293
},
{
@@ -8982,16 +8982,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, 271, -272, 271, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
- -272, -272, 291, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, 274, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
- -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
- -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, 249, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
@@ -9020,7 +9020,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
- -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, 272, -273, -273, -273, 272, -273,
-273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
@@ -9051,7 +9051,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
- -274, -274, -274, 292, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
@@ -9109,6 +9109,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, 294, 295,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
@@ -9116,8 +9117,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
- -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
- -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, 296, -276, -276, -276, -276,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
@@ -9148,7 +9148,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
- -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, 297, -277, -277, -277, -277, -277,
-277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
@@ -9173,7 +9173,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
- -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, 298,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
@@ -9181,7 +9181,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
- -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, 299, -278, 300, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
@@ -9203,7 +9203,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
- -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, 301, 302,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
@@ -9212,7 +9212,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
- -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, 303, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
@@ -9237,10 +9237,10 @@ static yyconst flex_int32_t yy_nxt[][256] =
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, 304, -280, -280, -280, -280, -280, -280, -280,
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
- -280, -280, -280, 293, -280, -280, -280, -280, -280, -280,
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
@@ -9272,7 +9272,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
- -281, -281, -281, 294, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
@@ -9299,15 +9299,15 @@ static yyconst flex_int32_t yy_nxt[][256] =
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
- -282, -282, -282, -282, -282, -282, -282, -282, -282, 295,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, 305, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
- -282, -282, -282, 296, -282, 297, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
@@ -9330,7 +9330,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
- -283, -283, -283, -283, -283, -283, -283, -283, 298, 298,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
@@ -9357,34 +9357,34 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 39, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 266, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 299, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284
},
@@ -9398,7 +9398,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
- -285, -285, -285, 300, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
@@ -9426,7 +9426,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
- -286, -286, -286, -286, -286, -286, -286, -286, 301, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
@@ -9464,7 +9464,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
- -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, 306, -287, -287, -287,
-287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
@@ -9493,7 +9493,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
- -288, -288, -288, 302, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
@@ -9525,7 +9525,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
- -289, -289, -289, 303, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, 307, -289, -289, -289, -289, -289, -289,
-289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
@@ -9556,7 +9556,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
- -290, -290, -290, 304, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, 308, -290, -290, -290, -290, -290, -290,
-290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
@@ -9584,14 +9584,14 @@ static yyconst flex_int32_t yy_nxt[][256] =
-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, 309,
-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, -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, 310, -291, 311, -291, -291, -291, -291,
-291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
@@ -9614,7 +9614,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
- -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, 312, 312,
-292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
@@ -9641,35 +9641,35 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ 39, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 274, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ 293, 293, 293, 313, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
- -293, -293, -293, -293, -293, -293
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 293, 293, 293, 293, 293
},
{
@@ -9683,7 +9683,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
- -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, 314, -294, -294, -294, -294, -294, -294,
-294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
@@ -9714,7 +9714,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
- -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, 315, -295, -295, -295, -295, -295, -295,
-295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
@@ -9746,7 +9746,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
- -296, -296, -296, 305, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, 316, -296, -296, -296, -296, -296, -296,
-296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
@@ -9773,12 +9773,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
- -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, 317, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
- -297, -297, -297, 306, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
@@ -9805,7 +9805,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
- -298, -298, -298, -298, -298, -298, -298, -298, -298, 307,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
@@ -9813,7 +9813,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
- -298, -298, -298, 308, -298, 309, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
@@ -9841,7 +9841,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
- -299, -299, -299, 266, -299, -299, -299, -299, -299, -299,
+ -299, -299, -299, 318, -299, -299, -299, -299, -299, -299,
-299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
@@ -9872,7 +9872,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
- -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, 319, -300, -300, -300, -300, -300, -300,
-300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
@@ -9899,13 +9899,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
- -301, -301, -301, -301, -301, -301, -301, -301, 310, 310,
- 310, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, 320, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
@@ -9936,7 +9936,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
- -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
+ -302, -302, -302, 321, -302, -302, -302, -302, -302, -302,
-302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
@@ -9967,7 +9967,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
- -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, 322, -303, -303, -303, -303, -303, -303,
-303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
@@ -10064,7 +10064,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-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, 323, -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,
@@ -10125,7 +10125,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
- -308, -308, -308, 311, -308, -308, -308, -308, -308, -308,
+ -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
@@ -10157,7 +10157,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
- -309, -309, -309, 312, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
@@ -10184,15 +10184,15 @@ static yyconst flex_int32_t yy_nxt[][256] =
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, -310, -310, -310, -310, -310, -310, 313,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, 324, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
- -310, -310, -310, 314, -310, 315, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
@@ -10220,7 +10220,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-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, -311,
+ -311, -311, -311, 325, -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,
@@ -10247,7 +10247,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
- -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
+ -312, -312, -312, -312, -312, -312, -312, -312, -312, 326,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
@@ -10255,7 +10255,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
- -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
+ -312, -312, -312, 327, -312, 328, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
@@ -10273,35 +10273,35 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 39, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, -313, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, 274, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
+ -313, -313, -313, -313, -313, -313
},
{
@@ -10315,7 +10315,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
- -314, -314, -314, 317, -314, -314, -314, -314, -314, -314,
+ -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
@@ -10346,7 +10346,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
- -315, -315, -315, 318, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
@@ -10368,35 +10368,35 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 39, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
- 316, 316, 316, 316, 319, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316
},
{
@@ -10404,8 +10404,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
- -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
- -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
+ -317, -317, -317, -317, -317, -317, -317, -317, 329, 329,
+ 329, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
@@ -10463,66 +10463,66 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 39, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
-
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, -319, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
-
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320
-
- },
-
- {
- 39, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 321, 320, 320, 320, 320, 320, 320,
-
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
-
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320
+ 39, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
+ -319, -319, -319, -319, -319, -319
+
+ },
+
+ {
+ 39, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
+ -320, -320, -320, -320, -320, -320
},
{
@@ -10557,6 +10557,669 @@ static yyconst flex_int32_t yy_nxt[][256] =
-321, -321, -321, -321, -321, -321
},
+ {
+ 39, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
+ -322, -322, -322, -322, -322, -322
+ },
+
+ {
+ 39, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, 330, -323, -323, -323, -323,
+
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ -323, -323, -323, -323, -323, -323
+ },
+
+ {
+ 39, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
+ -324, -324, -324, -324, -324, -324
+
+ },
+
+ {
+ 39, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
+ -325, -325, -325, -325, -325, -325
+ },
+
+ {
+ 39, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326
+ },
+
+ {
+ 39, -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, -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, 331, -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,
+ -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, -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, -327, -327, -327, -327, -327, -327, -327, -327,
+ -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
+ -327, -327, -327, -327, -327, -327
+ },
+
+ {
+ 39, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, 332, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
+ -328, -328, -328, -328, -328, -328
+ },
+
+ {
+ 39, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, 333,
+
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, 334, -329, 335, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
+ -329, -329, -329, -329, -329, -329
+
+ },
+
+ {
+ 39, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, 336, -330, -330, -330, -330, -330, -330,
+
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, -330
+ },
+
+ {
+ 39, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+
+ -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
+ -331, -331, -331, -331, -331, -331
+ },
+
+ {
+ 39, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
+ -332, -332, -332, -332, -332, -332
+ },
+
+ {
+ 39, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, -333, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337
+ },
+
+ {
+ 39, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, 338, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
+ -334, -334, -334, -334, -334, -334
+
+ },
+
+ {
+ 39, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, 339, -335, -335, -335, -335, -335, -335,
+
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
+ -335, -335, -335, -335, -335, -335
+ },
+
+ {
+ 39, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+
+ -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
+ -336, -336, -336, -336, -336, -336
+ },
+
+ {
+ 39, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 340, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337
+ },
+
+ {
+ 39, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
+ -338, -338, -338, -338, -338, -338
+ },
+
+ {
+ 39, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
+ -339, -339, -339, -339, -339, -339
+
+ },
+
+ {
+ 39, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, -340, 341, 341, 341, 341, 341, 341,
+
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341
+ },
+
+ {
+ 39, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 342, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341
+ },
+
+ {
+ 39, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
+ -342, -342, -342, -342, -342, -342
+ },
+
} ;
static yy_state_type yy_get_previous_state (void );
@@ -10577,8 +11240,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 141
-#define YY_END_OF_BUFFER 142
+#define YY_NUM_RULES 151
+#define YY_END_OF_BUFFER 152
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -10586,50 +11249,52 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int32_t yy_accept[322] =
+static yyconst flex_int32_t yy_accept[343] =
{ 0,
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, 142, 140,
- 63, 97, 140, 90, 1, 118, 76, 140, 120, 94,
- 79, 78, 123, 103, 122, 140, 115, 128, 82, 134,
- 132, 68, 140, 29, 119, 75, 112, 112, 125, 124,
- 81, 135, 133, 131, 89, 91, 65, 60, 61, 121,
- 36, 54, 37, 38, 34, 35, 39, 3, 2, 30,
- 31, 32, 33, 141, 141, 141, 141, 141, 141, 141,
-
- 46, 141, 141, 51, 141, 141, 63, 102, 101, 98,
- 118, 77, 116, 113, 120, 93, 96, 92, 40, 80,
- 0, 0, 117, 28, 114, 114, 115, 0, 0, 0,
- 129, 130, 69, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 119, 62, 71, 0, 126, 127, 83,
- 84, 85, 86, 87, 88, 66, 67, 64, 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, 116, 95,
- 0, 0, 117, 73, 0, 106, 108, 104, 0, 0,
-
+ 0, 0, 0, 0, 0, 0, 0, 0, 152, 150,
+ 69, 107, 150, 100, 1, 128, 83, 150, 130, 104,
+ 86, 85, 133, 113, 132, 150, 125, 138, 89, 144,
+ 142, 75, 150, 29, 129, 82, 122, 122, 135, 134,
+ 88, 145, 143, 141, 99, 101, 72, 66, 67, 131,
+ 36, 58, 37, 38, 34, 35, 39, 3, 2, 30,
+ 31, 32, 33, 151, 151, 151, 151, 151, 151, 151,
+
+ 48, 151, 151, 55, 151, 151, 69, 112, 111, 108,
+ 128, 84, 126, 123, 130, 103, 106, 102, 40, 87,
+ 0, 0, 127, 28, 124, 124, 125, 0, 0, 0,
+ 139, 140, 76, 77, 64, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 65, 129, 68, 78, 0, 136,
+ 137, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 73, 74, 71, 36, 37, 38, 34, 35, 39, 3,
+ 2, 30, 31, 32, 33, 0, 0, 0, 0, 41,
+ 0, 0, 0, 0, 43, 48, 49, 50, 55, 56,
+ 57, 110, 42, 126, 105, 0, 0, 127, 80, 0,
+
+ 116, 118, 114, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 72, 0, 0, 99,
- 0, 0, 74, 107, 109, 110, 105, 0, 5, 4,
- 0, 24, 0, 23, 0, 0, 0, 22, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 111,
- 25, 0, 20, 19, 0, 0, 0, 0, 18, 0,
- 0, 0, 0, 0, 0, 58, 59, 45, 0, 0,
- 50, 0, 26, 0, 137, 136, 139, 138, 6, 0,
- 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 27, 21, 10, 14, 8, 0, 0, 0, 0, 44,
-
- 0, 11, 15, 49, 12, 16, 9, 0, 0, 0,
- 13, 17, 0, 0, 0, 0, 56, 57, 0, 0,
- 55
+ 0, 0, 79, 0, 0, 109, 0, 0, 81, 117,
+ 119, 120, 115, 0, 5, 4, 0, 24, 0, 23,
+ 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 121, 25, 0, 20,
+ 19, 0, 0, 0, 0, 18, 0, 0, 0, 0,
+ 0, 0, 0, 62, 63, 47, 0, 0, 54, 0,
+ 26, 0, 147, 146, 149, 148, 0, 6, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
+
+ 0, 0, 0, 27, 21, 0, 10, 14, 8, 0,
+ 0, 0, 0, 45, 44, 46, 0, 11, 15, 52,
+ 51, 53, 0, 12, 16, 9, 0, 0, 0, 0,
+ 13, 17, 0, 0, 0, 70, 0, 60, 61, 0,
+ 0, 59
} ;
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
-static yyconst yy_state_type yy_NUL_trans[322] =
+static yyconst yy_state_type yy_NUL_trans[343] =
{ 0,
40, 40, 81, 81, 83, 83, 84, 84, 85, 85,
86, 86, 87, 87, 88, 88, 90, 90, 91, 91,
@@ -10639,19 +11304,19 @@ static yyconst yy_state_type yy_NUL_trans[322] =
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,
- 159, 0, 160, 161, 162, 163, 164, 165, 0, 167,
- 168, 169, 170, 0, 0, 0, 0, 0, 0, 0,
+ 164, 0, 165, 166, 167, 168, 169, 170, 0, 172,
+ 173, 174, 175, 0, 0, 0, 0, 0, 0, 0,
- 181, 182, 183, 184, 185, 186, 0, 0, 0, 0,
+ 186, 187, 188, 189, 190, 191, 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, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 159, 160,
- 161, 162, 163, 164, 165, 0, 167, 168, 169, 170,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 181, 182, 183, 184, 185, 186, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 164, 165, 166, 167, 168, 169, 170,
+ 0, 172, 173, 174, 175, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 186, 187, 188, 189, 190,
+ 191, 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,
@@ -10659,14 +11324,16 @@ static yyconst yy_state_type yy_NUL_trans[322] =
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, 284, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 284, 0, 0, 0, 0, 0, 0,
+ 293, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 293, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 316, 0, 0, 316, 0, 0, 320, 320,
- 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 337, 0, 0, 0, 337, 0, 0, 341,
+ 341, 0
} ;
extern int gabc_notes_determination__flex_debug;
@@ -10686,7 +11353,7 @@ char *gabc_notes_determination_text;
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the note parser.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -10732,8 +11399,17 @@ static char *before_ledger_length = NULL;
static unsigned short ledger_var[2] = { 0, 0 };
static unsigned char staff_lines;
static signed char highest_pitch;
+static signed char high_ledger_line_pitch;
static bool legacy_oriscus_orientation;
static unsigned short he_adjustment_index[2] = { 0, 0 };
+static signed char bracket_low_pitch, bracket_high_pitch;
+static unsigned short left_bracket_texverb = 0;
+
+#define LEDGER(WHICH, SPECIFICITY, VALUE) \
+ if (LEDGER_##SPECIFICITY > current_note->WHICH##_ledger_specificity) { \
+ current_note->WHICH##_ledger_line = VALUE; \
+ current_note->WHICH##_ledger_specificity = LEDGER_##SPECIFICITY; \
+ }
typedef struct slur_info {
unsigned short var;
@@ -10774,7 +11450,7 @@ static __inline int letter_to_pitch_adjustment(const char letter) {
/* LCOV_EXCL_STOP */
}
-static __inline char pitch_letter_to_height(const char pitch) {
+static __inline signed char pitch_letter_to_height(const char pitch) {
char result = pitch - 'a' + LOWEST_PITCH;
if (pitch == 'p') {
--result;
@@ -10784,6 +11460,14 @@ static __inline char pitch_letter_to_height(const char pitch) {
_("invalid pitch for %u lines: %c"), (unsigned int)staff_lines,
pitch);
}
+ if (left_bracket_texverb) {
+ if (result < bracket_low_pitch) {
+ bracket_low_pitch = result;
+ }
+ if (result > bracket_high_pitch) {
+ bracket_high_pitch = result;
+ }
+ }
return result;
}
@@ -10803,21 +11487,25 @@ static gregorio_shape punctum_inclinatum(const char orientation)
static __inline void lex_add_note(int i, gregorio_shape shape, char signs,
char liquescentia)
{
+ signed char height = pitch_letter_to_height(tolower(
+ (unsigned char)gabc_notes_determination_text[i]));
+
nbof_isolated_episema = 0;
- gregorio_add_note(&current_note, pitch_letter_to_height(
- tolower((unsigned char)gabc_notes_determination_text[i])),
- shape, signs, liquescentia, NULL, &notes_lloc);
+ gregorio_add_note(&current_note, height, shape, signs, liquescentia, NULL,
+ &notes_lloc);
current_note->he_adjustment_index[SO_OVER] = he_adjustment_index[SO_OVER];
current_note->he_adjustment_index[SO_UNDER] = he_adjustment_index[SO_UNDER];
- if (ledger_var[SO_OVER]) {
- current_note->supposed_high_ledger_line = true;
- current_note->explicit_high_ledger_line = true;
+ if (height >= high_ledger_line_pitch) {
+ LEDGER(high, DRAWN, true);
+ } else if (ledger_var[SO_OVER]) {
+ LEDGER(high, EXPLICIT, true);
}
- if (ledger_var[SO_UNDER]) {
- current_note->supposed_low_ledger_line = true;
- current_note->explicit_low_ledger_line = true;
+ if (height <= LOW_LEDGER_LINE_PITCH) {
+ LEDGER(low, DRAWN, true);
+ } else if (ledger_var[SO_UNDER]) {
+ LEDGER(low, EXPLICIT, true);
}
}
@@ -11174,15 +11862,88 @@ static void end_var_slur(void)
slur[index].start = NULL;
}
-void parse_hepisema_adjustment(void)
+static void left_bracket(void)
{
- /* [xh:yz{]
- * - x indicates l(ow) or h(igh) episema
- * - y (optional) for l(ow), m(iddle), or h(igh) vertical position in space
- * - z (optional) nudge dimension that starts with + or -
- * - { (optional) starts a group
- * - at least one of y, z, or w must be provided
- * - if y and z are omitted, : may be omitted
+ if (left_bracket_texverb) {
+ gregorio_message(
+ _("cannot add a left bracket before closing the previous one"),
+ "left_bracket", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ /* when setting the left bracket, temporarily store the point-and-click
+ * information in the texverb */
+ if (notes_lloc.generate_point_and_click) {
+ gregorio_snprintf(tempstr, sizeof tempstr, "%u:%u:%u",
+ notes_lloc.first_line, notes_lloc.first_offset,
+ notes_lloc.first_column + 1);
+ } else {
+ tempstr[0] = '\0';
+ }
+ left_bracket_texverb = gregorio_add_texverb_as_note(&current_note,
+ gregorio_strdup(tempstr), GRE_TEXVERB_GLYPH, &notes_lloc);
+ bracket_low_pitch = MAX_PITCH;
+ bracket_high_pitch = LOWEST_PITCH;
+}
+
+static void right_bracket(void)
+{
+ if (!left_bracket_texverb) {
+ gregorio_message(
+ _("cannot add a right bracket without a matching left bracket"),
+ "right_bracket", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ if (bracket_high_pitch < bracket_low_pitch) {
+ gregorio_message(
+ _("cannot add brackets without notes between them"),
+ "right_bracket", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ gregorio_snprintf(tempstr, sizeof tempstr, "\\GreBracket{0}{%d}{%d}{%s}",
+ bracket_low_pitch, bracket_high_pitch,
+ gregorio_texverb(left_bracket_texverb));
+ gregorio_change_texverb(left_bracket_texverb, gregorio_strdup(tempstr));
+
+ if (notes_lloc.generate_point_and_click) {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreBracket{1}{%d}{%d}{%u:%u:%u}", bracket_low_pitch,
+ bracket_high_pitch, notes_lloc.first_line,
+ notes_lloc.first_offset, notes_lloc.first_column + 1);
+ } else {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreBracket{1}{%d}{%d}{}", bracket_low_pitch,
+ bracket_high_pitch);
+ }
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+
+ left_bracket_texverb = 0;
+}
+
+static void parse_hepisema_adjustment(void)
+{
+ /* See https://github.com/gregorio-project/gregorio/issues/872
+ *
+ * [xh:yzw]
+ *
+ * - x is o(ver) or u(under)
+ * - y is optional and is
+ * - l for low in the space (chooses ol or ul depending on x)
+ * - m for middle of the space
+ * - h for high in the space (chooses oh or uh depending on x)
+ * - ol for low in the space as if the episema were over the note
+ * - oh for high in the space as if the episema were over the note
+ * - ul for low in the space as if the episema were under the note
+ * - uh for high in the space as if the episema were under the note
+ * - z is an optional nudge and must start with + or -
+ * - w is optional and may be { to start a range or } to end a range.
+ *
+ * at least one of y, z, or w must be provided
+ * if y and z are omitted, the : may be omitted
+ * y and z are not permitted when w is }
*/
const gregorio_sign_orientation index = letter_to_sign_orientation(
@@ -11270,7 +12031,7 @@ void parse_hepisema_adjustment(void)
}
}
-void end_hepisema_adjustment(void)
+static void end_hepisema_adjustment(void)
{
/* [xh:}]
* - x indicates l(ow) or h(igh) episema
@@ -11324,6 +12085,11 @@ void gabc_det_notes_finish(void)
ledger_var[orientation] = 0;
}
}
+ if (left_bracket_texverb) {
+ gregorio_message(_("unclosed left bracket"),
+ "gabc_det_notes_finish", VERBOSITY_ERROR, 0);
+ left_bracket_texverb = 0;
+ }
}
@@ -11342,7 +12108,7 @@ void gabc_det_notes_finish(void)
-#line 11346 "gabc/gabc-notes-determination-l.c"
+#line 12112 "gabc/gabc-notes-determination-l.c"
#define INITIAL 0
#define texverbnote 1
@@ -11580,9 +12346,9 @@ YY_DECL
}
{
-#line 680 "gabc/gabc-notes-determination.l"
+#line 779 "gabc/gabc-notes-determination.l"
-#line 11586 "gabc/gabc-notes-determination-l.c"
+#line 12352 "gabc/gabc-notes-determination-l.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -11629,7 +12395,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 681 "gabc/gabc-notes-determination.l"
+#line 780 "gabc/gabc-notes-determination.l"
{
BEGIN(comments);
}
@@ -11637,35 +12403,35 @@ YY_RULE_SETUP
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 684 "gabc/gabc-notes-determination.l"
+#line 783 "gabc/gabc-notes-determination.l"
{
BEGIN(INITIAL);
}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 687 "gabc/gabc-notes-determination.l"
+#line 786 "gabc/gabc-notes-determination.l"
{
/* ignored */
}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 690 "gabc/gabc-notes-determination.l"
+#line 789 "gabc/gabc-notes-determination.l"
{
BEGIN(choralsign);
}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 693 "gabc/gabc-notes-determination.l"
+#line 792 "gabc/gabc-notes-determination.l"
{
BEGIN(choralnabc);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 696 "gabc/gabc-notes-determination.l"
+#line 795 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[4]-'0';
BEGIN(overbrace);
@@ -11673,7 +12439,7 @@ YY_RULE_SETUP
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 700 "gabc/gabc-notes-determination.l"
+#line 799 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[4]-'0';
BEGIN(underbrace);
@@ -11681,7 +12447,7 @@ YY_RULE_SETUP
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 704 "gabc/gabc-notes-determination.l"
+#line 803 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[5]-'0';
BEGIN(overcurlybrace);
@@ -11689,7 +12455,7 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 708 "gabc/gabc-notes-determination.l"
+#line 807 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[6]-'0';
BEGIN(overcurlyaccentusbrace);
@@ -11697,7 +12463,7 @@ YY_RULE_SETUP
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 712 "gabc/gabc-notes-determination.l"
+#line 811 "gabc/gabc-notes-determination.l"
{
if (overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11717,7 +12483,7 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 728 "gabc/gabc-notes-determination.l"
+#line 827 "gabc/gabc-notes-determination.l"
{
if (underbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11736,7 +12502,7 @@ YY_RULE_SETUP
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 743 "gabc/gabc-notes-determination.l"
+#line 842 "gabc/gabc-notes-determination.l"
{
if (overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11756,7 +12522,7 @@ YY_RULE_SETUP
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 759 "gabc/gabc-notes-determination.l"
+#line 858 "gabc/gabc-notes-determination.l"
{
if (overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11776,7 +12542,7 @@ YY_RULE_SETUP
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 775 "gabc/gabc-notes-determination.l"
+#line 874 "gabc/gabc-notes-determination.l"
{
if (!overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11799,7 +12565,7 @@ YY_RULE_SETUP
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 794 "gabc/gabc-notes-determination.l"
+#line 893 "gabc/gabc-notes-determination.l"
{
if (!underbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11817,7 +12583,7 @@ YY_RULE_SETUP
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 808 "gabc/gabc-notes-determination.l"
+#line 907 "gabc/gabc-notes-determination.l"
{
if (!overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11840,7 +12606,7 @@ YY_RULE_SETUP
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 827 "gabc/gabc-notes-determination.l"
+#line 926 "gabc/gabc-notes-determination.l"
{
if (!overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -11863,99 +12629,99 @@ YY_RULE_SETUP
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 846 "gabc/gabc-notes-determination.l"
+#line 945 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_to_note(current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[3]-'0']));
} else error();
}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 852 "gabc/gabc-notes-determination.l"
+#line 951 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']),
- GRE_TEXVERB_GLYPH, &notes_lloc);
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[3]-'0']),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
} else error();
}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 859 "gabc/gabc-notes-determination.l"
+#line 958 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']),
- GRE_TEXVERB_ELEMENT, &notes_lloc);
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[3]-'0']),
+ GRE_TEXVERB_ELEMENT, &notes_lloc);
} else error();
}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 866 "gabc/gabc-notes-determination.l"
+#line 965 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[5]-'0']) {
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[5]-'0']),
- GRE_TEXVERB_ELEMENT, &notes_lloc);
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[5]-'0']),
+ GRE_TEXVERB_ELEMENT, &notes_lloc);
} else error();
}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 873 "gabc/gabc-notes-determination.l"
+#line 972 "gabc/gabc-notes-determination.l"
{
BEGIN(texverbnote);
}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 876 "gabc/gabc-notes-determination.l"
+#line 975 "gabc/gabc-notes-determination.l"
{
BEGIN(texverbglyph);
}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 879 "gabc/gabc-notes-determination.l"
+#line 978 "gabc/gabc-notes-determination.l"
{
BEGIN(texverbelement);
}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 882 "gabc/gabc-notes-determination.l"
+#line 981 "gabc/gabc-notes-determination.l"
{
BEGIN(alt);
}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 885 "gabc/gabc-notes-determination.l"
+#line 984 "gabc/gabc-notes-determination.l"
{
gregorio_add_nlba_as_note(&current_note, NLBA_BEGINNING, &notes_lloc);
}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 888 "gabc/gabc-notes-determination.l"
+#line 987 "gabc/gabc-notes-determination.l"
{
gregorio_add_nlba_as_note(&current_note, NLBA_END, &notes_lloc);
}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 891 "gabc/gabc-notes-determination.l"
+#line 990 "gabc/gabc-notes-determination.l"
{
gregorio_start_autofuse(&current_note, &notes_lloc);
}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 894 "gabc/gabc-notes-determination.l"
+#line 993 "gabc/gabc-notes-determination.l"
{
gregorio_end_autofuse(&current_note, &notes_lloc);
}
@@ -11963,7 +12729,7 @@ YY_RULE_SETUP
case 30:
/* rule 30 can match eol */
YY_RULE_SETUP
-#line 897 "gabc/gabc-notes-determination.l"
+#line 996 "gabc/gabc-notes-determination.l"
{
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreOverBrace{%s}{0pt}{0pt}{%d}",
@@ -11974,7 +12740,7 @@ YY_RULE_SETUP
case 31:
/* rule 31 can match eol */
YY_RULE_SETUP
-#line 903 "gabc/gabc-notes-determination.l"
+#line 1002 "gabc/gabc-notes-determination.l"
{
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreUnderBrace{%s}{0pt}{0pt}{%d}",
@@ -11985,7 +12751,7 @@ YY_RULE_SETUP
case 32:
/* rule 32 can match eol */
YY_RULE_SETUP
-#line 909 "gabc/gabc-notes-determination.l"
+#line 1008 "gabc/gabc-notes-determination.l"
{
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{0}",
@@ -11996,7 +12762,7 @@ YY_RULE_SETUP
case 33:
/* rule 33 can match eol */
YY_RULE_SETUP
-#line 915 "gabc/gabc-notes-determination.l"
+#line 1014 "gabc/gabc-notes-determination.l"
{
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{1}",
@@ -12007,7 +12773,7 @@ YY_RULE_SETUP
case 34:
/* rule 34 can match eol */
YY_RULE_SETUP
-#line 921 "gabc/gabc-notes-determination.l"
+#line 1020 "gabc/gabc-notes-determination.l"
{
gregorio_add_cs_to_note(&current_note,
gregorio_strdup(gabc_notes_determination_text), false);
@@ -12016,7 +12782,7 @@ YY_RULE_SETUP
case 35:
/* rule 35 can match eol */
YY_RULE_SETUP
-#line 925 "gabc/gabc-notes-determination.l"
+#line 1024 "gabc/gabc-notes-determination.l"
{
gregorio_add_cs_to_note(&current_note,
gregorio_strdup(gabc_notes_determination_text), true);
@@ -12025,7 +12791,7 @@ YY_RULE_SETUP
case 36:
/* rule 36 can match eol */
YY_RULE_SETUP
-#line 929 "gabc/gabc-notes-determination.l"
+#line 1028 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_to_note(current_note,
gregorio_strdup(gabc_notes_determination_text));
@@ -12034,7 +12800,7 @@ YY_RULE_SETUP
case 37:
/* rule 37 can match eol */
YY_RULE_SETUP
-#line 933 "gabc/gabc-notes-determination.l"
+#line 1032 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_as_note(&current_note,
gregorio_strdup(gabc_notes_determination_text),
@@ -12044,7 +12810,7 @@ YY_RULE_SETUP
case 38:
/* rule 38 can match eol */
YY_RULE_SETUP
-#line 938 "gabc/gabc-notes-determination.l"
+#line 1037 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_as_note(&current_note,
gregorio_strdup(gabc_notes_determination_text),
@@ -12054,7 +12820,7 @@ YY_RULE_SETUP
case 39:
/* rule 39 can match eol */
YY_RULE_SETUP
-#line 943 "gabc/gabc-notes-determination.l"
+#line 1042 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_as_note(&current_note,
gregorio_strdup(gabc_notes_determination_text), GRE_ALT,
@@ -12063,7 +12829,7 @@ YY_RULE_SETUP
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 948 "gabc/gabc-notes-determination.l"
+#line 1047 "gabc/gabc-notes-determination.l"
{
BEGIN(space);
}
@@ -12073,7 +12839,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 951 "gabc/gabc-notes-determination.l"
+#line 1050 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_AD_HOC_SPACE,
gregorio_strdup(gabc_notes_determination_text), &notes_lloc);
@@ -12081,7 +12847,7 @@ YY_RULE_SETUP
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 955 "gabc/gabc-notes-determination.l"
+#line 1054 "gabc/gabc-notes-determination.l"
{
BEGIN(nbspace);
}
@@ -12091,7 +12857,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 958 "gabc/gabc-notes-determination.l"
+#line 1057 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_AD_HOC_SPACE_NB,
gregorio_strdup(gabc_notes_determination_text), &notes_lloc);
@@ -12099,221 +12865,270 @@ YY_RULE_SETUP
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 962 "gabc/gabc-notes-determination.l"
+#line 1061 "gabc/gabc-notes-determination.l"
{
- end_variable_ledger(SO_OVER);
+ LEDGER(high, EXPLICITLY_DRAWN, true);
}
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 965 "gabc/gabc-notes-determination.l"
+#line 1064 "gabc/gabc-notes-determination.l"
{
- BEGIN(overledger);
+ LEDGER(high, EXPLICITLY_DRAWN, false);
}
YY_BREAK
case 46:
-/* rule 46 can match eol */
YY_RULE_SETUP
-#line 968 "gabc/gabc-notes-determination.l"
+#line 1067 "gabc/gabc-notes-determination.l"
+{
+ end_variable_ledger(SO_OVER);
+ }
+ YY_BREAK
+case 47:
+YY_RULE_SETUP
+#line 1070 "gabc/gabc-notes-determination.l"
+{
+ BEGIN(overledger);
+ }
+ YY_BREAK
+case 48:
+/* rule 48 can match eol */
+YY_RULE_SETUP
+#line 1073 "gabc/gabc-notes-determination.l"
{
save_before_ledger(gabc_notes_determination_text);
BEGIN(overledger2);
}
YY_BREAK
-case 47:
-/* rule 47 can match eol */
+case 49:
+/* rule 49 can match eol */
YY_RULE_SETUP
-#line 972 "gabc/gabc-notes-determination.l"
+#line 1077 "gabc/gabc-notes-determination.l"
{
add_static_ledger(SO_OVER, gabc_notes_determination_text);
BEGIN(endledger);
}
YY_BREAK
-case 48:
-/* rule 48 can match eol */
+case 50:
+/* rule 50 can match eol */
YY_RULE_SETUP
-#line 976 "gabc/gabc-notes-determination.l"
+#line 1081 "gabc/gabc-notes-determination.l"
{
add_variable_ledger(SO_OVER, gabc_notes_determination_text);
BEGIN(endledger);
}
YY_BREAK
-case 49:
+case 51:
+YY_RULE_SETUP
+#line 1085 "gabc/gabc-notes-determination.l"
+{
+ LEDGER(low, EXPLICITLY_DRAWN, true);
+ }
+ YY_BREAK
+case 52:
+YY_RULE_SETUP
+#line 1088 "gabc/gabc-notes-determination.l"
+{
+ LEDGER(low, EXPLICITLY_DRAWN, false);
+ }
+ YY_BREAK
+case 53:
YY_RULE_SETUP
-#line 980 "gabc/gabc-notes-determination.l"
+#line 1091 "gabc/gabc-notes-determination.l"
{
end_variable_ledger(SO_UNDER);
}
YY_BREAK
-case 50:
+case 54:
YY_RULE_SETUP
-#line 983 "gabc/gabc-notes-determination.l"
+#line 1094 "gabc/gabc-notes-determination.l"
{
BEGIN(underledger);
}
YY_BREAK
-case 51:
-/* rule 51 can match eol */
+case 55:
+/* rule 55 can match eol */
YY_RULE_SETUP
-#line 986 "gabc/gabc-notes-determination.l"
+#line 1097 "gabc/gabc-notes-determination.l"
{
save_before_ledger(gabc_notes_determination_text);
BEGIN(underledger2);
}
YY_BREAK
-case 52:
-/* rule 52 can match eol */
+case 56:
+/* rule 56 can match eol */
YY_RULE_SETUP
-#line 990 "gabc/gabc-notes-determination.l"
+#line 1101 "gabc/gabc-notes-determination.l"
{
add_static_ledger(SO_UNDER, gabc_notes_determination_text);
BEGIN(endledger);
}
YY_BREAK
-case 53:
-/* rule 53 can match eol */
+case 57:
+/* rule 57 can match eol */
YY_RULE_SETUP
-#line 994 "gabc/gabc-notes-determination.l"
+#line 1105 "gabc/gabc-notes-determination.l"
{
add_variable_ledger(SO_UNDER, gabc_notes_determination_text);
BEGIN(endledger);
}
YY_BREAK
-case 54:
+case 58:
YY_RULE_SETUP
-#line 998 "gabc/gabc-notes-determination.l"
+#line 1109 "gabc/gabc-notes-determination.l"
{
BEGIN(INITIAL);
}
YY_BREAK
-case 55:
-/* rule 55 can match eol */
+case 59:
+/* rule 59 can match eol */
YY_RULE_SETUP
-#line 1001 "gabc/gabc-notes-determination.l"
+#line 1112 "gabc/gabc-notes-determination.l"
{
parse_slur();
}
YY_BREAK
-case 56:
+case 60:
YY_RULE_SETUP
-#line 1004 "gabc/gabc-notes-determination.l"
+#line 1115 "gabc/gabc-notes-determination.l"
{
start_var_slur();
}
YY_BREAK
-case 57:
+case 61:
YY_RULE_SETUP
-#line 1007 "gabc/gabc-notes-determination.l"
+#line 1118 "gabc/gabc-notes-determination.l"
{
end_var_slur();
}
YY_BREAK
-case 58:
-/* rule 58 can match eol */
+case 62:
+/* rule 62 can match eol */
YY_RULE_SETUP
-#line 1014 "gabc/gabc-notes-determination.l"
+#line 1125 "gabc/gabc-notes-determination.l"
{
parse_hepisema_adjustment();
}
YY_BREAK
-case 59:
+case 63:
YY_RULE_SETUP
-#line 1017 "gabc/gabc-notes-determination.l"
+#line 1128 "gabc/gabc-notes-determination.l"
{
end_hepisema_adjustment();
}
YY_BREAK
-case 60:
+case 64:
YY_RULE_SETUP
-#line 1020 "gabc/gabc-notes-determination.l"
+#line 1131 "gabc/gabc-notes-determination.l"
+{
+ left_bracket();
+ }
+ YY_BREAK
+case 65:
+YY_RULE_SETUP
+#line 1134 "gabc/gabc-notes-determination.l"
+{
+ right_bracket();
+ }
+ YY_BREAK
+case 66:
+YY_RULE_SETUP
+#line 1137 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_as_note(&current_note,
gregorio_strdup("\\hbox to 0pt{"), GRE_TEXVERB_ELEMENT,
&notes_lloc);
}
YY_BREAK
-case 61:
+case 67:
YY_RULE_SETUP
-#line 1025 "gabc/gabc-notes-determination.l"
+#line 1142 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_as_note(&current_note,
gregorio_strdup("\\hss%\n}%\n\\GreNoBreak\\relax "),
GRE_TEXVERB_ELEMENT, &notes_lloc);
}
YY_BREAK
-case 62:
+case 68:
YY_RULE_SETUP
-#line 1030 "gabc/gabc-notes-determination.l"
+#line 1147 "gabc/gabc-notes-determination.l"
{
gregorio_add_manual_custos_as_note(&current_note,
pitch_letter_to_height(gabc_notes_determination_text[0]),
&notes_lloc);
}
YY_BREAK
-case 63:
-/* rule 63 can match eol */
+case 69:
+/* rule 69 can match eol */
YY_RULE_SETUP
-#line 1035 "gabc/gabc-notes-determination.l"
+#line 1152 "gabc/gabc-notes-determination.l"
/* ignore ends of line and tabs */;
YY_BREAK
-case 64:
+case 70:
YY_RULE_SETUP
-#line 1036 "gabc/gabc-notes-determination.l"
+#line 1153 "gabc/gabc-notes-determination.l"
{
- gregorio_add_custo_as_note(&current_note, &notes_lloc);
+ gregorio_add_suppress_custos_as_note(&current_note, &notes_lloc);
}
YY_BREAK
-case 65:
+case 71:
+YY_RULE_SETUP
+#line 1156 "gabc/gabc-notes-determination.l"
+{
+ gregorio_add_custos_as_note(&current_note, &notes_lloc);
+ }
+ YY_BREAK
+case 72:
YY_RULE_SETUP
-#line 1039 "gabc/gabc-notes-determination.l"
+#line 1159 "gabc/gabc-notes-determination.l"
{
gregorio_add_end_of_line_as_note(&current_note, false, false, false,
&notes_lloc);
}
YY_BREAK
-case 66:
+case 73:
YY_RULE_SETUP
-#line 1043 "gabc/gabc-notes-determination.l"
+#line 1163 "gabc/gabc-notes-determination.l"
{
gregorio_add_end_of_line_as_note(&current_note, false, true, true,
&notes_lloc);
}
YY_BREAK
-case 67:
+case 74:
YY_RULE_SETUP
-#line 1047 "gabc/gabc-notes-determination.l"
+#line 1167 "gabc/gabc-notes-determination.l"
{
gregorio_add_end_of_line_as_note(&current_note, false, true, false,
&notes_lloc);
}
YY_BREAK
-case 68:
+case 75:
YY_RULE_SETUP
-#line 1051 "gabc/gabc-notes-determination.l"
+#line 1171 "gabc/gabc-notes-determination.l"
{
gregorio_add_end_of_line_as_note(&current_note, true, false, false,
&notes_lloc);
}
YY_BREAK
-case 69:
+case 76:
YY_RULE_SETUP
-#line 1055 "gabc/gabc-notes-determination.l"
+#line 1175 "gabc/gabc-notes-determination.l"
{
gregorio_add_end_of_line_as_note(&current_note, true, true, true,
&notes_lloc);
}
YY_BREAK
-case 70:
+case 77:
YY_RULE_SETUP
-#line 1059 "gabc/gabc-notes-determination.l"
+#line 1179 "gabc/gabc-notes-determination.l"
{
gregorio_add_end_of_line_as_note(&current_note, true, true, false,
&notes_lloc);
}
YY_BREAK
-case 71:
+case 78:
YY_RULE_SETUP
-#line 1063 "gabc/gabc-notes-determination.l"
+#line 1183 "gabc/gabc-notes-determination.l"
{
gregorio_add_clef_as_note(&current_note,
letter_to_clef(gabc_notes_determination_text[0]),
@@ -12321,9 +13136,9 @@ YY_RULE_SETUP
&notes_lloc);
}
YY_BREAK
-case 72:
+case 79:
YY_RULE_SETUP
-#line 1069 "gabc/gabc-notes-determination.l"
+#line 1189 "gabc/gabc-notes-determination.l"
{
gregorio_add_clef_as_note(&current_note,
letter_to_clef(gabc_notes_determination_text[0]),
@@ -12331,545 +13146,562 @@ YY_RULE_SETUP
&notes_lloc);
}
YY_BREAK
-case 73:
+case 80:
YY_RULE_SETUP
-#line 1075 "gabc/gabc-notes-determination.l"
+#line 1195 "gabc/gabc-notes-determination.l"
{
gregorio_add_secondary_clef_to_note(current_note,
letter_to_clef(gabc_notes_determination_text[1]),
parse_clef_line(gabc_notes_determination_text[2]), false);
}
YY_BREAK
-case 74:
+case 81:
YY_RULE_SETUP
-#line 1080 "gabc/gabc-notes-determination.l"
+#line 1200 "gabc/gabc-notes-determination.l"
{
gregorio_add_secondary_clef_to_note(current_note,
letter_to_clef(gabc_notes_determination_text[1]),
parse_clef_line(gabc_notes_determination_text[3]), true);
}
YY_BREAK
-case 75:
+case 82:
YY_RULE_SETUP
-#line 1085 "gabc/gabc-notes-determination.l"
+#line 1205 "gabc/gabc-notes-determination.l"
{
add_bar_as_note(B_VIRGULA);
}
YY_BREAK
-case 76:
+case 83:
YY_RULE_SETUP
-#line 1088 "gabc/gabc-notes-determination.l"
+#line 1208 "gabc/gabc-notes-determination.l"
{
add_bar_as_note(B_DIVISIO_MINIMA);
}
YY_BREAK
-case 77:
+case 84:
YY_RULE_SETUP
-#line 1091 "gabc/gabc-notes-determination.l"
+#line 1211 "gabc/gabc-notes-determination.l"
{
add_bar_as_note(parse_dominican_bar(gabc_notes_determination_text[1]));
}
YY_BREAK
-case 78:
+case 85:
YY_RULE_SETUP
-#line 1094 "gabc/gabc-notes-determination.l"
+#line 1214 "gabc/gabc-notes-determination.l"
{
add_bar_as_note(B_DIVISIO_MINOR);
}
YY_BREAK
-case 79:
+case 86:
YY_RULE_SETUP
-#line 1097 "gabc/gabc-notes-determination.l"
+#line 1217 "gabc/gabc-notes-determination.l"
{
add_bar_as_note(B_DIVISIO_MAIOR);
}
YY_BREAK
-case 80:
+case 87:
YY_RULE_SETUP
-#line 1100 "gabc/gabc-notes-determination.l"
+#line 1220 "gabc/gabc-notes-determination.l"
{
add_bar_as_note(B_DIVISIO_FINALIS);
}
YY_BREAK
-case 81:
+case 88:
YY_RULE_SETUP
-#line 1103 "gabc/gabc-notes-determination.l"
+#line 1223 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_PUNCTUM_CAVUM,
- legacy_oriscus_orientation);
+ gregorio_add_cavum(current_note);
}
YY_BREAK
-case 82:
+case 89:
YY_RULE_SETUP
-#line 1107 "gabc/gabc-notes-determination.l"
+#line 1226 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_LINEA_PUNCTUM,
legacy_oriscus_orientation);
}
YY_BREAK
-case 83:
+case 90:
YY_RULE_SETUP
-#line 1111 "gabc/gabc-notes-determination.l"
+#line 1230 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM,
+ gregorio_change_shape(current_note, S_LINEA_PUNCTUM,
legacy_oriscus_orientation);
+ gregorio_add_cavum(current_note);
}
YY_BREAK
-case 84:
+case 91:
YY_RULE_SETUP
-#line 1115 "gabc/gabc-notes-determination.l"
+#line 1235 "gabc/gabc-notes-determination.l"
{
gregorio_add_special_sign(current_note, _ACCENTUS);
}
YY_BREAK
-case 85:
+case 92:
YY_RULE_SETUP
-#line 1118 "gabc/gabc-notes-determination.l"
+#line 1238 "gabc/gabc-notes-determination.l"
{
gregorio_add_special_sign(current_note, _ACCENTUS_REVERSUS);
}
YY_BREAK
-case 86:
+case 93:
YY_RULE_SETUP
-#line 1121 "gabc/gabc-notes-determination.l"
+#line 1241 "gabc/gabc-notes-determination.l"
{
gregorio_add_special_sign(current_note, _CIRCULUS);
}
YY_BREAK
-case 87:
+case 94:
YY_RULE_SETUP
-#line 1124 "gabc/gabc-notes-determination.l"
+#line 1244 "gabc/gabc-notes-determination.l"
{
gregorio_add_special_sign(current_note, _SEMI_CIRCULUS);
}
YY_BREAK
-case 88:
+case 95:
YY_RULE_SETUP
-#line 1127 "gabc/gabc-notes-determination.l"
+#line 1247 "gabc/gabc-notes-determination.l"
{
gregorio_add_special_sign(current_note, _SEMI_CIRCULUS_REVERSUS);
}
YY_BREAK
-case 89:
+case 96:
YY_RULE_SETUP
-#line 1130 "gabc/gabc-notes-determination.l"
+#line 1250 "gabc/gabc-notes-determination.l"
+{
+ gregorio_add_special_sign(current_note, _MUSICA_FICTA_FLAT);
+ }
+ YY_BREAK
+case 97:
+YY_RULE_SETUP
+#line 1253 "gabc/gabc-notes-determination.l"
+{
+ gregorio_add_special_sign(current_note, _MUSICA_FICTA_NATURAL);
+ }
+ YY_BREAK
+case 98:
+YY_RULE_SETUP
+#line 1256 "gabc/gabc-notes-determination.l"
+{
+ gregorio_add_special_sign(current_note, _MUSICA_FICTA_SHARP);
+ }
+ YY_BREAK
+case 99:
+YY_RULE_SETUP
+#line 1259 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_FLAT, legacy_oriscus_orientation);
}
YY_BREAK
-case 90:
+case 100:
YY_RULE_SETUP
-#line 1133 "gabc/gabc-notes-determination.l"
+#line 1262 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_SHARP,
legacy_oriscus_orientation);
}
YY_BREAK
-case 91:
+case 101:
YY_RULE_SETUP
-#line 1137 "gabc/gabc-notes-determination.l"
+#line 1266 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_NATURAL,
legacy_oriscus_orientation);
}
YY_BREAK
-case 92:
+case 102:
YY_RULE_SETUP
-#line 1141 "gabc/gabc-notes-determination.l"
+#line 1270 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_HALF_SPACE, NULL,
&notes_lloc);
}
YY_BREAK
-case 93:
+case 103:
YY_RULE_SETUP
-#line 1145 "gabc/gabc-notes-determination.l"
+#line 1274 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_INTERGLYPH_SPACE, NULL,
&notes_lloc);
}
YY_BREAK
-case 94:
+case 104:
YY_RULE_SETUP
-#line 1149 "gabc/gabc-notes-determination.l"
+#line 1278 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, NULL,
&notes_lloc);
}
YY_BREAK
-case 95:
+case 105:
*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 1153 "gabc/gabc-notes-determination.l"
+#line 1282 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, NULL,
&notes_lloc);
}
YY_BREAK
-case 96:
+case 106:
YY_RULE_SETUP
-#line 1157 "gabc/gabc-notes-determination.l"
+#line 1286 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE, NULL,
&notes_lloc);
}
YY_BREAK
-case 97:
+case 107:
YY_RULE_SETUP
-#line 1161 "gabc/gabc-notes-determination.l"
+#line 1290 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE, NULL,
&notes_lloc);
}
YY_BREAK
-case 98:
+case 108:
YY_RULE_SETUP
-#line 1165 "gabc/gabc-notes-determination.l"
+#line 1294 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB, NULL,
&notes_lloc);
}
YY_BREAK
-case 99:
+case 109:
*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 1169 "gabc/gabc-notes-determination.l"
+#line 1298 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB, NULL,
&notes_lloc);
}
YY_BREAK
-case 100:
+case 110:
YY_RULE_SETUP
-#line 1173 "gabc/gabc-notes-determination.l"
+#line 1302 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE_NB, NULL,
&notes_lloc);
}
YY_BREAK
-case 101:
+case 111:
YY_RULE_SETUP
-#line 1177 "gabc/gabc-notes-determination.l"
+#line 1306 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE_NB, NULL,
&notes_lloc);
}
YY_BREAK
-case 102:
-/* rule 102 can match eol */
+case 112:
+/* rule 112 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 1181 "gabc/gabc-notes-determination.l"
+#line 1310 "gabc/gabc-notes-determination.l"
{
gregorio_add_space_as_note(&current_note, SP_ZERO_WIDTH, NULL,
&notes_lloc);
}
YY_BREAK
-case 103:
+case 113:
YY_RULE_SETUP
-#line 1185 "gabc/gabc-notes-determination.l"
+#line 1314 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_LINEA,
legacy_oriscus_orientation);
}
YY_BREAK
-case 104:
+case 114:
YY_RULE_SETUP
-#line 1189 "gabc/gabc-notes-determination.l"
+#line 1318 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 105:
+case 115:
YY_RULE_SETUP
-#line 1192 "gabc/gabc-notes-determination.l"
+#line 1321 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 106:
+case 116:
YY_RULE_SETUP
-#line 1195 "gabc/gabc-notes-determination.l"
+#line 1324 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 107:
+case 117:
YY_RULE_SETUP
-#line 1198 "gabc/gabc-notes-determination.l"
+#line 1327 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 108:
+case 118:
YY_RULE_SETUP
-#line 1201 "gabc/gabc-notes-determination.l"
+#line 1330 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 109:
+case 119:
YY_RULE_SETUP
-#line 1204 "gabc/gabc-notes-determination.l"
+#line 1333 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS);
}
YY_BREAK
-case 110:
+case 120:
YY_RULE_SETUP
-#line 1207 "gabc/gabc-notes-determination.l"
+#line 1336 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 111:
+case 121:
YY_RULE_SETUP
-#line 1210 "gabc/gabc-notes-determination.l"
+#line 1339 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS);
}
YY_BREAK
-case 112:
+case 122:
YY_RULE_SETUP
-#line 1213 "gabc/gabc-notes-determination.l"
+#line 1342 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, S_PUNCTUM, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 113:
+case 123:
YY_RULE_SETUP
-#line 1216 "gabc/gabc-notes-determination.l"
+#line 1345 "gabc/gabc-notes-determination.l"
{
lex_add_note(1, S_PUNCTUM, _NO_SIGN, L_INITIO_DEBILIS);
}
YY_BREAK
-case 114:
+case 124:
YY_RULE_SETUP
-#line 1219 "gabc/gabc-notes-determination.l"
+#line 1348 "gabc/gabc-notes-determination.l"
{
lex_add_note(1, S_PUNCTUM, _NO_SIGN, L_FUSED);
}
YY_BREAK
-case 115:
+case 125:
YY_RULE_SETUP
-#line 1222 "gabc/gabc-notes-determination.l"
+#line 1351 "gabc/gabc-notes-determination.l"
{
lex_add_note(0, punctum_inclinatum(gabc_notes_determination_text[1]),
_NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
-case 116:
+case 126:
YY_RULE_SETUP
-#line 1226 "gabc/gabc-notes-determination.l"
+#line 1355 "gabc/gabc-notes-determination.l"
{
lex_add_note(1, punctum_inclinatum(gabc_notes_determination_text[2]),
_NO_SIGN, L_INITIO_DEBILIS);
}
YY_BREAK
-case 117:
+case 127:
YY_RULE_SETUP
-#line 1230 "gabc/gabc-notes-determination.l"
+#line 1359 "gabc/gabc-notes-determination.l"
{
lex_add_note(1, punctum_inclinatum(gabc_notes_determination_text[2]),
_NO_SIGN, L_FUSED);
}
YY_BREAK
-case 118:
+case 128:
YY_RULE_SETUP
-#line 1234 "gabc/gabc-notes-determination.l"
+#line 1363 "gabc/gabc-notes-determination.l"
{
add_sign(_V_EPISEMA);
}
YY_BREAK
-case 119:
+case 129:
YY_RULE_SETUP
-#line 1237 "gabc/gabc-notes-determination.l"
+#line 1366 "gabc/gabc-notes-determination.l"
{
add_h_episema();
}
YY_BREAK
-case 120:
+case 130:
YY_RULE_SETUP
-#line 1240 "gabc/gabc-notes-determination.l"
+#line 1369 "gabc/gabc-notes-determination.l"
{
add_sign(_PUNCTUM_MORA);
}
YY_BREAK
-case 121:
+case 131:
YY_RULE_SETUP
-#line 1243 "gabc/gabc-notes-determination.l"
+#line 1372 "gabc/gabc-notes-determination.l"
{
gregorio_add_tail_liquescentia(current_note, L_DEMINUTUS,
legacy_oriscus_orientation);
}
YY_BREAK
-case 122:
+case 132:
YY_RULE_SETUP
-#line 1247 "gabc/gabc-notes-determination.l"
+#line 1376 "gabc/gabc-notes-determination.l"
{
gregorio_add_tail_liquescentia(current_note, L_AUCTUS_DESCENDENS,
legacy_oriscus_orientation);
}
YY_BREAK
-case 123:
+case 133:
YY_RULE_SETUP
-#line 1251 "gabc/gabc-notes-determination.l"
+#line 1380 "gabc/gabc-notes-determination.l"
{
gregorio_add_tail_liquescentia(current_note, L_AUCTUS_ASCENDENS,
legacy_oriscus_orientation);
}
YY_BREAK
-case 124:
+case 134:
YY_RULE_SETUP
-#line 1255 "gabc/gabc-notes-determination.l"
+#line 1384 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_QUADRATUM,
legacy_oriscus_orientation);
}
YY_BREAK
-case 125:
+case 135:
YY_RULE_SETUP
-#line 1259 "gabc/gabc-notes-determination.l"
+#line 1388 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_ORISCUS_UNDETERMINED,
legacy_oriscus_orientation);
}
YY_BREAK
-case 126:
+case 136:
YY_RULE_SETUP
-#line 1263 "gabc/gabc-notes-determination.l"
+#line 1392 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_ORISCUS_DESCENDENS,
legacy_oriscus_orientation);
}
YY_BREAK
-case 127:
+case 137:
YY_RULE_SETUP
-#line 1267 "gabc/gabc-notes-determination.l"
+#line 1396 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_ORISCUS_ASCENDENS,
legacy_oriscus_orientation);
}
YY_BREAK
-case 128:
+case 138:
YY_RULE_SETUP
-#line 1271 "gabc/gabc-notes-determination.l"
+#line 1400 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_UNDETERMINED,
legacy_oriscus_orientation);
}
YY_BREAK
-case 129:
+case 139:
YY_RULE_SETUP
-#line 1275 "gabc/gabc-notes-determination.l"
+#line 1404 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_DESCENDENS,
legacy_oriscus_orientation);
}
YY_BREAK
-case 130:
+case 140:
YY_RULE_SETUP
-#line 1279 "gabc/gabc-notes-determination.l"
+#line 1408 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_ASCENDENS,
legacy_oriscus_orientation);
}
YY_BREAK
-case 131:
+case 141:
YY_RULE_SETUP
-#line 1283 "gabc/gabc-notes-determination.l"
+#line 1412 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_QUILISMA,
legacy_oriscus_orientation);
}
YY_BREAK
-case 132:
+case 142:
YY_RULE_SETUP
-#line 1287 "gabc/gabc-notes-determination.l"
+#line 1416 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM,
legacy_oriscus_orientation);
}
YY_BREAK
-case 133:
+case 143:
YY_RULE_SETUP
-#line 1291 "gabc/gabc-notes-determination.l"
+#line 1420 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_VIRGA,
legacy_oriscus_orientation);
}
YY_BREAK
-case 134:
+case 144:
YY_RULE_SETUP
-#line 1295 "gabc/gabc-notes-determination.l"
+#line 1424 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_VIRGA_REVERSA,
legacy_oriscus_orientation);
}
YY_BREAK
-case 135:
+case 145:
YY_RULE_SETUP
-#line 1299 "gabc/gabc-notes-determination.l"
+#line 1428 "gabc/gabc-notes-determination.l"
{
gregorio_change_shape(current_note, S_STROPHA,
legacy_oriscus_orientation);
}
YY_BREAK
-case 136:
+case 146:
YY_RULE_SETUP
-#line 1303 "gabc/gabc-notes-determination.l"
+#line 1432 "gabc/gabc-notes-determination.l"
{
- current_note->supposed_high_ledger_line = true;
- current_note->explicit_high_ledger_line = true;
+ LEDGER(high, EXPLICIT, true);
}
YY_BREAK
-case 137:
+case 147:
YY_RULE_SETUP
-#line 1307 "gabc/gabc-notes-determination.l"
+#line 1435 "gabc/gabc-notes-determination.l"
{
- current_note->supposed_high_ledger_line = false;
- current_note->explicit_high_ledger_line = true;
+ LEDGER(high, EXPLICIT, false);
}
YY_BREAK
-case 138:
+case 148:
YY_RULE_SETUP
-#line 1311 "gabc/gabc-notes-determination.l"
+#line 1438 "gabc/gabc-notes-determination.l"
{
- current_note->supposed_low_ledger_line = true;
- current_note->explicit_low_ledger_line = true;
+ LEDGER(low, EXPLICIT, true);
}
YY_BREAK
-case 139:
+case 149:
YY_RULE_SETUP
-#line 1315 "gabc/gabc-notes-determination.l"
+#line 1441 "gabc/gabc-notes-determination.l"
{
- current_note->supposed_low_ledger_line = false;
- current_note->explicit_low_ledger_line = true;
+ LEDGER(low, EXPLICIT, false);
}
YY_BREAK
-case 140:
-/* rule 140 can match eol */
+case 150:
+/* rule 150 can match eol */
YY_RULE_SETUP
-#line 1319 "gabc/gabc-notes-determination.l"
+#line 1444 "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 141:
+case 151:
YY_RULE_SETUP
-#line 1325 "gabc/gabc-notes-determination.l"
+#line 1450 "gabc/gabc-notes-determination.l"
ECHO;
YY_BREAK
-#line 12873 "gabc/gabc-notes-determination-l.c"
+#line 13705 "gabc/gabc-notes-determination-l.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(texverbnote):
case YY_STATE_EOF(texverbglyph):
@@ -13854,7 +14686,7 @@ void gabc_notes_determination_free (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 1325 "gabc/gabc-notes-determination.l"
+#line 1450 "gabc/gabc-notes-determination.l"
@@ -13871,9 +14703,11 @@ gregorio_note *gabc_det_notes_from_string(char *str, char *newmacros[10],
notes_lloc.last_line = loc->first_line;
notes_lloc.last_column = loc->first_column;
notes_lloc.last_offset = loc->first_offset;
+ notes_lloc.generate_point_and_click = loc->generate_point_and_click;
staff_lines = score->staff_lines;
highest_pitch = score->highest_pitch;
+ high_ledger_line_pitch = score->high_ledger_line_pitch;
legacy_oriscus_orientation = score->legacy_oriscus_orientation;
/* a small optimization could uccur here: we could do it only once at the
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 b5a53d1f094..dd02ffe1a21 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
@@ -3,7 +3,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the note parser.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -49,8 +49,17 @@ static char *before_ledger_length = NULL;
static unsigned short ledger_var[2] = { 0, 0 };
static unsigned char staff_lines;
static signed char highest_pitch;
+static signed char high_ledger_line_pitch;
static bool legacy_oriscus_orientation;
static unsigned short he_adjustment_index[2] = { 0, 0 };
+static signed char bracket_low_pitch, bracket_high_pitch;
+static unsigned short left_bracket_texverb = 0;
+
+#define LEDGER(WHICH, SPECIFICITY, VALUE) \
+ if (LEDGER_##SPECIFICITY > current_note->WHICH##_ledger_specificity) { \
+ current_note->WHICH##_ledger_line = VALUE; \
+ current_note->WHICH##_ledger_specificity = LEDGER_##SPECIFICITY; \
+ }
typedef struct slur_info {
unsigned short var;
@@ -91,7 +100,7 @@ static __inline int letter_to_pitch_adjustment(const char letter) {
/* LCOV_EXCL_STOP */
}
-static __inline char pitch_letter_to_height(const char pitch) {
+static __inline signed char pitch_letter_to_height(const char pitch) {
char result = pitch - 'a' + LOWEST_PITCH;
if (pitch == 'p') {
--result;
@@ -101,6 +110,14 @@ static __inline char pitch_letter_to_height(const char pitch) {
_("invalid pitch for %u lines: %c"), (unsigned int)staff_lines,
pitch);
}
+ if (left_bracket_texverb) {
+ if (result < bracket_low_pitch) {
+ bracket_low_pitch = result;
+ }
+ if (result > bracket_high_pitch) {
+ bracket_high_pitch = result;
+ }
+ }
return result;
}
@@ -120,21 +137,25 @@ static gregorio_shape punctum_inclinatum(const char orientation)
static __inline void lex_add_note(int i, gregorio_shape shape, char signs,
char liquescentia)
{
+ signed char height = pitch_letter_to_height(tolower(
+ (unsigned char)gabc_notes_determination_text[i]));
+
nbof_isolated_episema = 0;
- gregorio_add_note(&current_note, pitch_letter_to_height(
- tolower((unsigned char)gabc_notes_determination_text[i])),
- shape, signs, liquescentia, NULL, &notes_lloc);
+ gregorio_add_note(&current_note, height, shape, signs, liquescentia, NULL,
+ &notes_lloc);
current_note->he_adjustment_index[SO_OVER] = he_adjustment_index[SO_OVER];
current_note->he_adjustment_index[SO_UNDER] = he_adjustment_index[SO_UNDER];
- if (ledger_var[SO_OVER]) {
- current_note->supposed_high_ledger_line = true;
- current_note->explicit_high_ledger_line = true;
+ if (height >= high_ledger_line_pitch) {
+ LEDGER(high, DRAWN, true);
+ } else if (ledger_var[SO_OVER]) {
+ LEDGER(high, EXPLICIT, true);
}
- if (ledger_var[SO_UNDER]) {
- current_note->supposed_low_ledger_line = true;
- current_note->explicit_low_ledger_line = true;
+ if (height <= LOW_LEDGER_LINE_PITCH) {
+ LEDGER(low, DRAWN, true);
+ } else if (ledger_var[SO_UNDER]) {
+ LEDGER(low, EXPLICIT, true);
}
}
@@ -491,15 +512,88 @@ static void end_var_slur(void)
slur[index].start = NULL;
}
-void parse_hepisema_adjustment(void)
+static void left_bracket(void)
{
- /* [xh:yz{]
- * - x indicates l(ow) or h(igh) episema
- * - y (optional) for l(ow), m(iddle), or h(igh) vertical position in space
- * - z (optional) nudge dimension that starts with + or -
- * - { (optional) starts a group
- * - at least one of y, z, or w must be provided
- * - if y and z are omitted, : may be omitted
+ if (left_bracket_texverb) {
+ gregorio_message(
+ _("cannot add a left bracket before closing the previous one"),
+ "left_bracket", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ /* when setting the left bracket, temporarily store the point-and-click
+ * information in the texverb */
+ if (notes_lloc.generate_point_and_click) {
+ gregorio_snprintf(tempstr, sizeof tempstr, "%u:%u:%u",
+ notes_lloc.first_line, notes_lloc.first_offset,
+ notes_lloc.first_column + 1);
+ } else {
+ tempstr[0] = '\0';
+ }
+ left_bracket_texverb = gregorio_add_texverb_as_note(&current_note,
+ gregorio_strdup(tempstr), GRE_TEXVERB_GLYPH, &notes_lloc);
+ bracket_low_pitch = MAX_PITCH;
+ bracket_high_pitch = LOWEST_PITCH;
+}
+
+static void right_bracket(void)
+{
+ if (!left_bracket_texverb) {
+ gregorio_message(
+ _("cannot add a right bracket without a matching left bracket"),
+ "right_bracket", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ if (bracket_high_pitch < bracket_low_pitch) {
+ gregorio_message(
+ _("cannot add brackets without notes between them"),
+ "right_bracket", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ gregorio_snprintf(tempstr, sizeof tempstr, "\\GreBracket{0}{%d}{%d}{%s}",
+ bracket_low_pitch, bracket_high_pitch,
+ gregorio_texverb(left_bracket_texverb));
+ gregorio_change_texverb(left_bracket_texverb, gregorio_strdup(tempstr));
+
+ if (notes_lloc.generate_point_and_click) {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreBracket{1}{%d}{%d}{%u:%u:%u}", bracket_low_pitch,
+ bracket_high_pitch, notes_lloc.first_line,
+ notes_lloc.first_offset, notes_lloc.first_column + 1);
+ } else {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreBracket{1}{%d}{%d}{}", bracket_low_pitch,
+ bracket_high_pitch);
+ }
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+
+ left_bracket_texverb = 0;
+}
+
+static void parse_hepisema_adjustment(void)
+{
+ /* See https://github.com/gregorio-project/gregorio/issues/872
+ *
+ * [xh:yzw]
+ *
+ * - x is o(ver) or u(under)
+ * - y is optional and is
+ * - l for low in the space (chooses ol or ul depending on x)
+ * - m for middle of the space
+ * - h for high in the space (chooses oh or uh depending on x)
+ * - ol for low in the space as if the episema were over the note
+ * - oh for high in the space as if the episema were over the note
+ * - ul for low in the space as if the episema were under the note
+ * - uh for high in the space as if the episema were under the note
+ * - z is an optional nudge and must start with + or -
+ * - w is optional and may be { to start a range or } to end a range.
+ *
+ * at least one of y, z, or w must be provided
+ * if y and z are omitted, the : may be omitted
+ * y and z are not permitted when w is }
*/
const gregorio_sign_orientation index = letter_to_sign_orientation(
@@ -587,7 +681,7 @@ void parse_hepisema_adjustment(void)
}
}
-void end_hepisema_adjustment(void)
+static void end_hepisema_adjustment(void)
{
/* [xh:}]
* - x indicates l(ow) or h(igh) episema
@@ -641,6 +735,11 @@ void gabc_det_notes_finish(void)
ledger_var[orientation] = 0;
}
}
+ if (left_bracket_texverb) {
+ gregorio_message(_("unclosed left bracket"),
+ "gabc_det_notes_finish", VERBOSITY_ERROR, 0);
+ left_bracket_texverb = 0;
+ }
}
%}
@@ -845,29 +944,29 @@ void gabc_det_notes_finish(void)
}
<INITIAL>\[nm[1-9]\] {
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_to_note(current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[3]-'0']));
} else error();
}
<INITIAL>\[gm[1-9]\] {
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']),
- GRE_TEXVERB_GLYPH, &notes_lloc);
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[3]-'0']),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
} else error();
}
<INITIAL>\[em[1-9]\] {
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']),
- GRE_TEXVERB_ELEMENT, &notes_lloc);
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[3]-'0']),
+ GRE_TEXVERB_ELEMENT, &notes_lloc);
} else error();
}
<INITIAL>\[altm[1-9]\] {
if (notesmacros[gabc_notes_determination_text[5]-'0']) {
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(notesmacros[gabc_notes_determination_text[5]-'0']),
- GRE_TEXVERB_ELEMENT, &notes_lloc);
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(
+ notesmacros[gabc_notes_determination_text[5]-'0']),
+ GRE_TEXVERB_ELEMENT, &notes_lloc);
} else error();
}
<INITIAL>\[nv: {
@@ -959,6 +1058,12 @@ void gabc_det_notes_finish(void)
gregorio_add_space_as_note(&current_note, SP_AD_HOC_SPACE_NB,
gregorio_strdup(gabc_notes_determination_text), &notes_lloc);
}
+<INITIAL>\[oll:1\] {
+ LEDGER(high, EXPLICITLY_DRAWN, true);
+ }
+<INITIAL>\[oll:0\] {
+ LEDGER(high, EXPLICITLY_DRAWN, false);
+ }
<INITIAL>\[oll:\}\] {
end_variable_ledger(SO_OVER);
}
@@ -977,6 +1082,12 @@ void gabc_det_notes_finish(void)
add_variable_ledger(SO_OVER, gabc_notes_determination_text);
BEGIN(endledger);
}
+<INITIAL>\[ull:1\] {
+ LEDGER(low, EXPLICITLY_DRAWN, true);
+ }
+<INITIAL>\[ull:0\] {
+ LEDGER(low, EXPLICITLY_DRAWN, false);
+ }
<INITIAL>\[ull:\}\] {
end_variable_ledger(SO_UNDER);
}
@@ -1017,6 +1128,12 @@ void gabc_det_notes_finish(void)
<INITIAL>\[[ou]h:?\}\] {
end_hepisema_adjustment();
}
+<INITIAL>\[\[ {
+ left_bracket();
+ }
+<INITIAL>\]\] {
+ right_bracket();
+ }
\{ {
gregorio_add_texverb_as_note(&current_note,
gregorio_strdup("\\hbox to 0pt{"), GRE_TEXVERB_ELEMENT,
@@ -1033,8 +1150,11 @@ void gabc_det_notes_finish(void)
&notes_lloc);
}
[\t\r\n]+ /* ignore ends of line and tabs */;
+<INITIAL>\[nocustos\] {
+ gregorio_add_suppress_custos_as_note(&current_note, &notes_lloc);
+ }
z0 {
- gregorio_add_custo_as_note(&current_note, &notes_lloc);
+ gregorio_add_custos_as_note(&current_note, &notes_lloc);
}
z {
gregorio_add_end_of_line_as_note(&current_note, false, false, false,
@@ -1101,16 +1221,16 @@ Z- {
add_bar_as_note(B_DIVISIO_FINALIS);
}
r {
- gregorio_change_shape(current_note, S_PUNCTUM_CAVUM,
- legacy_oriscus_orientation);
+ gregorio_add_cavum(current_note);
}
R {
gregorio_change_shape(current_note, S_LINEA_PUNCTUM,
legacy_oriscus_orientation);
}
r0 {
- gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM,
+ gregorio_change_shape(current_note, S_LINEA_PUNCTUM,
legacy_oriscus_orientation);
+ gregorio_add_cavum(current_note);
}
r1 {
gregorio_add_special_sign(current_note, _ACCENTUS);
@@ -1127,6 +1247,15 @@ r4 {
r5 {
gregorio_add_special_sign(current_note, _SEMI_CIRCULUS_REVERSUS);
}
+r6 {
+ gregorio_add_special_sign(current_note, _MUSICA_FICTA_FLAT);
+ }
+r7 {
+ gregorio_add_special_sign(current_note, _MUSICA_FICTA_NATURAL);
+ }
+r8 {
+ gregorio_add_special_sign(current_note, _MUSICA_FICTA_SHARP);
+ }
x {
gregorio_change_shape(current_note, S_FLAT, legacy_oriscus_orientation);
}
@@ -1301,20 +1430,16 @@ s {
legacy_oriscus_orientation);
}
\[hl:1\] {
- current_note->supposed_high_ledger_line = true;
- current_note->explicit_high_ledger_line = true;
+ LEDGER(high, EXPLICIT, true);
}
\[hl:0\] {
- current_note->supposed_high_ledger_line = false;
- current_note->explicit_high_ledger_line = true;
+ LEDGER(high, EXPLICIT, false);
}
\[ll:1\] {
- current_note->supposed_low_ledger_line = true;
- current_note->explicit_low_ledger_line = true;
+ LEDGER(low, EXPLICIT, true);
}
\[ll:0\] {
- current_note->supposed_low_ledger_line = false;
- current_note->explicit_low_ledger_line = true;
+ LEDGER(low, EXPLICIT, false);
}
.|\n {
gregorio_messagef("det_notes_from_string", VERBOSITY_ERROR, 0,
@@ -1337,9 +1462,11 @@ gregorio_note *gabc_det_notes_from_string(char *str, char *newmacros[10],
notes_lloc.last_line = loc->first_line;
notes_lloc.last_column = loc->first_column;
notes_lloc.last_offset = loc->first_offset;
+ notes_lloc.generate_point_and_click = loc->generate_point_and_click;
staff_lines = score->staff_lines;
highest_pitch = score->highest_pitch;
+ high_ledger_line_pitch = score->high_ledger_line_pitch;
legacy_oriscus_orientation = score->legacy_oriscus_orientation;
/* a small optimization could uccur here: we could do it only once at the
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 42c089a3dea..5a3953c2ad6 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
@@ -398,8 +398,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 71
-#define YY_END_OF_BUFFER 72
+#define YY_NUM_RULES 77
+#define YY_END_OF_BUFFER 78
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -407,41 +407,42 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int32_t yy_accept[296] =
+static yyconst flex_int32_t yy_accept[309] =
{ 0,
- 0, 0, 7, 7, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72, 25,
- 70, 25, 23, 6, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 2, 2, 3, 3, 1, 7, 7,
- 71, 27, 26, 49, 65, 28, 55, 63, 64, 56,
- 57, 66, 68, 67, 27, 47, 48, 55, 71, 54,
- 55, 51, 50, 5, 4, 55, 0, 0, 23, 6,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 78, 25, 76, 25, 23, 6, 23, 23,
+ 23, 23, 23, 23, 23, 23, 2, 2, 3, 3,
+ 1, 8, 9, 27, 26, 50, 71, 29, 28, 56,
+ 64, 65, 57, 58, 72, 74, 73, 49, 48, 77,
+ 77, 55, 56, 52, 51, 5, 4, 56, 77, 69,
+ 77, 77, 70, 0, 0, 23, 6, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 2, 1, 8,
+ 0, 7, 0, 27, 26, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
+ 75, 49, 48, 0, 55, 0, 52, 51, 5, 4,
+ 0, 69, 69, 69, 0, 0, 70, 0, 24, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 2, 1, 7, 7, 0, 7, 7, 0, 7,
- 8, 0, 27, 26, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 66, 69, 27, 48,
- 47, 0, 54, 0, 51, 50, 5, 4, 0, 24,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 7, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 39, 37, 43, 0, 31, 0, 0,
- 0, 0, 0, 52, 62, 0, 0, 0, 23, 23,
- 0, 23, 23, 23, 14, 23, 10, 23, 23, 23,
- 40, 38, 44, 0, 32, 0, 0, 0, 0, 0,
- 60, 0, 41, 45, 33, 35, 0, 53, 0, 23,
- 23, 23, 0, 23, 23, 0, 0, 23, 23, 23,
-
- 61, 0, 42, 34, 36, 58, 0, 46, 0, 23,
- 18, 9, 23, 23, 23, 23, 23, 23, 23, 0,
- 0, 0, 29, 59, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 30, 23, 23, 0, 19, 23,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 40, 38, 0, 44, 0, 32, 0, 0, 0,
+ 0, 0, 0, 53, 63, 0, 0, 0, 23, 23,
+ 0, 23, 23, 14, 23, 11, 23, 23, 23, 41,
+ 39, 45, 0, 33, 0, 0, 0, 0, 0, 0,
+ 61, 0, 0, 0, 68, 67, 42, 46, 34, 36,
+
+ 0, 54, 0, 23, 23, 23, 0, 23, 0, 0,
+ 23, 23, 23, 62, 0, 43, 35, 37, 59, 0,
+ 0, 0, 68, 47, 0, 23, 18, 10, 23, 23,
+ 23, 23, 23, 23, 0, 0, 0, 0, 30, 60,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 31,
+ 0, 0, 66, 23, 23, 19, 23, 23, 23, 0,
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
+ 23, 17, 23, 23, 23, 21, 23, 23, 23, 23,
+ 23, 23, 23, 23, 20, 23, 23, 23, 23, 23,
+ 23, 23, 15, 23, 23, 13, 23, 23, 23, 23,
+ 23, 12, 16, 23, 23, 23, 22, 0
} ;
static yyconst YY_CHAR yy_ec[256] =
@@ -450,285 +451,297 @@ static yyconst YY_CHAR yy_ec[256] =
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, 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,
+ 9, 1, 1, 10, 11, 12, 13, 14, 14, 14,
+ 14, 14, 14, 14, 14, 14, 14, 15, 16, 17,
+ 1, 18, 1, 1, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 20, 1, 21, 1, 19, 1, 22, 23, 24, 25,
+
+ 26, 27, 28, 29, 30, 19, 19, 31, 32, 33,
+ 34, 35, 19, 36, 37, 38, 39, 40, 19, 19,
+ 41, 19, 42, 43, 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, 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, 45, 1, 1, 1,
+ 46, 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, 45, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 47, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
-static yyconst YY_CHAR yy_meta[46] =
+static yyconst YY_CHAR yy_meta[48] =
{ 0,
- 1, 1, 2, 2, 1, 1, 3, 3, 4, 5,
- 1, 6, 1, 7, 8, 1, 6, 3, 3, 6,
+ 1, 1, 2, 2, 1, 1, 3, 3, 4, 3,
+ 5, 3, 1, 6, 3, 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, 6, 6, 6, 6, 6, 6, 6, 6, 9,
- 4, 9, 1, 1, 1
+ 6, 9, 4, 9, 1, 1, 1
} ;
-static yyconst flex_uint32_t yy_base[316] =
+static yyconst flex_uint32_t yy_base[326] =
{ 0,
- 0, 43, 48, 50, 86, 126, 39, 50, 166, 206,
- 662, 661, 52, 54, 57, 62, 660, 659, 673, 678,
- 678, 665, 661, 665, 61, 53, 58, 64, 59, 65,
- 62, 66, 63, 80, 99, 678, 662, 63, 106, 108,
- 110, 0, 113, 678, 678, 678, 238, 657, 678, 678,
- 678, 0, 135, 678, 139, 148, 0, 656, 678, 0,
- 655, 0, 128, 0, 139, 654, 152, 0, 654, 678,
- 117, 125, 150, 60, 144, 152, 154, 157, 161, 169,
- 170, 188, 150, 193, 201, 208, 649, 214, 0, 216,
- 195, 199, 0, 229, 256, 633, 645, 644, 149, 643,
-
- 629, 204, 621, 627, 639, 635, 0, 236, 235, 0,
- 292, 618, 0, 614, 0, 232, 0, 247, 631, 252,
- 640, 247, 217, 639, 178, 253, 242, 237, 260, 257,
- 255, 254, 261, 634, 631, 630, 267, 629, 615, 621,
- 606, 612, 604, 678, 678, 678, 623, 678, 617, 621,
- 620, 619, 618, 678, 678, 600, 616, 602, 262, 275,
- 600, 619, 289, 290, 618, 617, 616, 291, 292, 293,
- 678, 678, 678, 609, 678, 603, 607, 606, 605, 604,
- 678, 599, 678, 678, 678, 678, 602, 678, 581, 295,
- 296, 109, 594, 299, 300, 291, 586, 298, 604, 601,
-
- 678, 577, 678, 678, 678, 678, 572, 678, 569, 301,
- 562, 555, 302, 153, 312, 313, 314, 315, 316, 536,
- 523, 534, 678, 678, 319, 321, 539, 318, 323, 322,
- 326, 444, 329, 330, 678, 334, 339, 415, 436, 340,
- 342, 343, 413, 346, 345, 349, 350, 352, 353, 358,
- 354, 359, 361, 362, 434, 363, 364, 365, 377, 433,
- 380, 372, 375, 371, 382, 385, 388, 391, 386, 431,
- 392, 394, 397, 403, 407, 406, 384, 426, 411, 424,
- 412, 413, 219, 414, 415, 416, 419, 417, 213, 115,
- 421, 423, 420, 113, 678, 455, 464, 473, 482, 491,
-
- 500, 509, 514, 520, 529, 538, 547, 554, 563, 570,
- 577, 586, 595, 61, 604
+ 0, 45, 707, 706, 90, 132, 41, 44, 71, 78,
+ 704, 703, 51, 53, 55, 57, 702, 701, 50, 51,
+ 65, 152, 717, 724, 724, 709, 704, 709, 75, 78,
+ 55, 74, 65, 101, 92, 107, 68, 76, 724, 706,
+ 79, 0, 156, 0, 164, 724, 724, 724, 724, 175,
+ 699, 724, 724, 724, 0, 179, 724, 0, 187, 698,
+ 724, 0, 697, 0, 113, 0, 126, 696, 694, 107,
+ 191, 214, 724, 134, 0, 696, 724, 140, 164, 135,
+ 200, 152, 139, 210, 176, 192, 209, 221, 182, 0,
+ 232, 236, 241, 0, 245, 249, 262, 675, 687, 237,
+
+ 168, 686, 672, 666, 232, 663, 669, 681, 677, 0,
+ 255, 0, 259, 660, 0, 656, 0, 262, 0, 266,
+ 673, 680, 679, 260, 276, 300, 724, 304, 272, 681,
+ 276, 98, 680, 266, 285, 271, 287, 301, 280, 303,
+ 304, 659, 671, 670, 298, 669, 655, 661, 646, 652,
+ 644, 724, 724, 655, 724, 662, 724, 656, 330, 660,
+ 659, 658, 657, 724, 724, 639, 655, 641, 282, 308,
+ 639, 659, 310, 658, 657, 656, 312, 314, 317, 724,
+ 724, 724, 648, 724, 642, 646, 645, 644, 643, 638,
+ 724, 637, 348, 352, 369, 724, 724, 724, 724, 724,
+
+ 633, 724, 604, 319, 347, 315, 615, 353, 335, 595,
+ 348, 608, 603, 724, 590, 724, 724, 724, 724, 575,
+ 589, 374, 386, 724, 507, 327, 510, 509, 313, 357,
+ 351, 335, 369, 371, 495, 487, 497, 391, 724, 724,
+ 373, 375, 386, 387, 390, 189, 503, 389, 391, 724,
+ 414, 426, 724, 400, 394, 500, 395, 396, 413, 476,
+ 402, 409, 443, 422, 414, 425, 427, 429, 432, 430,
+ 438, 498, 442, 441, 445, 495, 446, 447, 448, 451,
+ 452, 454, 456, 458, 491, 462, 459, 463, 470, 473,
+ 449, 475, 272, 478, 479, 260, 482, 483, 484, 485,
+
+ 486, 219, 160, 487, 489, 493, 122, 724, 526, 535,
+ 544, 553, 562, 571, 580, 589, 594, 600, 609, 615,
+ 624, 631, 640, 649, 67
} ;
-static yyconst flex_int32_t yy_def[316] =
+static yyconst flex_int32_t yy_def[326] =
{ 0,
- 295, 1, 296, 296, 297, 297, 298, 298, 299, 299,
- 300, 300, 301, 301, 302, 302, 300, 300, 295, 295,
- 295, 295, 303, 295, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 295, 295, 295, 295, 295, 304, 305,
- 306, 307, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 308, 295, 295, 309, 295, 310, 295, 295, 311,
- 295, 312, 295, 313, 295, 295, 295, 314, 303, 295,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 295, 295, 304, 305, 306, 305, 305, 315, 306,
- 295, 295, 307, 295, 295, 295, 295, 295, 295, 295,
-
- 295, 295, 295, 295, 295, 295, 308, 295, 309, 310,
- 295, 295, 311, 295, 312, 295, 313, 295, 295, 295,
- 314, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 315, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 303, 303,
- 314, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 303,
- 303, 314, 314, 303, 303, 314, 314, 303, 303, 303,
-
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 303,
- 303, 314, 314, 303, 303, 314, 314, 314, 303, 314,
- 314, 295, 295, 295, 303, 314, 303, 303, 314, 314,
- 314, 303, 314, 314, 295, 303, 314, 314, 303, 314,
- 314, 314, 314, 314, 314, 303, 314, 314, 314, 314,
- 314, 314, 314, 314, 303, 314, 314, 314, 314, 314,
- 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
- 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
- 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
- 314, 314, 314, 314, 0, 295, 295, 295, 295, 295,
-
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295
+ 308, 1, 309, 309, 310, 310, 311, 311, 312, 312,
+ 313, 313, 314, 314, 315, 315, 313, 313, 316, 316,
+ 316, 316, 308, 308, 308, 308, 317, 308, 317, 317,
+ 317, 317, 317, 317, 317, 317, 308, 308, 308, 308,
+ 308, 318, 308, 319, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 320, 308, 308, 321, 308, 308,
+ 308, 322, 308, 323, 308, 324, 308, 308, 308, 308,
+ 308, 308, 308, 308, 325, 317, 308, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 308, 308, 318,
+ 308, 308, 308, 319, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 320,
+ 308, 321, 308, 308, 322, 308, 323, 308, 324, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 325,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 317, 317,
+ 325, 317, 317, 317, 317, 317, 317, 317, 317, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 317, 317, 325, 325, 317, 325, 325,
+ 317, 317, 317, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 317, 317, 325, 325, 317,
+ 325, 325, 325, 317, 325, 325, 308, 308, 308, 308,
+ 317, 325, 317, 325, 325, 325, 317, 325, 325, 308,
+ 308, 308, 308, 317, 325, 317, 325, 325, 325, 325,
+ 325, 325, 308, 317, 325, 325, 325, 325, 325, 325,
+ 325, 317, 325, 325, 325, 325, 325, 325, 325, 325,
+ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
+ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
+
+ 325, 325, 325, 325, 325, 325, 325, 0, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308
} ;
-static yyconst flex_uint32_t yy_nxt[724] =
+static yyconst flex_uint32_t yy_nxt[772] =
{ 0,
- 20, 20, 21, 20, 20, 20, 22, 20, 20, 20,
- 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, 53, 36, 37,
- 40, 40, 40, 40, 63, 63, 63, 63, 53, 65,
- 65, 41, 68, 41, 65, 65, 121, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 73, 74, 76, 54,
- 125, 78, 82, 82, 80, 38, 38, 38, 43, 43,
- 54, 71, 44, 45, 75, 46, 77, 72, 81, 79,
-
- 47, 82, 82, 48, 49, 83, 83, 83, 85, 85,
- 88, 88, 91, 91, 94, 94, 94, 94, 68, 86,
- 212, 89, 68, 92, 68, 50, 68, 51, 43, 43,
- 116, 116, 44, 45, 68, 46, 108, 108, 108, 108,
- 47, 118, 118, 48, 49, 110, 110, 122, 110, 111,
- 111, 111, 111, 68, 120, 120, 110, 110, 67, 68,
- 123, 68, 68, 68, 146, 50, 68, 51, 56, 56,
- 68, 126, 57, 57, 124, 57, 128, 129, 68, 68,
- 58, 227, 127, 57, 57, 147, 130, 68, 131, 133,
- 82, 82, 83, 83, 83, 85, 85, 91, 91, 162,
-
- 132, 91, 91, 88, 88, 59, 86, 59, 56, 56,
- 295, 295, 57, 57, 89, 57, 88, 88, 85, 85,
- 58, 295, 68, 57, 57, 150, 68, 89, 68, 86,
- 94, 94, 94, 94, 116, 116, 151, 108, 108, 108,
- 108, 110, 110, 160, 110, 59, 68, 59, 95, 118,
- 118, 68, 110, 110, 120, 120, 68, 96, 97, 98,
- 165, 99, 68, 68, 68, 100, 68, 164, 101, 68,
- 68, 68, 102, 103, 104, 105, 135, 136, 159, 137,
- 167, 166, 173, 138, 68, 170, 139, 169, 163, 168,
- 140, 141, 142, 111, 111, 111, 111, 190, 68, 68,
-
- 68, 68, 68, 174, 68, 68, 191, 68, 68, 68,
- 68, 68, 198, 216, 210, 199, 194, 200, 214, 215,
- 217, 68, 68, 68, 68, 68, 195, 68, 68, 211,
- 68, 68, 68, 226, 219, 68, 225, 228, 68, 68,
- 229, 239, 231, 68, 241, 230, 236, 240, 68, 68,
- 232, 68, 68, 237, 68, 68, 242, 245, 68, 68,
- 244, 68, 68, 68, 249, 246, 251, 68, 68, 250,
- 68, 68, 68, 68, 68, 254, 258, 247, 253, 255,
- 68, 68, 259, 256, 68, 263, 68, 257, 260, 68,
- 264, 68, 261, 68, 68, 68, 271, 68, 266, 262,
-
- 68, 68, 265, 68, 267, 269, 68, 268, 273, 270,
- 272, 274, 68, 276, 275, 68, 68, 278, 277, 283,
- 68, 68, 68, 68, 68, 68, 68, 279, 68, 68,
- 68, 282, 68, 68, 288, 68, 280, 281, 290, 286,
- 68, 287, 68, 68, 252, 68, 284, 285, 292, 248,
- 294, 289, 291, 243, 293, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 69, 69,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 93, 238, 235,
- 93, 234, 93, 93, 107, 107, 107, 233, 107, 107,
- 107, 107, 107, 109, 68, 109, 109, 109, 109, 109,
- 110, 68, 110, 110, 110, 110, 110, 113, 113, 113,
- 113, 113, 113, 113, 224, 113, 115, 223, 115, 115,
- 115, 115, 115, 115, 115, 117, 222, 117, 117, 117,
-
- 117, 117, 117, 117, 134, 134, 134, 134, 134, 134,
- 221, 134, 134, 220, 218, 213, 209, 208, 207, 206,
- 205, 204, 203, 202, 201, 68, 197, 196, 193, 192,
- 189, 188, 187, 186, 185, 184, 183, 182, 181, 180,
- 179, 178, 177, 176, 175, 172, 171, 89, 161, 68,
- 158, 157, 156, 155, 154, 153, 152, 149, 148, 145,
- 144, 143, 89, 68, 119, 114, 112, 106, 67, 70,
- 68, 67, 295, 66, 66, 61, 61, 19, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
-
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295
+ 24, 24, 25, 24, 24, 24, 26, 24, 24, 24,
+ 24, 24, 24, 27, 28, 24, 24, 24, 27, 24,
+ 24, 29, 27, 27, 30, 27, 27, 31, 27, 27,
+ 32, 33, 34, 35, 27, 27, 36, 27, 27, 27,
+ 27, 24, 24, 24, 24, 24, 24, 37, 38, 56,
+ 39, 40, 56, 65, 65, 65, 65, 67, 67, 67,
+ 67, 69, 69, 70, 70, 75, 71, 71, 71, 71,
+ 88, 88, 130, 59, 59, 75, 81, 72, 88, 88,
+ 59, 59, 73, 57, 75, 75, 57, 60, 75, 41,
+ 41, 41, 45, 45, 60, 82, 46, 47, 83, 48,
+
+ 49, 48, 75, 80, 48, 48, 50, 78, 75, 51,
+ 52, 75, 61, 79, 61, 118, 118, 75, 123, 61,
+ 124, 61, 84, 89, 89, 89, 170, 85, 120, 120,
+ 86, 53, 75, 54, 45, 45, 129, 129, 46, 47,
+ 74, 48, 49, 48, 87, 75, 48, 48, 50, 75,
+ 75, 51, 52, 71, 71, 71, 71, 91, 92, 92,
+ 91, 133, 75, 136, 72, 95, 95, 95, 95, 73,
+ 75, 93, 131, 53, 75, 54, 96, 96, 96, 96,
+ 111, 111, 111, 111, 135, 155, 75, 97, 113, 113,
+ 113, 113, 125, 125, 125, 125, 98, 99, 100, 75,
+
+ 101, 132, 75, 126, 102, 139, 156, 103, 127, 104,
+ 75, 105, 106, 107, 108, 128, 128, 128, 128, 75,
+ 75, 259, 134, 88, 88, 140, 89, 89, 89, 75,
+ 141, 127, 137, 91, 92, 92, 91, 91, 92, 92,
+ 91, 138, 91, 92, 92, 91, 95, 95, 95, 95,
+ 96, 96, 96, 96, 153, 160, 111, 111, 111, 111,
+ 113, 113, 113, 113, 118, 118, 161, 154, 120, 120,
+ 75, 123, 142, 124, 129, 129, 75, 125, 125, 125,
+ 125, 75, 75, 104, 143, 144, 75, 145, 126, 172,
+ 75, 146, 75, 127, 147, 75, 174, 75, 148, 149,
+
+ 150, 128, 128, 128, 128, 128, 128, 128, 128, 169,
+ 175, 75, 173, 75, 75, 182, 177, 127, 75, 204,
+ 75, 127, 75, 75, 75, 75, 176, 75, 228, 75,
+ 179, 193, 193, 193, 193, 211, 183, 75, 178, 212,
+ 226, 205, 194, 213, 195, 75, 242, 196, 208, 193,
+ 193, 193, 193, 222, 222, 222, 222, 75, 75, 231,
+ 194, 75, 195, 75, 241, 196, 232, 75, 245, 196,
+ 223, 223, 223, 223, 230, 222, 222, 222, 222, 75,
+ 244, 75, 227, 75, 243, 75, 234, 223, 223, 223,
+ 223, 196, 251, 251, 251, 251, 75, 75, 246, 75,
+
+ 75, 75, 254, 252, 75, 75, 75, 247, 253, 255,
+ 75, 256, 75, 257, 258, 251, 251, 251, 251, 75,
+ 262, 266, 261, 75, 75, 267, 252, 263, 263, 263,
+ 263, 253, 75, 264, 265, 75, 270, 75, 268, 75,
+ 75, 271, 75, 253, 263, 263, 263, 263, 75, 273,
+ 274, 75, 75, 275, 272, 75, 75, 75, 75, 75,
+ 253, 75, 75, 279, 75, 276, 75, 277, 75, 75,
+ 278, 280, 75, 75, 282, 283, 281, 287, 286, 288,
+ 75, 289, 284, 75, 285, 75, 296, 290, 75, 75,
+ 291, 292, 75, 75, 75, 75, 75, 75, 293, 75,
+
+ 295, 75, 294, 75, 301, 75, 303, 299, 75, 269,
+ 75, 300, 297, 260, 250, 298, 305, 249, 248, 75,
+ 75, 302, 306, 304, 240, 307, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 58, 58, 58, 58, 58, 58, 58,
+ 58, 58, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 76, 76,
+
+ 90, 90, 90, 90, 90, 90, 239, 90, 90, 94,
+ 238, 237, 94, 236, 94, 110, 110, 110, 235, 110,
+ 110, 110, 110, 110, 112, 233, 112, 112, 112, 112,
+ 112, 115, 115, 115, 115, 115, 115, 115, 229, 115,
+ 117, 225, 117, 117, 117, 117, 117, 117, 117, 119,
+ 224, 119, 119, 119, 119, 119, 119, 119, 221, 220,
+ 219, 218, 217, 216, 215, 214, 75, 210, 209, 207,
+ 206, 203, 202, 201, 200, 199, 198, 197, 192, 191,
+ 190, 189, 188, 187, 186, 185, 184, 181, 180, 154,
+ 171, 75, 122, 122, 168, 167, 166, 165, 164, 163,
+
+ 162, 159, 158, 157, 152, 151, 75, 122, 121, 116,
+ 114, 109, 74, 77, 75, 74, 308, 68, 68, 63,
+ 63, 43, 43, 23, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308
} ;
-static yyconst flex_int32_t yy_chk[724] =
+static yyconst flex_int32_t yy_chk[772] =
{ 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, 2, 2, 7, 2, 2,
- 3, 3, 4, 4, 13, 13, 14, 14, 8, 15,
- 15, 3, 26, 4, 16, 16, 314, 27, 29, 74,
- 25, 31, 33, 28, 30, 32, 26, 27, 29, 7,
- 74, 31, 34, 34, 33, 2, 2, 2, 5, 5,
- 8, 25, 5, 5, 28, 5, 30, 25, 33, 32,
-
- 5, 35, 35, 5, 5, 38, 38, 38, 39, 39,
- 40, 40, 41, 41, 43, 43, 43, 43, 192, 39,
- 192, 40, 294, 41, 290, 5, 71, 5, 6, 6,
- 63, 63, 6, 6, 72, 6, 53, 53, 53, 53,
- 6, 65, 65, 6, 6, 55, 55, 71, 55, 56,
- 56, 56, 56, 75, 67, 67, 55, 55, 67, 73,
- 72, 76, 214, 77, 99, 6, 78, 6, 9, 9,
- 79, 75, 9, 9, 73, 9, 77, 78, 80, 81,
- 9, 214, 76, 9, 9, 99, 78, 125, 79, 81,
- 82, 82, 83, 83, 83, 84, 84, 91, 91, 125,
-
- 80, 92, 92, 85, 85, 9, 84, 9, 10, 10,
- 86, 86, 10, 10, 85, 10, 88, 88, 90, 90,
- 10, 86, 289, 10, 10, 102, 123, 88, 283, 90,
- 94, 94, 94, 94, 116, 116, 102, 108, 108, 108,
- 108, 109, 109, 123, 109, 10, 128, 10, 47, 118,
- 118, 127, 109, 109, 120, 120, 122, 47, 47, 47,
- 128, 47, 126, 132, 131, 47, 130, 127, 47, 129,
- 133, 159, 47, 47, 47, 47, 95, 95, 122, 95,
- 130, 129, 137, 95, 160, 133, 95, 132, 126, 131,
- 95, 95, 95, 111, 111, 111, 111, 159, 163, 164,
-
- 168, 169, 170, 137, 190, 191, 160, 198, 194, 195,
- 210, 213, 168, 196, 190, 169, 163, 170, 194, 195,
- 196, 215, 216, 217, 218, 219, 164, 228, 225, 191,
- 226, 230, 229, 213, 198, 231, 210, 215, 233, 234,
- 216, 228, 218, 236, 230, 217, 225, 229, 237, 240,
- 219, 241, 242, 226, 245, 244, 231, 234, 246, 247,
- 233, 248, 249, 251, 240, 236, 242, 250, 252, 241,
- 253, 254, 256, 257, 258, 245, 249, 237, 244, 246,
- 264, 262, 250, 247, 263, 254, 259, 248, 251, 261,
- 256, 265, 252, 277, 266, 269, 264, 267, 258, 253,
-
- 268, 271, 257, 272, 259, 262, 273, 261, 266, 263,
- 265, 267, 274, 269, 268, 276, 275, 272, 271, 277,
- 279, 281, 282, 284, 285, 286, 288, 273, 287, 293,
- 291, 276, 292, 280, 285, 278, 274, 275, 287, 282,
- 270, 284, 260, 255, 243, 239, 279, 281, 291, 238,
- 293, 286, 288, 232, 292, 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, 300, 300, 300, 300, 300, 300, 300,
-
- 301, 301, 301, 301, 301, 301, 301, 301, 301, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 303, 303,
- 304, 304, 304, 304, 304, 304, 304, 304, 304, 305,
- 305, 305, 305, 305, 305, 305, 305, 305, 306, 306,
- 306, 306, 306, 306, 306, 306, 306, 307, 227, 222,
- 307, 221, 307, 307, 308, 308, 308, 220, 308, 308,
- 308, 308, 308, 309, 212, 309, 309, 309, 309, 309,
- 310, 211, 310, 310, 310, 310, 310, 311, 311, 311,
- 311, 311, 311, 311, 209, 311, 312, 207, 312, 312,
- 312, 312, 312, 312, 312, 313, 202, 313, 313, 313,
-
- 313, 313, 313, 313, 315, 315, 315, 315, 315, 315,
- 200, 315, 315, 199, 197, 193, 189, 187, 182, 180,
- 179, 178, 177, 176, 174, 167, 166, 165, 162, 161,
- 158, 157, 156, 153, 152, 151, 150, 149, 147, 143,
- 142, 141, 140, 139, 138, 136, 135, 134, 124, 121,
- 119, 114, 112, 106, 105, 104, 103, 101, 100, 98,
- 97, 96, 87, 69, 66, 61, 58, 48, 37, 24,
- 23, 22, 19, 18, 17, 12, 11, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
-
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295
+ 1, 1, 1, 1, 1, 1, 1, 2, 2, 7,
+ 2, 2, 8, 13, 13, 14, 14, 15, 15, 16,
+ 16, 19, 20, 19, 20, 31, 21, 21, 21, 21,
+ 37, 37, 325, 9, 9, 33, 31, 21, 38, 38,
+ 10, 10, 21, 7, 32, 29, 8, 9, 30, 2,
+ 2, 2, 5, 5, 10, 32, 5, 5, 33, 5,
+
+ 5, 5, 35, 30, 5, 5, 5, 29, 132, 5,
+ 5, 34, 9, 29, 9, 65, 65, 36, 70, 10,
+ 70, 10, 34, 41, 41, 41, 132, 35, 67, 67,
+ 36, 5, 307, 5, 6, 6, 74, 74, 6, 6,
+ 74, 6, 6, 6, 36, 80, 6, 6, 6, 83,
+ 78, 6, 6, 22, 22, 22, 22, 43, 43, 43,
+ 43, 80, 82, 83, 22, 45, 45, 45, 45, 22,
+ 303, 43, 78, 6, 79, 6, 50, 50, 50, 50,
+ 56, 56, 56, 56, 82, 101, 85, 50, 59, 59,
+ 59, 59, 71, 71, 71, 71, 50, 50, 50, 246,
+
+ 50, 79, 86, 71, 50, 85, 101, 50, 71, 50,
+ 81, 50, 50, 50, 50, 72, 72, 72, 72, 87,
+ 84, 246, 81, 88, 88, 86, 89, 89, 89, 302,
+ 87, 72, 84, 91, 91, 91, 91, 92, 92, 92,
+ 92, 84, 93, 93, 93, 93, 95, 95, 95, 95,
+ 96, 96, 96, 96, 100, 105, 111, 111, 111, 111,
+ 113, 113, 113, 113, 118, 118, 105, 100, 120, 120,
+ 296, 124, 96, 124, 129, 129, 134, 125, 125, 125,
+ 125, 136, 293, 96, 97, 97, 131, 97, 125, 134,
+ 139, 97, 169, 125, 97, 135, 136, 137, 97, 97,
+
+ 97, 126, 126, 126, 126, 128, 128, 128, 128, 131,
+ 137, 138, 135, 140, 141, 145, 139, 126, 170, 169,
+ 173, 128, 177, 229, 178, 206, 138, 179, 206, 204,
+ 141, 159, 159, 159, 159, 177, 145, 226, 140, 178,
+ 204, 170, 159, 179, 159, 232, 229, 159, 173, 193,
+ 193, 193, 193, 194, 194, 194, 194, 205, 211, 209,
+ 193, 231, 193, 208, 226, 193, 209, 230, 232, 194,
+ 195, 195, 195, 195, 208, 222, 222, 222, 222, 233,
+ 231, 234, 205, 241, 230, 242, 211, 223, 223, 223,
+ 223, 222, 238, 238, 238, 238, 243, 244, 233, 248,
+
+ 245, 249, 241, 238, 255, 257, 258, 234, 238, 242,
+ 254, 243, 261, 244, 245, 251, 251, 251, 251, 262,
+ 249, 257, 248, 259, 265, 258, 251, 252, 252, 252,
+ 252, 251, 264, 254, 255, 266, 261, 267, 259, 268,
+ 270, 262, 269, 252, 263, 263, 263, 263, 271, 265,
+ 266, 274, 273, 267, 264, 275, 277, 278, 279, 291,
+ 263, 280, 281, 271, 282, 268, 283, 269, 284, 287,
+ 270, 273, 286, 288, 275, 277, 274, 281, 280, 282,
+ 289, 283, 278, 290, 279, 292, 291, 284, 294, 295,
+ 286, 287, 297, 298, 299, 300, 301, 304, 288, 305,
+
+ 290, 285, 289, 306, 298, 276, 300, 295, 272, 260,
+ 256, 297, 292, 247, 237, 294, 304, 236, 235, 228,
+ 227, 299, 305, 301, 225, 306, 309, 309, 309, 309,
+ 309, 309, 309, 309, 309, 310, 310, 310, 310, 310,
+ 310, 310, 310, 310, 311, 311, 311, 311, 311, 311,
+ 311, 311, 311, 312, 312, 312, 312, 312, 312, 312,
+ 312, 312, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 315, 315, 315, 315, 315, 315, 315, 315, 315, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 317, 317,
+
+ 318, 318, 318, 318, 318, 318, 221, 318, 318, 319,
+ 220, 215, 319, 213, 319, 320, 320, 320, 212, 320,
+ 320, 320, 320, 320, 321, 210, 321, 321, 321, 321,
+ 321, 322, 322, 322, 322, 322, 322, 322, 207, 322,
+ 323, 203, 323, 323, 323, 323, 323, 323, 323, 324,
+ 201, 324, 324, 324, 324, 324, 324, 324, 192, 190,
+ 189, 188, 187, 186, 185, 183, 176, 175, 174, 172,
+ 171, 168, 167, 166, 163, 162, 161, 160, 158, 156,
+ 154, 151, 150, 149, 148, 147, 146, 144, 143, 142,
+ 133, 130, 123, 122, 121, 116, 114, 109, 108, 107,
+
+ 106, 104, 103, 102, 99, 98, 76, 69, 68, 63,
+ 60, 51, 40, 28, 27, 26, 23, 18, 17, 12,
+ 11, 4, 3, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308
} ;
static yy_state_type yy_last_accepting_state;
@@ -752,7 +765,7 @@ char *gabc_score_determination_text;
* This file implements the score lexer.
*
* Gregorio score determination in gabc input.
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -817,7 +830,7 @@ static bool eof_found = false;
#define YY_INPUT(buf,result,max_size) \
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) { \
int c = '*'; \
- size_t n; \
+ int n; \
for (n = 0; n < max_size \
&& (c = getc(gabc_score_determination_in)) != EOF \
&& c != '\n'; ++n ) { \
@@ -855,11 +868,13 @@ static bool eof_found = false;
+
+
/* The expression for attribute below is rather messy because we allow
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 863 "gabc/gabc-score-determination-l.c"
+#line 878 "gabc/gabc-score-determination-l.c"
#define INITIAL 0
#define attribute 1
@@ -870,6 +885,8 @@ semicolon. */
#define comments 6
#define inicomments 7
#define alt 8
+#define protrusion_value 9
+#define protrusion_end 10
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
@@ -1090,9 +1107,9 @@ YY_DECL
}
{
-#line 134 "gabc/gabc-score-determination.l"
+#line 136 "gabc/gabc-score-determination.l"
-#line 1096 "gabc/gabc-score-determination-l.c"
+#line 1113 "gabc/gabc-score-determination-l.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1120,13 +1137,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 >= 296 )
+ if ( yy_current_state >= 309 )
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] != 678 );
+ while ( yy_base[yy_current_state] != 724 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -1152,7 +1169,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 135 "gabc/gabc-score-determination.l"
+#line 137 "gabc/gabc-score-determination.l"
{
/* BOM written by a lot of windows softwares when they write UTF-8 */
}
@@ -1160,14 +1177,14 @@ YY_RULE_SETUP
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 138 "gabc/gabc-score-determination.l"
+#line 140 "gabc/gabc-score-determination.l"
{
/* ignoring empty lines */
}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 141 "gabc/gabc-score-determination.l"
+#line 143 "gabc/gabc-score-determination.l"
{
BEGIN(inicomments);
}
@@ -1175,21 +1192,21 @@ YY_RULE_SETUP
case 4:
/* rule 4 can match eol */
YY_RULE_SETUP
-#line 144 "gabc/gabc-score-determination.l"
+#line 146 "gabc/gabc-score-determination.l"
{
BEGIN(INITIAL);
}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 147 "gabc/gabc-score-determination.l"
+#line 149 "gabc/gabc-score-determination.l"
{
/* ignored */
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 150 "gabc/gabc-score-determination.l"
+#line 152 "gabc/gabc-score-determination.l"
{
BEGIN(attribute);
return COLON;
@@ -1198,68 +1215,69 @@ YY_RULE_SETUP
case 7:
/* rule 7 can match eol */
YY_RULE_SETUP
-#line 154 "gabc/gabc-score-determination.l"
+#line 156 "gabc/gabc-score-determination.l"
{
- gabc_score_determination_lval.text =
- gregorio_strdup(gabc_score_determination_text);
- return ATTRIBUTE;
+ BEGIN(INITIAL);
+ return SEMICOLON;
}
YY_BREAK
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 159 "gabc/gabc-score-determination.l"
+#line 160 "gabc/gabc-score-determination.l"
{
- BEGIN(INITIAL);
- return SEMICOLON;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return ATTRIBUTE;
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 163 "gabc/gabc-score-determination.l"
+#line 165 "gabc/gabc-score-determination.l"
{
- gabc_score_determination_lval.character = gabc_score_determination_text[5];
- return DEF_MACRO;
- }
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return ATTRIBUTE;
+}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 167 "gabc/gabc-score-determination.l"
+#line 170 "gabc/gabc-score-determination.l"
{
- gabc_score_determination_lval.text =
- gregorio_strdup(gabc_score_determination_text);
- return NAME;
+ gabc_score_determination_lval.character = gabc_score_determination_text[5];
+ return DEF_MACRO;
}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 172 "gabc/gabc-score-determination.l"
+#line 174 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
- return SCORE_COPYRIGHT;
+ return NAME;
}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 177 "gabc/gabc-score-determination.l"
+#line 179 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
- return GABC_COPYRIGHT;
+ return SCORE_COPYRIGHT;
}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 182 "gabc/gabc-score-determination.l"
+#line 184 "gabc/gabc-score-determination.l"
{
- /* DEPRECATED for removal in 5.0 */
- return INITIAL_STYLE;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return GABC_COPYRIGHT;
}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 186 "gabc/gabc-score-determination.l"
+#line 189 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1268,7 +1286,7 @@ YY_RULE_SETUP
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 191 "gabc/gabc-score-determination.l"
+#line 194 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1277,7 +1295,7 @@ YY_RULE_SETUP
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 196 "gabc/gabc-score-determination.l"
+#line 199 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1286,7 +1304,7 @@ YY_RULE_SETUP
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 201 "gabc/gabc-score-determination.l"
+#line 204 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1295,7 +1313,7 @@ YY_RULE_SETUP
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 206 "gabc/gabc-score-determination.l"
+#line 209 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1304,7 +1322,7 @@ YY_RULE_SETUP
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 211 "gabc/gabc-score-determination.l"
+#line 214 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1313,7 +1331,7 @@ YY_RULE_SETUP
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 216 "gabc/gabc-score-determination.l"
+#line 219 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1322,7 +1340,7 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 221 "gabc/gabc-score-determination.l"
+#line 224 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1331,7 +1349,7 @@ YY_RULE_SETUP
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 226 "gabc/gabc-score-determination.l"
+#line 229 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1340,7 +1358,7 @@ YY_RULE_SETUP
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 231 "gabc/gabc-score-determination.l"
+#line 234 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1350,7 +1368,7 @@ YY_RULE_SETUP
case 24:
/* rule 24 can match eol */
YY_RULE_SETUP
-#line 236 "gabc/gabc-score-determination.l"
+#line 239 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return END_OF_DEFINITIONS;
@@ -1358,7 +1376,7 @@ YY_RULE_SETUP
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 240 "gabc/gabc-score-determination.l"
+#line 243 "gabc/gabc-score-determination.l"
{
gregorio_messagef("det_score", VERBOSITY_ERROR, 0,
_("unrecognized character: \"%c\" in definition part"),
@@ -1368,323 +1386,376 @@ YY_RULE_SETUP
case 26:
/* rule 26 can match eol */
YY_RULE_SETUP
-#line 245 "gabc/gabc-score-determination.l"
+#line 248 "gabc/gabc-score-determination.l"
{
RETURN_SPACE;
}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 248 "gabc/gabc-score-determination.l"
+#line 251 "gabc/gabc-score-determination.l"
{
RETURN_CHARACTERS;
}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 251 "gabc/gabc-score-determination.l"
+#line 254 "gabc/gabc-score-determination.l"
{
return HYPHEN;
}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 254 "gabc/gabc-score-determination.l"
+#line 257 "gabc/gabc-score-determination.l"
{
- return NLBA_B;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return PROTRUDING_PUNCTUATION;
}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 257 "gabc/gabc-score-determination.l"
+#line 262 "gabc/gabc-score-determination.l"
{
- return NLBA_E;
+ return NLBA_B;
}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 260 "gabc/gabc-score-determination.l"
+#line 265 "gabc/gabc-score-determination.l"
{
- START_STYLE(I);
+ return NLBA_E;
}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 263 "gabc/gabc-score-determination.l"
+#line 268 "gabc/gabc-score-determination.l"
{
- END_STYLE(I);
+ START_STYLE(I);
}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 266 "gabc/gabc-score-determination.l"
+#line 271 "gabc/gabc-score-determination.l"
{
- START_STYLE(TT);
+ END_STYLE(I);
}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 269 "gabc/gabc-score-determination.l"
+#line 274 "gabc/gabc-score-determination.l"
{
- END_STYLE(TT);
+ START_STYLE(TT);
}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 272 "gabc/gabc-score-determination.l"
+#line 277 "gabc/gabc-score-determination.l"
{
- START_STYLE(UL);
+ END_STYLE(TT);
}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 275 "gabc/gabc-score-determination.l"
+#line 280 "gabc/gabc-score-determination.l"
{
- END_STYLE(UL);
+ START_STYLE(UL);
}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 278 "gabc/gabc-score-determination.l"
+#line 283 "gabc/gabc-score-determination.l"
{
- START_STYLE(C);
+ END_STYLE(UL);
}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 281 "gabc/gabc-score-determination.l"
+#line 286 "gabc/gabc-score-determination.l"
{
- END_STYLE(C);
+ START_STYLE(C);
}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 284 "gabc/gabc-score-determination.l"
+#line 289 "gabc/gabc-score-determination.l"
{
- START_STYLE(B);
+ END_STYLE(C);
}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 287 "gabc/gabc-score-determination.l"
+#line 292 "gabc/gabc-score-determination.l"
{
- END_STYLE(B);
+ START_STYLE(B);
}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 290 "gabc/gabc-score-determination.l"
+#line 295 "gabc/gabc-score-determination.l"
{
- START_STYLE(SC);
+ END_STYLE(B);
}
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 293 "gabc/gabc-score-determination.l"
+#line 298 "gabc/gabc-score-determination.l"
{
- END_STYLE(SC);
+ START_STYLE(SC);
}
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 296 "gabc/gabc-score-determination.l"
+#line 301 "gabc/gabc-score-determination.l"
{
- START_STYLE(ELISION);
+ END_STYLE(SC);
}
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 299 "gabc/gabc-score-determination.l"
+#line 304 "gabc/gabc-score-determination.l"
{
- END_STYLE(ELISION);
+ START_STYLE(ELISION);
}
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 302 "gabc/gabc-score-determination.l"
+#line 307 "gabc/gabc-score-determination.l"
+{
+ END_STYLE(ELISION);
+ }
+ YY_BREAK
+case 46:
+YY_RULE_SETUP
+#line 310 "gabc/gabc-score-determination.l"
{
BEGIN(sp);
return SP_BEGIN;
}
YY_BREAK
-case 46:
+case 47:
YY_RULE_SETUP
-#line 306 "gabc/gabc-score-determination.l"
+#line 314 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return SP_END;
}
YY_BREAK
-case 47:
-/* rule 47 can match eol */
+case 48:
+/* rule 48 can match eol */
YY_RULE_SETUP
-#line 310 "gabc/gabc-score-determination.l"
+#line 318 "gabc/gabc-score-determination.l"
{
RETURN_SPACE;
}
YY_BREAK
-case 48:
+case 49:
YY_RULE_SETUP
-#line 313 "gabc/gabc-score-determination.l"
+#line 321 "gabc/gabc-score-determination.l"
{
RETURN_CHARACTERS;
}
YY_BREAK
-case 49:
+case 50:
YY_RULE_SETUP
-#line 316 "gabc/gabc-score-determination.l"
+#line 324 "gabc/gabc-score-determination.l"
{
BEGIN(comments);
}
YY_BREAK
-case 50:
-/* rule 50 can match eol */
+case 51:
+/* rule 51 can match eol */
YY_RULE_SETUP
-#line 319 "gabc/gabc-score-determination.l"
+#line 327 "gabc/gabc-score-determination.l"
{
BEGIN(score);
}
YY_BREAK
-case 51:
+case 52:
YY_RULE_SETUP
-#line 322 "gabc/gabc-score-determination.l"
+#line 330 "gabc/gabc-score-determination.l"
{
/* ignored */
}
YY_BREAK
-case 52:
+case 53:
YY_RULE_SETUP
-#line 325 "gabc/gabc-score-determination.l"
+#line 333 "gabc/gabc-score-determination.l"
{
BEGIN(verb);
return VERB_BEGIN;
}
YY_BREAK
-case 53:
+case 54:
YY_RULE_SETUP
-#line 329 "gabc/gabc-score-determination.l"
+#line 337 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return VERB_END;
}
YY_BREAK
-case 54:
-/* rule 54 can match eol */
+case 55:
+/* rule 55 can match eol */
YY_RULE_SETUP
-#line 333 "gabc/gabc-score-determination.l"
+#line 341 "gabc/gabc-score-determination.l"
{
RETURN_CHARACTERS;
}
YY_BREAK
-case 55:
+case 56:
YY_RULE_SETUP
-#line 336 "gabc/gabc-score-determination.l"
+#line 344 "gabc/gabc-score-determination.l"
{
RETURN_CHARACTERS;
}
YY_BREAK
-case 56:
+case 57:
YY_RULE_SETUP
-#line 339 "gabc/gabc-score-determination.l"
+#line 347 "gabc/gabc-score-determination.l"
{
return CENTER_BEGIN;
}
YY_BREAK
-case 57:
+case 58:
YY_RULE_SETUP
-#line 342 "gabc/gabc-score-determination.l"
+#line 350 "gabc/gabc-score-determination.l"
{
return CENTER_END;
}
YY_BREAK
-case 58:
+case 59:
YY_RULE_SETUP
-#line 345 "gabc/gabc-score-determination.l"
+#line 353 "gabc/gabc-score-determination.l"
{
BEGIN(alt);
return ALT_BEGIN;
}
YY_BREAK
-case 59:
+case 60:
YY_RULE_SETUP
-#line 349 "gabc/gabc-score-determination.l"
+#line 357 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return ALT_END;
}
YY_BREAK
-case 60:
+case 61:
YY_RULE_SETUP
-#line 353 "gabc/gabc-score-determination.l"
+#line 361 "gabc/gabc-score-determination.l"
{
return EUOUAE_B;
}
YY_BREAK
-case 61:
+case 62:
YY_RULE_SETUP
-#line 356 "gabc/gabc-score-determination.l"
+#line 364 "gabc/gabc-score-determination.l"
{
return EUOUAE_E;
}
YY_BREAK
-case 62:
+case 63:
YY_RULE_SETUP
-#line 359 "gabc/gabc-score-determination.l"
+#line 367 "gabc/gabc-score-determination.l"
{
return TRANSLATION_CENTER_END;
}
YY_BREAK
-case 63:
+case 64:
YY_RULE_SETUP
-#line 362 "gabc/gabc-score-determination.l"
+#line 370 "gabc/gabc-score-determination.l"
{
return TRANSLATION_BEGIN;
}
YY_BREAK
-case 64:
+case 65:
YY_RULE_SETUP
-#line 365 "gabc/gabc-score-determination.l"
+#line 373 "gabc/gabc-score-determination.l"
{
return TRANSLATION_END;
}
YY_BREAK
-case 65:
+case 66:
+/* rule 66 can match eol */
YY_RULE_SETUP
-#line 368 "gabc/gabc-score-determination.l"
+#line 376 "gabc/gabc-score-determination.l"
+{
+ return CLEAR;
+ }
+ YY_BREAK
+case 67:
+/* rule 67 can match eol */
+YY_RULE_SETUP
+#line 379 "gabc/gabc-score-determination.l"
+{
+ return PROTRUSION;
+ }
+ YY_BREAK
+case 68:
+/* rule 68 can match eol */
+YY_RULE_SETUP
+#line 382 "gabc/gabc-score-determination.l"
+{
+ BEGIN(protrusion_value);
+ return PROTRUSION;
+ }
+ YY_BREAK
+case 69:
+YY_RULE_SETUP
+#line 386 "gabc/gabc-score-determination.l"
+{
+ BEGIN(protrusion_end);
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return PROTRUSION_VALUE;
+ }
+ YY_BREAK
+case 70:
+/* rule 70 can match eol */
+YY_RULE_SETUP
+#line 392 "gabc/gabc-score-determination.l"
+{
+ BEGIN(score);
+ return PROTRUSION_END;
+ }
+ YY_BREAK
+case 71:
+YY_RULE_SETUP
+#line 396 "gabc/gabc-score-determination.l"
{
BEGIN(notes);
return OPENING_BRACKET;
}
YY_BREAK
-case 66:
-/* rule 66 can match eol */
+case 72:
+/* rule 72 can match eol */
YY_RULE_SETUP
-#line 372 "gabc/gabc-score-determination.l"
+#line 400 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return NOTES;
}
YY_BREAK
-case 67:
+case 73:
YY_RULE_SETUP
-#line 377 "gabc/gabc-score-determination.l"
+#line 405 "gabc/gabc-score-determination.l"
{
return NABC_CUT;
}
YY_BREAK
-case 68:
+case 74:
YY_RULE_SETUP
-#line 380 "gabc/gabc-score-determination.l"
+#line 408 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return CLOSING_BRACKET;
}
YY_BREAK
-case 69:
-/* rule 69 can match eol */
+case 75:
+/* rule 75 can match eol */
YY_RULE_SETUP
-#line 384 "gabc/gabc-score-determination.l"
+#line 412 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return CLOSING_BRACKET_WITH_SPACE;
@@ -1699,7 +1770,9 @@ case YY_STATE_EOF(verb):
case YY_STATE_EOF(comments):
case YY_STATE_EOF(inicomments):
case YY_STATE_EOF(alt):
-#line 388 "gabc/gabc-score-determination.l"
+case YY_STATE_EOF(protrusion_value):
+case YY_STATE_EOF(protrusion_end):
+#line 416 "gabc/gabc-score-determination.l"
{
if (!eof_found) {
eof_found = true;
@@ -1709,22 +1782,22 @@ case YY_STATE_EOF(alt):
}
}
YY_BREAK
-case 70:
-/* rule 70 can match eol */
+case 76:
+/* rule 76 can match eol */
YY_RULE_SETUP
-#line 396 "gabc/gabc-score-determination.l"
+#line 424 "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 71:
+case 77:
YY_RULE_SETUP
-#line 401 "gabc/gabc-score-determination.l"
+#line 429 "gabc/gabc-score-determination.l"
ECHO;
YY_BREAK
-#line 1728 "gabc/gabc-score-determination-l.c"
+#line 1801 "gabc/gabc-score-determination-l.c"
case YY_END_OF_BUFFER:
{
@@ -2016,7 +2089,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 >= 296 )
+ if ( yy_current_state >= 309 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2044,11 +2117,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 >= 296 )
+ if ( yy_current_state >= 309 )
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 == 295);
+ yy_is_jam = (yy_current_state == 308);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2697,7 +2770,7 @@ void gabc_score_determination_free (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 401 "gabc/gabc-score-determination.l"
+#line 429 "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 411b56732a4..a53d97e76c7 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
@@ -230,6 +230,8 @@ extern char *gabc_score_determination_text;
#define comments 6
#define inicomments 7
#define alt 8
+#define protrusion_value 9
+#define protrusion_end 10
#endif
@@ -338,9 +340,9 @@ extern int gabc_score_determination_lex (void);
#undef YY_DECL
#endif
-#line 401 "gabc/gabc-score-determination.l"
+#line 429 "gabc/gabc-score-determination.l"
-#line 345 "gabc/gabc-score-determination-l.h"
+#line 347 "gabc/gabc-score-determination-l.h"
#undef gabc_score_determination_IN_HEADER
#endif /* gabc_score_determination_HEADER_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 82e4d2dc37a..7017c6a3e07 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
@@ -78,7 +78,7 @@
* This file implements the score parser.
*
* Gregorio score determination from gabc.
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -125,10 +125,13 @@
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
(Current).last_offset = YYRHSLOC (Rhs, N).last_offset; \
+ (Current).generate_point_and_click = YYRHSLOC (Rhs, 1).generate_point_and_click; \
} else { \
(Current).first_line = (Current).last_line = YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = YYRHSLOC (Rhs, 0).last_column; \
(Current).first_offset = (Current).last_offset = YYRHSLOC (Rhs, 0).last_offset; \
+ (Current).first_offset = (Current).last_offset = YYRHSLOC (Rhs, 0).last_offset; \
+ (Current).generate_point_and_click = YYRHSLOC (Rhs, 0).generate_point_and_click; \
}
#include "gabc-score-determination.h"
@@ -160,6 +163,7 @@ gregorio_element *current_element;
static char *macros[10];
/* other variables that we will have to use */
static gregorio_character *current_character;
+static gregorio_character *suspended_character;
static gregorio_character *first_text_character;
static gregorio_character *first_translation_character;
static gregorio_tr_centering translation_type;
@@ -178,6 +182,9 @@ static bool got_staff_lines;
static bool started_first_word;
static struct sha1_ctx digester;
static gabc_style_bits styles;
+static bool generate_point_and_click;
+static bool clear_syllable_text;
+static bool has_protrusion;
/* punctum_inclinatum_orientation maintains the running punctum inclinatum
* orientation in order to decide if the glyph needs to be cut when a punctum
@@ -214,7 +221,7 @@ static void gabc_score_determination_error(const char *error_str)
* The function that will initialize the variables.
*/
-static void initialize_variables(void)
+static void initialize_variables(bool point_and_click)
{
int i;
/* build a brand new empty score */
@@ -227,6 +234,7 @@ static void initialize_variables(void)
number_of_voices = 1;
voice = 0; /* first (and only) voice */
current_character = NULL;
+ suspended_character = NULL;
first_translation_character = NULL;
first_text_character = NULL;
translation_type = TR_NORMAL;
@@ -242,6 +250,9 @@ static void initialize_variables(void)
started_first_word = false;
styles = 0;
punctum_inclinatum_orientation = S_PUNCTUM_INCLINATUM_UNDETERMINED;
+ generate_point_and_click = point_and_click;
+ clear_syllable_text = false;
+ has_protrusion = false;
}
/*
@@ -266,7 +277,7 @@ static void end_definitions(void)
{
int i;
- gregorio_assert_only(check_infos_integrity(score), end_definitions,
+ gregorio_assert_only(gabc_check_infos_integrity(score), end_definitions,
"can't determine valid infos on the score");
elements = (gregorio_element **) gregorio_malloc(number_of_voices *
@@ -378,7 +389,159 @@ static void rebuild_score_characters(void)
}
/*
- * Function to close a syllable and update the position.
+ *
+ * The two functions called when lex returns a style, we simply add it. All the
+ * complex things will be done by the function after...
+ *
+ */
+
+static void add_style(unsigned char style)
+{
+ gregorio_begin_style(&current_character, style);
+}
+
+static void end_style(unsigned char style)
+{
+ gregorio_end_style(&current_character, style);
+}
+
+static __inline void save_text(void)
+{
+ if (has_protrusion) {
+ end_style(ST_PROTRUSION);
+ }
+ ready_characters();
+ first_text_character = current_character;
+}
+
+/* a function called when we see a [, basically, all characters are added to
+ * the translation pointer instead of the text pointer */
+static void start_translation(unsigned char asked_translation_type)
+{
+ suspended_character = current_character;
+ /* the middle letters of the translation have no sense */
+ /*center_is_determined = CENTER_FULLY_DETERMINED;*/
+ current_character = NULL;
+ translation_type = asked_translation_type;
+}
+
+static void end_translation(void)
+{
+ ready_characters();
+ first_translation_character = current_character;
+ current_character = suspended_character;
+}
+
+/*
+ * add_text is the function called when lex returns a char *. In
+ * this function we convert it into grewchar, and then we add the corresponding
+ * gregorio_characters in the list of gregorio_characters.
+ */
+
+static void add_text(char *mbcharacters)
+{
+ if (!current_character) {
+ /* insert open styles, leaving out ELISION on purpose */
+ if (styles & SB_I) {
+ add_style(ST_ITALIC);
+ }
+ if (styles & SB_B) {
+ add_style(ST_BOLD);
+ }
+ if (styles & SB_TT) {
+ add_style(ST_TT);
+ }
+ if (styles & SB_SC) {
+ add_style(ST_SMALL_CAPS);
+ }
+ if (styles & SB_UL) {
+ add_style(ST_UNDERLINED);
+ }
+ if (styles & SB_C) {
+ add_style(ST_COLORED);
+ }
+ }
+ if (current_character) {
+ current_character->next_character = gregorio_build_char_list_from_buf(
+ mbcharacters);
+ current_character->next_character->previous_character =
+ current_character;
+ } else {
+ current_character = gregorio_build_char_list_from_buf(mbcharacters);
+ }
+ while (current_character && current_character->next_character) {
+ current_character = current_character->next_character;
+ }
+ free(mbcharacters);
+}
+
+static void add_protrusion(char *factor)
+{
+ if (has_protrusion) {
+ gregorio_message("syllable already has protrusion; pr tag ignored",
+ "det_score", VERBOSITY_WARNING, 0);
+ free(factor);
+ } else {
+ if (center_is_determined == CENTER_HALF_DETERMINED) {
+ gregorio_message("closing open syllable center before protrusion",
+ "det_score", VERBOSITY_WARNING, 0);
+ end_style(ST_FORCED_CENTER);
+ center_is_determined = CENTER_FULLY_DETERMINED;
+ }
+
+ add_style(ST_PROTRUSION_FACTOR);
+ add_text(factor);
+ end_style(ST_PROTRUSION_FACTOR);
+ add_style(ST_PROTRUSION);
+ has_protrusion = true;
+ }
+}
+
+static void add_auto_protrusion(char *protrusion)
+{
+ if (has_protrusion) {
+ add_text(protrusion);
+ } else {
+ add_style(ST_PROTRUSION_FACTOR);
+ add_style(ST_VERBATIM);
+ add_text(gregorio_strdup("\\GreProtrusionFactor{"));
+
+ switch (*protrusion) {
+ case ',':
+ add_text(gregorio_strdup("comma"));
+ break;
+ case ';':
+ add_text(gregorio_strdup("semicolon"));
+ break;
+ case ':':
+ add_text(gregorio_strdup("colon"));
+ break;
+ case '.':
+ add_text(gregorio_strdup("period"));
+ break;
+ default:
+ /* not reachable unless there's a programming error */
+ /* LCOV_EXCL_START */
+ gregorio_fail2(add_auto_protrusion,
+ "unsupported protruding punctuation: %c", *protrusion);
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+
+ add_text(gregorio_strdup("}"));
+ end_style(ST_VERBATIM);
+ end_style(ST_PROTRUSION_FACTOR);
+
+ add_style(ST_PROTRUSION);
+ add_text(protrusion);
+ end_style(ST_PROTRUSION);
+
+ has_protrusion = true;
+ }
+}
+
+/*
+ * Function to close a syllable and update the position.
*/
static void close_syllable(YYLTYPE *loc)
@@ -394,10 +557,9 @@ static void close_syllable(YYLTYPE *loc)
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);
- }
+ /* the parser precludes this from falling here */
+ gregorio_assert_only(i <= 1, close_syllable,
+ "elisions may not be nested");
break;
case ST_T_END:
@@ -436,7 +598,7 @@ static void close_syllable(YYLTYPE *loc)
gregorio_add_syllable(&current_syllable, number_of_voices, elements,
first_text_character, first_translation_character, position,
abovelinestext, translation_type, no_linebreak_area, euouae, loc,
- started_first_word);
+ started_first_word, clear_syllable_text);
if (!score->first_syllable) {
/* we rebuild the first syllable if we have to */
score->first_syllable = current_syllable;
@@ -457,6 +619,7 @@ static void close_syllable(YYLTYPE *loc)
}
center_is_determined = CENTER_NOT_DETERMINED;
current_character = NULL;
+ suspended_character = NULL;
first_text_character = NULL;
first_translation_character = NULL;
translation_type = TR_NORMAL;
@@ -467,84 +630,8 @@ static void close_syllable(YYLTYPE *loc)
elements[i] = NULL;
}
current_element = NULL;
-}
-
-/* a function called when we see a [, basically, all characters are added to
- * the translation pointer instead of the text pointer */
-static void start_translation(unsigned char asked_translation_type)
-{
- ready_characters();
- first_text_character = current_character;
- /* the middle letters of the translation have no sense */
- center_is_determined = CENTER_FULLY_DETERMINED;
- current_character = NULL;
- translation_type = asked_translation_type;
-}
-
-static void end_translation(void)
-{
- ready_characters();
- first_translation_character = current_character;
-}
-
-/*
- *
- * The two functions called when lex returns a style, we simply add it. All the
- * complex things will be done by the function after...
- *
- */
-
-static void add_style(unsigned char style)
-{
- gregorio_begin_style(&current_character, style);
-}
-
-static void end_style(unsigned char style)
-{
- gregorio_end_style(&current_character, style);
-}
-
-/*
- * add_text is the function called when lex returns a char *. In
- * this function we convert it into grewchar, and then we add the corresponding
- * gregorio_characters in the list of gregorio_characters.
- */
-
-static void add_text(char *mbcharacters)
-{
- if (!current_character) {
- /* insert open styles, leaving out ELISION on purpose */
- if (styles & SB_I) {
- add_style(ST_ITALIC);
- }
- if (styles & SB_B) {
- add_style(ST_BOLD);
- }
- if (styles & SB_TT) {
- add_style(ST_TT);
- }
- if (styles & SB_SC) {
- add_style(ST_SMALL_CAPS);
- }
- if (styles & SB_UL) {
- add_style(ST_UNDERLINED);
- }
- if (styles & SB_C) {
- add_style(ST_COLORED);
- }
- }
- if (current_character) {
- current_character->next_character = gregorio_build_char_list_from_buf(
- mbcharacters);
- current_character->next_character->previous_character =
- current_character;
- } else {
- current_character = gregorio_build_char_list_from_buf(mbcharacters);
- }
- while (current_character && current_character->next_character) {
- current_character = current_character->next_character;
- }
- free(mbcharacters);
+ clear_syllable_text = false;
+ has_protrusion = false;
}
void gabc_digest(const void *const buf, const size_t size)
@@ -558,7 +645,7 @@ void gabc_digest(const void *const buf, const size_t size)
* aleady open. It returns a valid gregorio_score
*/
-gregorio_score *gabc_read_score(FILE *f_in)
+gregorio_score *gabc_read_score(FILE *f_in, bool point_and_click)
{
/* compute the SHA-1 digest while parsing, for I/O efficiency */
sha1_init_ctx(&digester);
@@ -569,21 +656,23 @@ gregorio_score *gabc_read_score(FILE *f_in)
gabc_score_determination_in = f_in;
gregorio_assert(f_in, gabc_read_score, "can't read stream from NULL",
return NULL);
- initialize_variables();
+ initialize_variables(point_and_click);
/* the flex/bison main call, it will build the score (that we have
* initialized) */
gabc_score_determination_parse();
if (!score->legacy_oriscus_orientation) {
- determine_oriscus_orientation(score);
+ gabc_determine_oriscus_orientation(score);
}
- determine_punctum_inclinatum_orientation(score);
+ gabc_determine_punctum_inclinatum_orientation(score);
+ gabc_determine_ledger_lines(score);
gregorio_fix_initial_keys(score, gregorio_default_clef);
rebuild_score_characters();
- fix_custos(score);
+ gabc_suppress_extra_custos_at_linebreak(score);
+ gabc_fix_custos_pitches(score);
gabc_det_notes_finish();
free_variables();
/* then we check the validity and integrity of the score we have built. */
- if (!check_score_integrity(score)) {
+ if (!gabc_check_score_integrity(score)) {
gregorio_message(_("unable to determine a valid score from file"),
"gabc_read_score", VERBOSITY_ERROR, 0);
}
@@ -629,7 +718,14 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
}
}
-#line 633 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */
+static char *concatenate(char *first, char *const second) {
+ first = (char *)gregorio_realloc(first, strlen(first) + strlen(second) + 1);
+ strcat(first, second);
+ free(second);
+ return first;
+}
+
+#line 729 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
@@ -677,51 +773,53 @@ extern int gabc_score_determination_debug;
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
+ END_OF_DEFINITIONS = 271,
+ END_OF_FILE = 272,
+ COLON = 273,
+ SEMICOLON = 274,
+ CHARACTERS = 275,
+ NOTES = 276,
+ HYPHEN = 277,
+ ATTRIBUTE = 278,
+ OPENING_BRACKET = 279,
+ CLOSING_BRACKET = 280,
+ CLOSING_BRACKET_WITH_SPACE = 281,
+ I_BEGIN = 282,
+ I_END = 283,
+ TT_BEGIN = 284,
+ TT_END = 285,
+ UL_BEGIN = 286,
+ UL_END = 287,
+ C_BEGIN = 288,
+ C_END = 289,
+ B_BEGIN = 290,
+ B_END = 291,
+ SC_BEGIN = 292,
+ SC_END = 293,
+ SP_BEGIN = 294,
+ SP_END = 295,
+ VERB_BEGIN = 296,
+ VERB_END = 297,
+ CENTER_BEGIN = 298,
+ CENTER_END = 299,
+ ELISION_BEGIN = 300,
+ ELISION_END = 301,
+ TRANSLATION_BEGIN = 302,
+ TRANSLATION_END = 303,
+ TRANSLATION_CENTER_END = 304,
+ ALT_BEGIN = 305,
+ ALT_END = 306,
+ NLBA_B = 307,
+ NLBA_E = 308,
+ EUOUAE_B = 309,
+ EUOUAE_E = 310,
+ NABC_CUT = 311,
+ NABC_LINES = 312,
+ CLEAR = 313,
+ PROTRUSION = 314,
+ PROTRUSION_VALUE = 315,
+ PROTRUSION_END = 316,
+ PROTRUDING_PUNCTUATION = 317
};
#endif
/* Tokens. */
@@ -738,51 +836,53 @@ extern int gabc_score_determination_debug;
#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
+#define END_OF_DEFINITIONS 271
+#define END_OF_FILE 272
+#define COLON 273
+#define SEMICOLON 274
+#define CHARACTERS 275
+#define NOTES 276
+#define HYPHEN 277
+#define ATTRIBUTE 278
+#define OPENING_BRACKET 279
+#define CLOSING_BRACKET 280
+#define CLOSING_BRACKET_WITH_SPACE 281
+#define I_BEGIN 282
+#define I_END 283
+#define TT_BEGIN 284
+#define TT_END 285
+#define UL_BEGIN 286
+#define UL_END 287
+#define C_BEGIN 288
+#define C_END 289
+#define B_BEGIN 290
+#define B_END 291
+#define SC_BEGIN 292
+#define SC_END 293
+#define SP_BEGIN 294
+#define SP_END 295
+#define VERB_BEGIN 296
+#define VERB_END 297
+#define CENTER_BEGIN 298
+#define CENTER_END 299
+#define ELISION_BEGIN 300
+#define ELISION_END 301
+#define TRANSLATION_BEGIN 302
+#define TRANSLATION_END 303
+#define TRANSLATION_CENTER_END 304
+#define ALT_BEGIN 305
+#define ALT_END 306
+#define NLBA_B 307
+#define NLBA_E 308
+#define EUOUAE_B 309
+#define EUOUAE_E 310
+#define NABC_CUT 311
+#define NABC_LINES 312
+#define CLEAR 313
+#define PROTRUSION 314
+#define PROTRUSION_VALUE 315
+#define PROTRUSION_END 316
+#define PROTRUDING_PUNCTUATION 317
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -814,7 +914,7 @@ int gabc_score_determination_parse (void);
/* Copy the second part of user declarations. */
-#line 818 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */
+#line 918 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -1058,21 +1158,21 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 4
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 166
+#define YYLAST 247
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 61
+#define YYNTOKENS 63
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 23
+#define YYNNTS 28
/* YYNRULES -- Number of rules. */
-#define YYNRULES 81
+#define YYNRULES 101
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 115
+#define YYNSTATES 145
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 315
+#define YYMAXUTOK 317
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1112,22 +1212,24 @@ 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
+ 55, 56, 57, 58, 59, 60, 61, 62
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 597, 597, 601, 606, 607, 611, 615, 621, 626,
- 635, 641, 646, 651, 656, 661, 666, 674, 682, 692,
- 701, 706, 710, 715, 716, 720, 725, 731, 742, 746,
- 754, 755, 756, 760, 763, 766, 769, 772, 775, 778,
- 781, 784, 787, 796, 799, 802, 805, 808, 811, 814,
- 817, 820, 823, 832, 835, 841, 844, 850, 851, 854,
- 855, 856, 857, 861, 864, 869, 870, 871, 875, 881,
- 884, 890, 896, 901, 909, 912, 921, 924, 930, 931,
- 934, 935
+ 0, 700, 700, 704, 709, 710, 714, 717, 723, 726,
+ 732, 737, 746, 752, 757, 762, 767, 772, 777, 785,
+ 793, 802, 807, 811, 816, 817, 821, 826, 832, 843,
+ 847, 855, 856, 857, 861, 864, 867, 870, 873, 876,
+ 879, 882, 888, 891, 894, 897, 900, 903, 906, 909,
+ 915, 918, 935, 938, 951, 954, 960, 963, 969, 972,
+ 978, 979, 982, 983, 984, 985, 986, 987, 988, 991,
+ 992, 995, 1001, 1002, 1006, 1009, 1010, 1011, 1014, 1020,
+ 1021, 1025, 1031, 1034, 1037, 1044, 1050, 1054, 1061, 1068,
+ 1073, 1078, 1082, 1089, 1096, 1101, 1109, 1112, 1118, 1119,
+ 1122, 1123
};
#endif
@@ -1139,19 +1241,21 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "NAME", "AUTHOR", "GABC_COPYRIGHT",
"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",
+ "MODE_DIFFERENTIA", "END_OF_DEFINITIONS", "END_OF_FILE", "COLON",
+ "SEMICOLON", "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_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", "CLEAR", "PROTRUSION",
+ "PROTRUSION_VALUE", "PROTRUSION_END", "PROTRUDING_PUNCTUATION",
+ "$accept", "score", "all_definitions", "definitions", "attribute_value",
+ "attribute", "definition", "notes", "note", "closing_bracket_with_space",
+ "style_beginning", "style_end", "special_style_beginning",
+ "special_style_end", "euouae", "linebreak_area", "protrusion",
+ "character", "text", "translation_character", "translation_text",
"translation_beginning", "translation", "above_line_text",
"syllable_with_notes", "notes_without_word", "syllable", "syllables", YY_NULLPTR
};
@@ -1168,36 +1272,39 @@ 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
+ 315, 316, 317
};
# endif
-#define YYPACT_NINF -52
+#define YYPACT_NINF -85
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-52)))
+ (!!((Yystate) == (-85)))
-#define YYTABLE_NINF -3
+#define YYTABLE_NINF -1
#define yytable_value_is_error(Yytable_value) \
0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-static const yytype_int8 yypact[] =
+static const yytype_int16 yypact[] =
{
- -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
+ -85, 11, -85, 69, -85, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -85,
+ 0, -85, -85, -20, -85, -85, -85, -85, -85, -85,
+ -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
+ -85, -85, -85, -85, -85, -85, -85, 4, -85, -85,
+ -85, -85, -85, -41, -19, -85, -85, -85, -85, -85,
+ -85, -85, -85, 107, 148, -4, -85, -85, -85, -85,
+ -7, -85, -85, -85, -85, -85, -85, -85, -85, -85,
+ -85, -85, -85, -85, -85, -85, 1, -11, -17, -29,
+ -85, 9, -2, -85, -1, -85, 13, -85, -85, -85,
+ -85, -85, -85, -85, 184, -85, -85, -85, -6, -11,
+ -85, -18, 27, 32, -85, -85, -85, -85, -11, -85,
+ -85, 26, -11, -85, 28, -85, -85, -85, -11, -85,
+ -85, -11, 27, -85, -85, -85, -85, -11, -11, -85,
+ -11, -85, -11, -11, -11
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1205,124 +1312,150 @@ static const yytype_int8 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 80, 0, 1, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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
+ 4, 0, 100, 0, 1, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 0, 5, 61, 70, 24, 34, 42, 35, 43, 36,
+ 44, 37, 45, 38, 46, 39, 47, 41, 49, 40,
+ 48, 51, 53, 50, 52, 81, 84, 0, 56, 57,
+ 54, 55, 68, 59, 71, 62, 63, 64, 65, 67,
+ 66, 69, 72, 0, 0, 0, 60, 98, 99, 101,
+ 0, 11, 21, 13, 14, 12, 18, 22, 10, 23,
+ 20, 15, 16, 17, 19, 24, 0, 96, 0, 0,
+ 24, 0, 70, 24, 71, 73, 0, 74, 77, 82,
+ 78, 75, 76, 79, 0, 24, 9, 6, 0, 87,
+ 24, 0, 29, 31, 25, 30, 85, 58, 89, 24,
+ 24, 0, 86, 24, 0, 24, 83, 80, 97, 8,
+ 7, 92, 26, 28, 27, 33, 32, 94, 88, 24,
+ 90, 24, 91, 93, 95
};
/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int8 yypgoto[] =
+static const yytype_int16 yypgoto[] =
{
- -52, -52, -52, -52, 15, -52, -51, -52, -30, -52,
- -52, -52, -52, -21, -52, 35, -52, -5, -52, -52,
- -52, -52, -52
+ -85, -85, -85, -85, -85, 227, -85, -84, -85, -60,
+ -62, -61, -85, -85, -85, -85, -85, -10, -85, -50,
+ -85, -85, -23, -85, -85, -85, -85, -85
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int8 yydefgoto[] =
{
- -1, 1, 2, 3, 33, 22, 48, 92, 93, 77,
- 78, 79, 80, 81, 82, 26, 27, 28, 84, 29,
- 30, 31, 5
+ -1, 1, 2, 3, 108, 71, 21, 87, 114, 115,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 103,
+ 104, 64, 65, 66, 67, 68, 69, 5
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
-static const yytype_int8 yytable[] =
+static const yytype_uint8 yytable[] =
{
- 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
+ 86, 109, 101, 102, 85, 90, 118, 132, 113, 122,
+ 111, 4, 106, 129, 112, 113, 107, 130, 70, 89,
+ 105, 128, 120, 123, 88, 110, 131, 45, 45, 46,
+ 46, 91, 117, 119, 116, 137, 138, 125, 133, 140,
+ 96, 142, 101, 102, 135, 45, 45, 46, 46, 136,
+ 139, 134, 141, 95, 127, 143, 0, 144, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
+ 0, 124, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 22, 0, 23, 0,
+ 24, 0, 0, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 0, 46, 47, 0, 48, 49,
+ 50, 51, 0, 0, 52, 53, 20, 22, 54, 92,
+ 0, 93, 0, 0, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 0, 46, 47, 0, 48,
+ 49, 50, 51, 0, 0, 52, 53, 0, 97, 94,
+ 98, 0, 0, 0, 0, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 0, 0, 0, 0, 0, 99, 0, 0, 0,
+ 0, 0, 0, 0, 97, 0, 98, 0, 0, 0,
+ 100, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 0, 0, 0,
+ 0, 0, 126, 0, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 100, 84
};
-static const yytype_int8 yycheck[] =
+static const yytype_int16 yycheck[] =
{
- 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,
+ 23, 85, 64, 64, 24, 24, 90, 25, 26, 93,
+ 21, 0, 19, 19, 25, 26, 23, 23, 18, 60,
+ 24, 105, 24, 24, 20, 24, 110, 47, 47, 49,
+ 49, 54, 61, 24, 51, 119, 120, 24, 56, 123,
+ 63, 125, 104, 104, 17, 47, 47, 49, 49, 17,
+ 24, 111, 24, 63, 104, 139, -1, 141, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 92,
+ -1, 94, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 20, -1, 22, -1,
+ 24, -1, -1, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, -1, 49, 50, -1, 52, 53,
+ 54, 55, -1, -1, 58, 59, 57, 20, 62, 22,
+ -1, 24, -1, -1, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, -1, 49, 50, -1, 52,
+ 53, 54, 55, -1, -1, 58, 59, -1, 20, 62,
+ 22, -1, -1, -1, -1, 27, 28, 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
+ 42, -1, -1, -1, -1, -1, 48, -1, -1, -1,
+ -1, -1, -1, -1, 20, -1, 22, -1, -1, -1,
+ 62, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, -1, -1, -1,
+ -1, -1, 48, -1, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 62, 20
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 62, 63, 64, 0, 83, 3, 4, 5, 6,
+ 0, 64, 65, 66, 0, 90, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 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
+ 57, 69, 20, 22, 24, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 49, 50, 52, 53,
+ 54, 55, 58, 59, 62, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 84, 85, 86, 87, 88, 89,
+ 18, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 24, 85, 70, 20, 60,
+ 24, 85, 22, 24, 62, 80, 85, 20, 22, 48,
+ 62, 73, 74, 82, 83, 24, 19, 23, 67, 70,
+ 24, 21, 25, 26, 71, 72, 51, 61, 70, 24,
+ 24, 85, 70, 24, 85, 24, 48, 82, 70, 19,
+ 23, 70, 25, 56, 72, 17, 17, 70, 70, 24,
+ 70, 24, 70, 70, 70
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 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
+ 0, 63, 64, 65, 66, 66, 67, 67, 68, 68,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 70, 70, 71, 71, 71, 71,
+ 71, 72, 72, 72, 73, 73, 73, 73, 73, 73,
+ 73, 73, 74, 74, 74, 74, 74, 74, 74, 74,
+ 75, 75, 76, 76, 77, 77, 78, 78, 79, 79,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 81, 81, 82, 82, 82, 82, 82, 83,
+ 83, 84, 85, 85, 85, 86, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 88, 88, 89, 89,
+ 90, 90
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
- 0, 2, 2, 2, 0, 2, 3, 2, 2, 2,
+ 0, 2, 2, 2, 0, 2, 1, 2, 3, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 0, 2, 2, 2, 2, 1, 1,
- 1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 2, 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, 3, 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,
+ 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
+ 2, 1, 2, 3, 1, 3, 3, 3, 4, 3,
+ 4, 4, 4, 5, 4, 5, 2, 3, 1, 1,
0, 2
};
@@ -1909,7 +2042,7 @@ yyparse (void)
yychar = YYEMPTY; /* Cause a token to be read. */
/* User initialization code. */
-#line 559 "gabc/gabc-score-determination.y" /* yacc.c:1429 */
+#line 655 "gabc/gabc-score-determination.y" /* yacc.c:1429 */
{
yylloc.first_line = 1;
yylloc.first_column = 0;
@@ -1917,9 +2050,10 @@ yyparse (void)
yylloc.last_line = 1;
yylloc.last_column = 0;
yylloc.last_offset = 0;
+ yylloc.generate_point_and_click = generate_point_and_click;
}
-#line 1923 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */
+#line 2057 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */
yylsp[0] = yylloc;
goto yysetstate;
@@ -2106,41 +2240,57 @@ yyreduce:
switch (yyn)
{
case 3:
-#line 601 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 704 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
end_definitions();
}
-#line 2114 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2248 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 6:
-#line 611 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 714 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- (yyval).text = (yyvsp[-1]).text;
+ (yyval).text = (yyvsp[0]).text;
}
-#line 2122 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2256 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 7:
-#line 615 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 717 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- (yyval).text = NULL;
+ (yyval).text = concatenate((yyvsp[-1]).text, (yyvsp[0]).text);
}
-#line 2130 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2264 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 8:
-#line 621 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 723 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ (yyval).text = (yyvsp[-1]).text;
+ }
+#line 2272 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 9:
+#line 726 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ (yyval).text = NULL;
+ }
+#line 2280 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 10:
+#line 732 "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 2140 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2290 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 9:
-#line 626 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 11:
+#line 737 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if ((yyvsp[0]).text == NULL) {
gregorio_message("name can't be empty","det_score",
@@ -2150,72 +2300,72 @@ yyreduce:
gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
score->name = (yyvsp[0]).text;
}
-#line 2154 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2304 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 10:
-#line 635 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 12:
+#line 746 "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 2165 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2315 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 11:
-#line 641 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 13:
+#line 752 "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 2175 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2325 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 12:
-#line 646 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 14:
+#line 757 "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 2185 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2335 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 13:
-#line 651 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 15:
+#line 762 "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 2195 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2345 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 14:
-#line 656 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 16:
+#line 767 "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 2205 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2355 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 15:
-#line 661 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 17:
+#line 772 "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 2215 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2365 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 16:
-#line 666 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 18:
+#line 777 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("staff-lines", got_staff_lines);
if ((yyvsp[0]).text) {
@@ -2224,11 +2374,11 @@ yyreduce:
got_staff_lines = true;
}
}
-#line 2228 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2378 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 17:
-#line 674 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 19:
+#line 785 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("nabc lines", score->nabc_lines != 0);
if ((yyvsp[0]).text) {
@@ -2237,26 +2387,11 @@ yyreduce:
score->nabc_lines=nabc_lines;
}
}
-#line 2241 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2391 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 18:
-#line 682 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- if ((yyvsp[0]).text) {
- /* DEPRECATED for removal in 5.0 */
- gregorio_message("\"initial-style\" header is deprecated. Please "
- "use \\gresetinitiallines in TeX instead.",
- "gabc_score_determination_parse", VERBOSITY_DEPRECATION, 0);
- score->initial_style = atoi((yyvsp[0]).text);
- free((yyvsp[0]).text);
- }
- }
-#line 2256 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 19:
-#line 692 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 20:
+#line 793 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (score->annotation [MAX_ANNOTATIONS - 1]) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
@@ -2266,59 +2401,59 @@ yyreduce:
gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
gregorio_set_score_annotation(score, (yyvsp[0]).text);
}
-#line 2270 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2405 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 20:
-#line 701 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 21:
+#line 802 "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 2280 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2415 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 21:
-#line 706 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 22:
+#line 807 "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 2289 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2424 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 22:
-#line 710 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 23:
+#line 811 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
}
-#line 2297 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2432 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 25:
-#line 720 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 26:
+#line 821 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
free((yyvsp[-1]).text);
nabc_state=0;
}
-#line 2307 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2442 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 26:
-#line 725 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 27:
+#line 826 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
free((yyvsp[-1]).text);
nabc_state=0;
update_position_with_space();
}
-#line 2318 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2453 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 27:
-#line 731 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 28:
+#line 832 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (!nabc_lines) {
gregorio_message(_("You used character \"|\" in gabc without "
@@ -2330,342 +2465,475 @@ yyreduce:
free((yyvsp[-1]).text);
nabc_state = (nabc_state + 1) % (nabc_lines+1);
}
-#line 2334 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2469 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 28:
-#line 742 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 29:
+#line 843 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
elements[voice]=NULL;
nabc_state=0;
}
-#line 2343 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2478 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 29:
-#line 746 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 30:
+#line 847 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
elements[voice]=NULL;
nabc_state=0;
update_position_with_space();
}
-#line 2353 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 33:
-#line 760 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- add_style(ST_ITALIC);
- }
-#line 2361 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2488 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 34:
-#line 763 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 861 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_TT);
+ add_style(ST_ITALIC);
}
-#line 2369 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2496 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 35:
-#line 766 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 864 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_UNDERLINED);
+ add_style(ST_TT);
}
-#line 2377 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2504 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 36:
-#line 769 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 867 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_COLORED);
+ add_style(ST_UNDERLINED);
}
-#line 2385 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2512 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 37:
-#line 772 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 870 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_BOLD);
+ add_style(ST_COLORED);
}
-#line 2393 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2520 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 38:
-#line 775 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 873 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_SMALL_CAPS);
+ add_style(ST_BOLD);
}
-#line 2401 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2528 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 39:
-#line 778 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 876 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_VERBATIM);
+ add_style(ST_SMALL_CAPS);
}
-#line 2409 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2536 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 40:
-#line 781 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 879 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_SPECIAL_CHAR);
+ add_style(ST_VERBATIM);
}
-#line 2417 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2544 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 41:
-#line 784 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 882 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- add_style(ST_ELISION);
+ add_style(ST_SPECIAL_CHAR);
}
-#line 2425 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2552 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 42:
-#line 787 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 888 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- if (!center_is_determined) {
- add_style(ST_FORCED_CENTER);
- center_is_determined=CENTER_HALF_DETERMINED;
- }
+ end_style(ST_ITALIC);
}
-#line 2436 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2560 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 43:
-#line 796 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 891 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_ITALIC);
+ end_style(ST_TT);
}
-#line 2444 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2568 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 44:
-#line 799 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 894 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_TT);
+ end_style(ST_UNDERLINED);
}
-#line 2452 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2576 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 45:
-#line 802 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 897 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_UNDERLINED);
+ end_style(ST_COLORED);
}
-#line 2460 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2584 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 46:
-#line 805 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 900 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_COLORED);
+ end_style(ST_BOLD);
}
-#line 2468 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2592 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 47:
-#line 808 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 903 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_BOLD);
+ end_style(ST_SMALL_CAPS);
}
-#line 2476 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2600 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 48:
-#line 811 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 906 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_SMALL_CAPS);
+ end_style(ST_VERBATIM);
}
-#line 2484 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2608 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 49:
-#line 814 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 909 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_VERBATIM);
+ end_style(ST_SPECIAL_CHAR);
}
-#line 2492 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2616 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 50:
-#line 817 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 915 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- end_style(ST_SPECIAL_CHAR);
+ add_style(ST_ELISION);
}
-#line 2500 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2624 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 51:
-#line 820 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 918 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ if (center_is_determined) {
+ gregorio_message(
+ "syllable already has center; ignoring additional center",
+ "det_score", VERBOSITY_WARNING, 0);
+ } else if (has_protrusion) {
+ gregorio_message(
+ "center not allowed after protrusion; ignored",
+ "det_score", VERBOSITY_WARNING, 0);
+ } else {
+ add_style(ST_FORCED_CENTER);
+ center_is_determined = CENTER_HALF_DETERMINED;
+ }
+ }
+#line 2643 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 52:
+#line 935 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
end_style(ST_ELISION);
}
-#line 2508 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2651 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 52:
-#line 823 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 53:
+#line 938 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- if (center_is_determined==CENTER_HALF_DETERMINED) {
+ if (center_is_determined == CENTER_HALF_DETERMINED) {
end_style(ST_FORCED_CENTER);
- center_is_determined=CENTER_FULLY_DETERMINED;
+ center_is_determined = CENTER_FULLY_DETERMINED;
+ } else {
+ gregorio_message(
+ "not within a syllable center",
+ "det_score", VERBOSITY_WARNING, 0);
}
}
-#line 2519 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2666 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 53:
-#line 832 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 54:
+#line 951 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
euouae = EUOUAE_BEGINNING;
}
-#line 2527 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2674 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 54:
-#line 835 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 55:
+#line 954 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
euouae = EUOUAE_END;
}
-#line 2535 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2682 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 55:
-#line 841 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 56:
+#line 960 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
no_linebreak_area = NLBA_BEGINNING;
}
-#line 2543 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2690 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 56:
-#line 844 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 57:
+#line 963 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
no_linebreak_area = NLBA_END;
}
-#line 2551 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2698 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 58:
-#line 851 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 969 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_protrusion((yyvsp[-1]).text);
+ }
+#line 2706 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 59:
+#line 972 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_protrusion(gregorio_strdup("d")); /* d = default */
+ }
+#line 2714 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 61:
+#line 979 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
add_text((yyvsp[0]).text);
}
-#line 2559 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2722 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 63:
-#line 861 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 68:
+#line 988 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ clear_syllable_text = true;
+ }
+#line 2730 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 70:
+#line 992 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
add_text(gregorio_strdup("-"));
}
-#line 2567 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2738 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 64:
-#line 864 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 71:
+#line 995 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_text((yyvsp[0]).text);
+ }
+#line 2746 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 74:
+#line 1006 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_text((yyvsp[0]).text);
+ }
+#line 2754 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 77:
+#line 1011 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
add_text(gregorio_strdup("-"));
}
-#line 2575 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2762 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 68:
-#line 875 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 78:
+#line 1014 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_text((yyvsp[0]).text);
+ }
+#line 2770 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 81:
+#line 1025 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
start_translation(TR_NORMAL);
}
-#line 2583 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2778 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 69:
-#line 881 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 82:
+#line 1031 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
end_translation();
}
-#line 2591 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2786 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 70:
-#line 884 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 83:
+#line 1034 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ end_translation();
+ }
+#line 2794 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 84:
+#line 1037 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
start_translation(TR_WITH_CENTER_END);
+ end_translation();
}
-#line 2599 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2803 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 71:
-#line 890 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 85:
+#line 1044 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
abovelinestext = (yyvsp[-1]).text;
}
-#line 2607 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2811 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 72:
-#line 896 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 86:
+#line 1050 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- ready_characters();
- first_text_character = current_character;
+ save_text();
close_syllable(&(yylsp[-2]));
}
-#line 2617 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2820 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 73:
-#line 901 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 87:
+#line 1054 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
add_style(ST_VERBATIM);
add_text(gregorio_strdup("\\GreForceHyphen"));
end_style(ST_VERBATIM);
- ready_characters();
- first_text_character = current_character;
+ save_text();
+ close_syllable(&(yylsp[-2]));
+ }
+#line 2832 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 88:
+#line 1061 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_style(ST_VERBATIM);
+ add_text(gregorio_strdup("\\GreForceHyphen"));
+ end_style(ST_VERBATIM);
+ save_text();
close_syllable(&(yylsp[-3]));
}
-#line 2630 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2844 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 74:
-#line 909 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 89:
+#line 1068 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_auto_protrusion((yyvsp[-2]).text);
+ save_text();
+ close_syllable(&(yylsp[-2]));
+ }
+#line 2854 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 90:
+#line 1073 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
+ add_auto_protrusion((yyvsp[-2]).text);
+ save_text();
close_syllable(&(yylsp[-3]));
}
-#line 2638 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2864 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 75:
-#line 912 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 91:
+#line 1078 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ save_text();
+ close_syllable(&(yylsp[-3]));
+ }
+#line 2873 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 92:
+#line 1082 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_style(ST_VERBATIM);
+ add_text(gregorio_strdup("\\GreForceHyphen"));
+ end_style(ST_VERBATIM);
+ save_text();
+ close_syllable(&(yylsp[-3]));
+ }
+#line 2885 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 93:
+#line 1089 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
add_style(ST_VERBATIM);
add_text(gregorio_strdup("\\GreForceHyphen"));
end_style(ST_VERBATIM);
+ save_text();
+ close_syllable(&(yylsp[-4]));
+ }
+#line 2897 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 94:
+#line 1096 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_auto_protrusion((yyvsp[-3]).text);
+ save_text();
+ close_syllable(&(yylsp[-3]));
+ }
+#line 2907 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 95:
+#line 1101 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ add_auto_protrusion((yyvsp[-3]).text);
+ save_text();
close_syllable(&(yylsp[-4]));
}
-#line 2649 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2917 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 76:
-#line 921 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 96:
+#line 1109 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
close_syllable(NULL);
}
-#line 2657 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2925 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 77:
-#line 924 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 97:
+#line 1112 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
close_syllable(NULL);
}
-#line 2665 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2933 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
-#line 2669 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2937 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h
index 123dbc1c3a7..9c8fcbc7675 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h
@@ -58,51 +58,53 @@ extern int gabc_score_determination_debug;
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
+ END_OF_DEFINITIONS = 271,
+ END_OF_FILE = 272,
+ COLON = 273,
+ SEMICOLON = 274,
+ CHARACTERS = 275,
+ NOTES = 276,
+ HYPHEN = 277,
+ ATTRIBUTE = 278,
+ OPENING_BRACKET = 279,
+ CLOSING_BRACKET = 280,
+ CLOSING_BRACKET_WITH_SPACE = 281,
+ I_BEGIN = 282,
+ I_END = 283,
+ TT_BEGIN = 284,
+ TT_END = 285,
+ UL_BEGIN = 286,
+ UL_END = 287,
+ C_BEGIN = 288,
+ C_END = 289,
+ B_BEGIN = 290,
+ B_END = 291,
+ SC_BEGIN = 292,
+ SC_END = 293,
+ SP_BEGIN = 294,
+ SP_END = 295,
+ VERB_BEGIN = 296,
+ VERB_END = 297,
+ CENTER_BEGIN = 298,
+ CENTER_END = 299,
+ ELISION_BEGIN = 300,
+ ELISION_END = 301,
+ TRANSLATION_BEGIN = 302,
+ TRANSLATION_END = 303,
+ TRANSLATION_CENTER_END = 304,
+ ALT_BEGIN = 305,
+ ALT_END = 306,
+ NLBA_B = 307,
+ NLBA_E = 308,
+ EUOUAE_B = 309,
+ EUOUAE_E = 310,
+ NABC_CUT = 311,
+ NABC_LINES = 312,
+ CLEAR = 313,
+ PROTRUSION = 314,
+ PROTRUSION_VALUE = 315,
+ PROTRUSION_END = 316,
+ PROTRUDING_PUNCTUATION = 317
};
#endif
/* Tokens. */
@@ -119,51 +121,53 @@ extern int gabc_score_determination_debug;
#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
+#define END_OF_DEFINITIONS 271
+#define END_OF_FILE 272
+#define COLON 273
+#define SEMICOLON 274
+#define CHARACTERS 275
+#define NOTES 276
+#define HYPHEN 277
+#define ATTRIBUTE 278
+#define OPENING_BRACKET 279
+#define CLOSING_BRACKET 280
+#define CLOSING_BRACKET_WITH_SPACE 281
+#define I_BEGIN 282
+#define I_END 283
+#define TT_BEGIN 284
+#define TT_END 285
+#define UL_BEGIN 286
+#define UL_END 287
+#define C_BEGIN 288
+#define C_END 289
+#define B_BEGIN 290
+#define B_END 291
+#define SC_BEGIN 292
+#define SC_END 293
+#define SP_BEGIN 294
+#define SP_END 295
+#define VERB_BEGIN 296
+#define VERB_END 297
+#define CENTER_BEGIN 298
+#define CENTER_END 299
+#define ELISION_BEGIN 300
+#define ELISION_END 301
+#define TRANSLATION_BEGIN 302
+#define TRANSLATION_END 303
+#define TRANSLATION_CENTER_END 304
+#define ALT_BEGIN 305
+#define ALT_END 306
+#define NLBA_B 307
+#define NLBA_E 308
+#define EUOUAE_B 309
+#define EUOUAE_E 310
+#define NABC_CUT 311
+#define NABC_LINES 312
+#define CLEAR 313
+#define PROTRUSION 314
+#define PROTRUSION_VALUE 315
+#define PROTRUSION_END 316
+#define PROTRUDING_PUNCTUATION 317
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c
index b6659c18499..433c29f7df0 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c
@@ -3,7 +3,7 @@
* This file implements the score parser.
*
* Gregorio score determination from gabc utilities.
- * Copyright (C) 2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2016-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -24,6 +24,7 @@
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <assert.h>
#include "bool.h"
#include "struct.h"
@@ -31,64 +32,116 @@
#include "gabc.h"
#include "gabc-score-determination.h"
#include "messages.h"
+#include "support.h"
-void fix_custos(gregorio_score *score_to_check)
+void gabc_suppress_extra_custos_at_linebreak(gregorio_score *score)
+{
+ gregorio_syllable *syllable;
+ gregorio_element **custos = NULL;
+
+ for (syllable = score->first_syllable; syllable;
+ syllable = syllable->next_syllable) {
+ gregorio_element **element;
+ for (element = syllable->elements; element && *element;
+ element = &((*element)->next)) {
+ switch ((*element)->type) {
+ case GRE_CUSTOS:
+ if (!((*element)->u.misc.pitched.force_pitch)) {
+ /* save the encountered non-forced custos */
+ custos = element;
+ } else {
+ /* forget the (previous) custos */
+ custos = NULL;
+ }
+ break;
+ case GRE_CLEF:
+ case GRE_BAR:
+ /* remember the custos if only these appear before linebreak */
+ break;
+ case GRE_END_OF_LINE:
+ if (custos) {
+ /* suppress the custos when linebreak follows */
+ gregorio_free_one_element(custos);
+ }
+ /* fall through */
+ default:
+ /* forget the custos */
+ custos = NULL;
+ break;
+ }
+ }
+ }
+}
+
+void gabc_fix_custos_pitches(gregorio_score *score_to_check)
{
gregorio_syllable *current_syllable;
gregorio_element *current_element;
- gregorio_element *custo_element;
- char pitch = 0;
- char pitch_difference = 0;
+ gregorio_element *custos_element;
int newkey;
int current_key;
+
if (!score_to_check || !score_to_check->first_syllable
|| !score_to_check->first_voice_info) {
return;
}
+
current_key = gregorio_calculate_new_key(
score_to_check->first_voice_info->initial_clef);
- current_syllable = score_to_check->first_syllable;
- while (current_syllable) {
- current_element = (current_syllable->elements)[0];
- while (current_element) {
- if (current_element->type == GRE_CUSTOS) {
- custo_element = current_element;
- pitch = custo_element->u.misc.pitched.pitch;
- /* we look for the key */
- while (current_element) {
- if (current_element->type == GRE_CLEF) {
- pitch = gregorio_determine_next_pitch(current_syllable,
- current_element, NULL, NULL);
- newkey = gregorio_calculate_new_key(
- current_element->u.misc.clef);
- pitch_difference = (char) newkey - (char) current_key;
- pitch -= pitch_difference;
- current_key = newkey;
- }
- if (!custo_element->u.misc.pitched.force_pitch) {
- while (pitch < LOWEST_PITCH) {
- pitch += 7;
- }
- while (pitch > score_to_check->highest_pitch) {
- pitch -= 7;
- }
- custo_element->u.misc.pitched.pitch = pitch;
- }
- assert(custo_element->u.misc.pitched.pitch >= LOWEST_PITCH
- && custo_element->u.misc.pitched.pitch
- <= score_to_check->highest_pitch);
- current_element = current_element->next;
- }
+ for (current_syllable = score_to_check->first_syllable; current_syllable;
+ current_syllable = current_syllable->next_syllable) {
+ for (current_element = (current_syllable->elements)[0]; current_element;
+ current_element = current_element->next) {
+ if (current_element->type == GRE_CLEF) {
+ newkey = gregorio_calculate_new_key(
+ current_element->u.misc.clef);
+ current_element->u.misc.clef.pitch_difference =
+ (signed char) newkey - (signed char) current_key;
+ current_key = newkey;
}
- if (current_element) {
- if (current_element->type == GRE_CLEF) {
- current_key = gregorio_calculate_new_key(
- current_element->u.misc.clef);
+ }
+ }
+
+ custos_element = NULL;
+ for (current_syllable = score_to_check->first_syllable; current_syllable;
+ current_syllable = current_syllable->next_syllable) {
+ for (current_element = (current_syllable->elements)[0]; current_element;
+ current_element = current_element->next) {
+ switch (current_element->type) {
+ case GRE_CUSTOS:
+ if (current_element->u.misc.pitched.force_pitch) {
+ /* forget about the preceding custos if a forced one is
+ * encountered */
+ custos_element = NULL;
+ } else {
+ /* the pitch is not forced, so it may need to be adjusted */
+ custos_element = current_element;
+ custos_element->u.misc.pitched.pitch =
+ gregorio_determine_next_pitch(current_syllable,
+ current_element, NULL, NULL);
+ }
+ break;
+
+ case GRE_ELEMENT:
+ /* if it's an element, forget any preceding custos */
+ custos_element = NULL;
+ break;
+
+ case GRE_CLEF:
+ if (custos_element) {
+ /* adjust the preceding custos for the clef */
+ custos_element->u.misc.pitched.pitch =
+ gregorio_adjust_pitch_into_staff(score_to_check,
+ custos_element->u.misc.pitched.pitch
+ - current_element->u.misc.clef.pitch_difference);
}
- current_element = current_element->next;
+ break;
+
+ default:
+ /* to prevent the warning */
+ break;
}
}
- current_syllable = current_syllable->next_syllable;
}
}
@@ -96,7 +149,7 @@ void fix_custos(gregorio_score *score_to_check)
* A function that checks the score integrity.
*/
-bool check_score_integrity(gregorio_score *score_to_check)
+bool gabc_check_score_integrity(gregorio_score *score_to_check)
{
bool good = true;
@@ -144,7 +197,7 @@ bool check_score_integrity(gregorio_score *score_to_check)
* Another function to be improved: this one checks the validity of the voice_infos.
*/
-bool check_infos_integrity(gregorio_score *score_to_check)
+bool gabc_check_infos_integrity(gregorio_score *score_to_check)
{
if (!score_to_check->name) {
gregorio_message(_("no name specified, put `name:...;' at the "
@@ -154,100 +207,100 @@ bool check_infos_integrity(gregorio_score *score_to_check)
return true;
}
-/* data must be (gregorio_note **) */
-static void oriscus_orientation_visit(
- const gregorio_note_iter_position *const p, void *const data)
+static void set_oriscus_descending(const gregorio_note_iter_position *const p,
+ void *const ignored __attribute__((unused)))
{
- gregorio_note *const note = p->note;
- gregorio_note **const oriscus_ptr = (gregorio_note **const)data;
- gregorio_note *const oriscus = *oriscus_ptr;
- /* making oriscus const ensures we don't attempt to change *oriscus_ptr
- * via oriscus */
-
- if (oriscus) {
- if (note->u.note.pitch <= oriscus->u.note.pitch) {
- /* descending or unison */
- switch(oriscus->u.note.shape) {
- case S_ORISCUS_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_DESCENDENS;
- break;
- case S_ORISCUS_SCAPUS_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_SCAPUS_DESCENDENS;
- break;
- case S_ORISCUS_CAVUM_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
- break;
- default:
- /* not reachable unless there's a
- * programming error */
- /* LCOV_EXCL_START */
- gregorio_fail(oriscus_orientation_visit, "bad_shape");
- break;
- /* LCOV_EXCL_STOP */
- }
- } else { /* ascending */
- switch(oriscus->u.note.shape) {
- case S_ORISCUS_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_ASCENDENS;
- break;
- case S_ORISCUS_SCAPUS_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_SCAPUS_ASCENDENS;
- break;
- case S_ORISCUS_CAVUM_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_CAVUM_ASCENDENS;
- break;
- default:
- /* not reachable unless there's a
- * programming error */
- /* LCOV_EXCL_START */
- gregorio_fail(oriscus_orientation_visit, "bad_shape");
- break;
- /* LCOV_EXCL_STOP */
- }
+ switch(p->note->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ p->note->u.note.shape = S_ORISCUS_DESCENDENS;
+ break;
+ case S_ORISCUS_SCAPUS_UNDETERMINED:
+ p->note->u.note.shape = S_ORISCUS_SCAPUS_DESCENDENS;
+ gregorio_assert_only(p->glyph->u.notes.glyph_type
+ != G_PES_DESCENDENS_ORISCUS, set_oriscus_descending,
+ "glyph type should not be G_PES_DESCENDENS_ORISCUS");
+ if (p->glyph->u.notes.glyph_type == G_PES_ASCENDENS_ORISCUS) {
+ p->glyph->u.notes.glyph_type = G_PES_DESCENDENS_ORISCUS;
}
- *oriscus_ptr = NULL;
+ break;
+ default:
+ break;
}
+}
- switch (note->u.note.shape) {
+static void set_oriscus_ascending(const gregorio_note_iter_position *const p,
+ void *const ignored __attribute__((unused)))
+{
+ switch(p->note->u.note.shape) {
case S_ORISCUS_UNDETERMINED:
+ p->note->u.note.shape = S_ORISCUS_ASCENDENS;
+ break;
case S_ORISCUS_SCAPUS_UNDETERMINED:
- case S_ORISCUS_CAVUM_UNDETERMINED:
- *oriscus_ptr = note;
+ p->note->u.note.shape = S_ORISCUS_SCAPUS_ASCENDENS;
+ gregorio_assert_only(p->glyph->u.notes.glyph_type
+ != G_PES_DESCENDENS_ORISCUS, set_oriscus_ascending,
+ "glyph type should not be G_PES_DESCENDENS_ORISCUS");
break;
-
default:
break;
}
}
-void determine_oriscus_orientation(const gregorio_score *const score)
+/* data must be (gregorio_note_iter_position *) */
+static void oriscus_orientation_visit(
+ const gregorio_note_iter_position *const p, void *const data)
{
- gregorio_note *oriscus = NULL;
+ gregorio_note *const note = p->note;
+ gregorio_note_iter_position *const oriscus =
+ (gregorio_note_iter_position *const)data;
- gregorio_for_each_note(score, oriscus_orientation_visit, &oriscus);
+ if (oriscus->note && note->u.note.pitch != oriscus->note->u.note.pitch) {
+ if (note->u.note.pitch <= oriscus->note->u.note.pitch) {
+ /* descending (or undetermined oriscus in unison) */
+ gregorio_from_note_to_note(oriscus, p, false,
+ set_oriscus_descending, NULL, GRESTRUCT_NONE, NULL);
+ } else {
+ /* ascending */
+ gregorio_from_note_to_note(oriscus, p, false,
+ set_oriscus_ascending, NULL, GRESTRUCT_NONE, NULL);
+ }
+ oriscus->syllable = NULL,
+ oriscus->element = NULL,
+ oriscus->note = NULL;
+ oriscus->glyph = NULL;
+ }
- if (oriscus) {
- /* oriscus at the end of the score */
- switch(oriscus->u.note.shape) {
+ if (!oriscus->note) {
+ switch (note->u.note.shape) {
case S_ORISCUS_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_DESCENDENS;
- break;
case S_ORISCUS_SCAPUS_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_SCAPUS_DESCENDENS;
- break;
- case S_ORISCUS_CAVUM_UNDETERMINED:
- oriscus->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
+ *oriscus = *p;
break;
+
default:
- /* not reachable unless there's a programming error */
- /* LCOV_EXCL_START */
- gregorio_fail(determine_oriscus_orientation, "bad_shape");
break;
- /* LCOV_EXCL_STOP */
}
}
}
+void gabc_determine_oriscus_orientation(const gregorio_score *const score)
+{
+ gregorio_note_iter_position oriscus = {
+ /* .syllable = */ NULL,
+ /* .element = */ NULL,
+ /* .glyph = */ NULL,
+ /* .note = */ NULL
+ };
+
+ gregorio_for_each_note(score, oriscus_orientation_visit, NULL,
+ GRESTRUCT_NONE, &oriscus);
+
+ if (oriscus.note) {
+ gregorio_from_note_to_note(&oriscus, NULL, true,
+ set_oriscus_descending, NULL, GRESTRUCT_NONE, NULL);
+ }
+}
+
typedef struct {
gregorio_note_iter_position first, previous;
gregorio_shape orientation;
@@ -298,8 +351,6 @@ static void punctum_inclinatum_orientation_visit(
case S_PUNCTUM_INCLINATUM_DESCENDENS:
case S_PUNCTUM_INCLINATUM_DEMINUTUS:
case S_PUNCTUM_INCLINATUM_AUCTUS:
- case S_PUNCTUM_CAVUM_INCLINATUM:
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
v->orientation = S_PUNCTUM_INCLINATUM_DESCENDENS;
is_punctum_inclinatum = true;
break;
@@ -324,8 +375,8 @@ static void punctum_inclinatum_orientation_visit(
? S_PUNCTUM_INCLINATUM_ASCENDENS
: S_PUNCTUM_INCLINATUM_DESCENDENS;
}
- gregorio_from_note_to_note(&v->first, &v->previous, set_shape,
- &v->orientation);
+ gregorio_from_note_to_note(&v->first, &v->previous, true, set_shape,
+ NULL, GRESTRUCT_NONE, &v->orientation);
v->first.syllable = NULL;
v->first.element = NULL;
v->first.glyph = NULL;
@@ -341,7 +392,7 @@ static void punctum_inclinatum_orientation_visit(
v->previous = *p;
}
-void determine_punctum_inclinatum_orientation(
+void gabc_determine_punctum_inclinatum_orientation(
const gregorio_score *const score)
{
punctum_inclinatum_vars v = {
@@ -361,13 +412,188 @@ void determine_punctum_inclinatum_orientation(
/* .running = */ 0,
};
- gregorio_for_each_note(score, punctum_inclinatum_orientation_visit, &v);
-
+ gregorio_for_each_note(score, punctum_inclinatum_orientation_visit, NULL,
+ GRESTRUCT_NONE, &v);
+
if (v.first.note) {
v.orientation = (v.running > 0)
? S_PUNCTUM_INCLINATUM_ASCENDENS
: S_PUNCTUM_INCLINATUM_DESCENDENS;
- gregorio_from_note_to_note(&v.first, &v.previous, set_shape,
- &v.orientation);
+ gregorio_from_note_to_note(&v.first, &v.previous, true, set_shape, NULL,
+ GRESTRUCT_NONE, &v.orientation);
}
}
+
+typedef struct note_stack {
+ gregorio_note *note;
+ struct note_stack *prev;
+} note_stack;
+
+static void note_stack_push(note_stack **const stack, gregorio_note *note) {
+ note_stack *item = gregorio_malloc(sizeof(note_stack));
+ item->note = note;
+ item->prev = *stack;
+ *stack = item;
+}
+
+static gregorio_note *note_stack_pop(note_stack **const stack) {
+ note_stack *item = *stack;
+ if (item) {
+ gregorio_note *note = item->note;
+ note_stack *prev = item->prev;
+ free(item);
+ *stack = prev;
+ return note;
+ }
+ return NULL;
+}
+
+static void note_stack_clear(note_stack **const stack) {
+ note_stack *item = *stack;
+ while (item) {
+ note_stack *prev = item->prev;
+ free(item);
+ item = prev;
+ }
+ *stack = NULL;
+}
+
+typedef struct {
+ note_stack *high, *low;
+ gregorio_note *prev_note;
+ signed char high_ledger_line_pitch;
+ bool running_high, running_low;
+} ledger_line_vars;
+
+static __inline void clear_ledger_line_vars(ledger_line_vars *const v) {
+ note_stack_clear(&v->high);
+ note_stack_clear(&v->low);
+ v->prev_note = NULL;
+ v->running_high = false;
+ v->running_low = false;
+}
+
+static __inline void adjust_ledger(const gregorio_note_iter_position *const p,
+ const gregorio_ledger_specificity specificity, bool ledger_line,
+ note_stack **const stack, bool *const running, gregorio_note *prev_note,
+ const signed char high_ledger_line_pitch,
+ bool (*extend_ledger)(gregorio_note *, const gregorio_note *,
+ const gregorio_note *, signed char))
+{
+ if (specificity & LEDGER_DRAWN) {
+ if (ledger_line) {
+ gregorio_note *after = p->note;
+ gregorio_note *note;
+ /* process from this ledger backwards */
+ while ((note = note_stack_pop(stack))) {
+ if (!extend_ledger(note, NULL, after, high_ledger_line_pitch)) {
+ /* ledger has ended */
+ break;
+ }
+ after = note;
+ }
+ *running = true;
+ } else {
+ *running = false;
+ }
+ note_stack_clear(stack);
+ } else {
+ if (*running) {
+ if (!extend_ledger(p->note, prev_note, NULL,
+ high_ledger_line_pitch)) {
+ /* ledger has ended */
+ note_stack_push(stack, p->note);
+ *running = false;
+ }
+ /* else stack should be empty, keep it that way */
+ } else {
+ note_stack_push(stack, p->note);
+ }
+ }
+}
+
+static bool extend_high_ledger(gregorio_note *const note,
+ const gregorio_note *const note_before,
+ const gregorio_note *const note_after,
+ const signed char high_ledger_line_pitch)
+{
+ bool extend = false;
+
+ if (note_before) {
+ extend = note_before->u.note.pitch < note->u.note.pitch
+ || (note_before->u.note.pitch > high_ledger_line_pitch
+ && note->u.note.pitch < high_ledger_line_pitch);
+ } else if (note_after) {
+ extend = note_after->u.note.pitch < note->u.note.pitch
+ || (note_after->u.note.pitch > high_ledger_line_pitch
+ && note->u.note.pitch < high_ledger_line_pitch);
+ }
+
+ if (extend) {
+ note->high_ledger_line = true;
+ note->high_ledger_specificity = LEDGER_DRAWN;
+ }
+ return extend;
+}
+
+static bool extend_low_ledger(gregorio_note *const note,
+ const gregorio_note *const note_before,
+ const gregorio_note *const note_after,
+ const signed char high_ledger_line_pitch __attribute__((__unused__)))
+{
+ bool extend = false;
+
+ if (note_before) {
+ extend = note_before->u.note.pitch < note->u.note.pitch
+ || (note_before->u.note.pitch > LOW_LEDGER_LINE_PITCH
+ && note->u.note.pitch < LOW_LEDGER_LINE_PITCH);
+ } else if (note_after) {
+ extend = note_after->u.note.pitch < note->u.note.pitch
+ || (note_after->u.note.pitch > LOW_LEDGER_LINE_PITCH
+ && note->u.note.pitch < LOW_LEDGER_LINE_PITCH);
+ }
+
+ if (extend) {
+ note->low_ledger_line = true;
+ note->low_ledger_specificity = LEDGER_DRAWN;
+ }
+ return extend;
+}
+
+/* data must be (ledger_line_vars *) */
+static void ledger_line_visit(const gregorio_note_iter_position *const p,
+ void *const data)
+{
+ ledger_line_vars *const v = (ledger_line_vars *)data;
+
+ adjust_ledger(p, p->note->high_ledger_specificity, p->note->high_ledger_line,
+ &v->high, &v->running_high, v->prev_note, v->high_ledger_line_pitch,
+ &extend_high_ledger);
+ adjust_ledger(p, p->note->low_ledger_specificity, p->note->low_ledger_line,
+ &v->low, &v->running_low, v->prev_note, v->high_ledger_line_pitch,
+ &extend_low_ledger);
+
+ v->prev_note = p->note;
+}
+
+/* data must be (ledger_line_vars *) */
+static void ledger_line_end_item(
+ const gregorio_note_iter_position *const p __attribute__((__unused__)),
+ const gregorio_note_iter_item_type item_type, void *const data)
+{
+ if (item_type == GRESTRUCT_ELEMENT) {
+ clear_ledger_line_vars((ledger_line_vars *)data);
+ }
+}
+
+void gabc_determine_ledger_lines(const gregorio_score *const score)
+{
+ ledger_line_vars v;
+ memset(&v, 0, sizeof v);
+ v.high_ledger_line_pitch = score->high_ledger_line_pitch;
+
+ gregorio_for_each_note(score, ledger_line_visit, ledger_line_end_item,
+ GRESTRUCT_ELEMENT, &v);
+
+ /* stacks should be cleared by ledger_line_end_item */
+}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.h b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.h
index 3400e100465..a87afa27fe8 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.h
@@ -3,7 +3,7 @@
* This header shares definitions between the score parser and lexer.
*
* Gregorio score determination from gabc.
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -53,10 +53,12 @@ YY_DECL;
#define YYLTYPE gregorio_scanner_location
-void fix_custos(gregorio_score *score_to_check);
-bool check_score_integrity(gregorio_score *score_to_check);
-bool check_infos_integrity(gregorio_score *score_to_check);
-void determine_oriscus_orientation(const gregorio_score *score);
-void determine_punctum_inclinatum_orientation(const gregorio_score *score);
+void gabc_suppress_extra_custos_at_linebreak(gregorio_score *score);
+void gabc_fix_custos_pitches(gregorio_score *score_to_check);
+bool gabc_check_score_integrity(gregorio_score *score_to_check);
+bool gabc_check_infos_integrity(gregorio_score *score_to_check);
+void gabc_determine_oriscus_orientation(const gregorio_score *score);
+void gabc_determine_punctum_inclinatum_orientation(const gregorio_score *score);
+void gabc_determine_ledger_lines(const gregorio_score *const score);
#endif
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l
index e35fc27fff6..64119527a1a 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l
@@ -4,7 +4,7 @@
* This file implements the score lexer.
*
* Gregorio score determination in gabc input.
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -69,7 +69,7 @@ static bool eof_found = false;
#define YY_INPUT(buf,result,max_size) \
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) { \
int c = '*'; \
- size_t n; \
+ int n; \
for (n = 0; n < max_size \
&& (c = getc(gabc_score_determination_in)) != EOF \
&& c != '\n'; ++n ) { \
@@ -109,6 +109,8 @@ static bool eof_found = false;
%x comments
%x inicomments
%x alt
+%x protrusion_value
+%x protrusion_end
%option stack
%option pointer
@@ -151,15 +153,20 @@ semicolon. */
BEGIN(attribute);
return COLON;
}
-<attribute>[^;\n\r]*(;[^;\n\r]+)*([\n\r]+[^;]*(;[^;]+)*)? {
+<attribute>;;?[\n\r \t]*[\n\r] {
+ BEGIN(INITIAL);
+ return SEMICOLON;
+ }
+<attribute>[^;]+ {
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return ATTRIBUTE;
}
-<attribute>;;?[\n\r]+ {
- BEGIN(INITIAL);
- return SEMICOLON;
- }
+<attribute>; {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return ATTRIBUTE;
+}
<INITIAL>def-m[0-9] {
gabc_score_determination_lval.character = gabc_score_determination_text[5];
return DEF_MACRO;
@@ -179,10 +186,6 @@ semicolon. */
gregorio_strdup(gabc_score_determination_text);
return GABC_COPYRIGHT;
}
-<INITIAL>initial-style {
- /* DEPRECATED for removal in 5.0 */
- return INITIAL_STYLE;
- }
<INITIAL>mode {
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -245,12 +248,17 @@ semicolon. */
<score>[\n\r][\n\r \t]* {
RETURN_SPACE;
}
-<score,sp>[^-\{\}\(\[\]<%\n\r]+ {
+<score>[^-,;:.\{\}\(\[\]<%\n\r]+ {
RETURN_CHARACTERS;
}
<score>- {
return HYPHEN;
}
+<score>[,;:.] {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return PROTRUDING_PUNCTUATION;
+ }
<score><nlba> {
return NLBA_B;
}
@@ -333,7 +341,7 @@ semicolon. */
<verb,alt>[^<]+ {
RETURN_CHARACTERS;
}
-<verb,sp,score,alt>< {
+<verb,score,alt>< {
RETURN_CHARACTERS;
}
<score>\{ {
@@ -365,6 +373,26 @@ semicolon. */
<score>\] {
return TRANSLATION_END;
}
+<score><[\n\r \t]*clear[\n\r \t]*\/?[\n\r \t]*> {
+ return CLEAR;
+ }
+<score><[\n\r \t]*pr[\n\r \t]*\/?[\n\r \t]*> {
+ return PROTRUSION;
+ }
+<score><[\n\r \t]*pr[\n\r \t]*:[\n\r \t]* {
+ BEGIN(protrusion_value);
+ return PROTRUSION;
+ }
+<protrusion_value>([0-9]*\.?[0-9]+|[0-9]+\.) {
+ BEGIN(protrusion_end);
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return PROTRUSION_VALUE;
+ }
+<protrusion_end>[\n\r \t]*\/?[\n\r \t]*> {
+ BEGIN(score);
+ return PROTRUSION_END;
+ }
<score>\( {
BEGIN(notes);
return OPENING_BRACKET;
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y
index 71642f23bc3..1a9cc3980a1 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y
@@ -4,7 +4,7 @@
* This file implements the score parser.
*
* Gregorio score determination from gabc.
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -51,10 +51,13 @@
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
(Current).last_offset = YYRHSLOC (Rhs, N).last_offset; \
+ (Current).generate_point_and_click = YYRHSLOC (Rhs, 1).generate_point_and_click; \
} else { \
(Current).first_line = (Current).last_line = YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = YYRHSLOC (Rhs, 0).last_column; \
(Current).first_offset = (Current).last_offset = YYRHSLOC (Rhs, 0).last_offset; \
+ (Current).first_offset = (Current).last_offset = YYRHSLOC (Rhs, 0).last_offset; \
+ (Current).generate_point_and_click = YYRHSLOC (Rhs, 0).generate_point_and_click; \
}
#include "gabc-score-determination.h"
@@ -86,6 +89,7 @@ gregorio_element *current_element;
static char *macros[10];
/* other variables that we will have to use */
static gregorio_character *current_character;
+static gregorio_character *suspended_character;
static gregorio_character *first_text_character;
static gregorio_character *first_translation_character;
static gregorio_tr_centering translation_type;
@@ -104,6 +108,9 @@ static bool got_staff_lines;
static bool started_first_word;
static struct sha1_ctx digester;
static gabc_style_bits styles;
+static bool generate_point_and_click;
+static bool clear_syllable_text;
+static bool has_protrusion;
/* punctum_inclinatum_orientation maintains the running punctum inclinatum
* orientation in order to decide if the glyph needs to be cut when a punctum
@@ -140,7 +147,7 @@ static void gabc_score_determination_error(const char *error_str)
* The function that will initialize the variables.
*/
-static void initialize_variables(void)
+static void initialize_variables(bool point_and_click)
{
int i;
/* build a brand new empty score */
@@ -153,6 +160,7 @@ static void initialize_variables(void)
number_of_voices = 1;
voice = 0; /* first (and only) voice */
current_character = NULL;
+ suspended_character = NULL;
first_translation_character = NULL;
first_text_character = NULL;
translation_type = TR_NORMAL;
@@ -168,6 +176,9 @@ static void initialize_variables(void)
started_first_word = false;
styles = 0;
punctum_inclinatum_orientation = S_PUNCTUM_INCLINATUM_UNDETERMINED;
+ generate_point_and_click = point_and_click;
+ clear_syllable_text = false;
+ has_protrusion = false;
}
/*
@@ -192,7 +203,7 @@ static void end_definitions(void)
{
int i;
- gregorio_assert_only(check_infos_integrity(score), end_definitions,
+ gregorio_assert_only(gabc_check_infos_integrity(score), end_definitions,
"can't determine valid infos on the score");
elements = (gregorio_element **) gregorio_malloc(number_of_voices *
@@ -304,7 +315,159 @@ static void rebuild_score_characters(void)
}
/*
- * Function to close a syllable and update the position.
+ *
+ * The two functions called when lex returns a style, we simply add it. All the
+ * complex things will be done by the function after...
+ *
+ */
+
+static void add_style(unsigned char style)
+{
+ gregorio_begin_style(&current_character, style);
+}
+
+static void end_style(unsigned char style)
+{
+ gregorio_end_style(&current_character, style);
+}
+
+static __inline void save_text(void)
+{
+ if (has_protrusion) {
+ end_style(ST_PROTRUSION);
+ }
+ ready_characters();
+ first_text_character = current_character;
+}
+
+/* a function called when we see a [, basically, all characters are added to
+ * the translation pointer instead of the text pointer */
+static void start_translation(unsigned char asked_translation_type)
+{
+ suspended_character = current_character;
+ /* the middle letters of the translation have no sense */
+ /*center_is_determined = CENTER_FULLY_DETERMINED;*/
+ current_character = NULL;
+ translation_type = asked_translation_type;
+}
+
+static void end_translation(void)
+{
+ ready_characters();
+ first_translation_character = current_character;
+ current_character = suspended_character;
+}
+
+/*
+ * add_text is the function called when lex returns a char *. In
+ * this function we convert it into grewchar, and then we add the corresponding
+ * gregorio_characters in the list of gregorio_characters.
+ */
+
+static void add_text(char *mbcharacters)
+{
+ if (!current_character) {
+ /* insert open styles, leaving out ELISION on purpose */
+ if (styles & SB_I) {
+ add_style(ST_ITALIC);
+ }
+ if (styles & SB_B) {
+ add_style(ST_BOLD);
+ }
+ if (styles & SB_TT) {
+ add_style(ST_TT);
+ }
+ if (styles & SB_SC) {
+ add_style(ST_SMALL_CAPS);
+ }
+ if (styles & SB_UL) {
+ add_style(ST_UNDERLINED);
+ }
+ if (styles & SB_C) {
+ add_style(ST_COLORED);
+ }
+ }
+ if (current_character) {
+ current_character->next_character = gregorio_build_char_list_from_buf(
+ mbcharacters);
+ current_character->next_character->previous_character =
+ current_character;
+ } else {
+ current_character = gregorio_build_char_list_from_buf(mbcharacters);
+ }
+ while (current_character && current_character->next_character) {
+ current_character = current_character->next_character;
+ }
+ free(mbcharacters);
+}
+
+static void add_protrusion(char *factor)
+{
+ if (has_protrusion) {
+ gregorio_message("syllable already has protrusion; pr tag ignored",
+ "det_score", VERBOSITY_WARNING, 0);
+ free(factor);
+ } else {
+ if (center_is_determined == CENTER_HALF_DETERMINED) {
+ gregorio_message("closing open syllable center before protrusion",
+ "det_score", VERBOSITY_WARNING, 0);
+ end_style(ST_FORCED_CENTER);
+ center_is_determined = CENTER_FULLY_DETERMINED;
+ }
+
+ add_style(ST_PROTRUSION_FACTOR);
+ add_text(factor);
+ end_style(ST_PROTRUSION_FACTOR);
+ add_style(ST_PROTRUSION);
+ has_protrusion = true;
+ }
+}
+
+static void add_auto_protrusion(char *protrusion)
+{
+ if (has_protrusion) {
+ add_text(protrusion);
+ } else {
+ add_style(ST_PROTRUSION_FACTOR);
+ add_style(ST_VERBATIM);
+ add_text(gregorio_strdup("\\GreProtrusionFactor{"));
+
+ switch (*protrusion) {
+ case ',':
+ add_text(gregorio_strdup("comma"));
+ break;
+ case ';':
+ add_text(gregorio_strdup("semicolon"));
+ break;
+ case ':':
+ add_text(gregorio_strdup("colon"));
+ break;
+ case '.':
+ add_text(gregorio_strdup("period"));
+ break;
+ default:
+ /* not reachable unless there's a programming error */
+ /* LCOV_EXCL_START */
+ gregorio_fail2(add_auto_protrusion,
+ "unsupported protruding punctuation: %c", *protrusion);
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+
+ add_text(gregorio_strdup("}"));
+ end_style(ST_VERBATIM);
+ end_style(ST_PROTRUSION_FACTOR);
+
+ add_style(ST_PROTRUSION);
+ add_text(protrusion);
+ end_style(ST_PROTRUSION);
+
+ has_protrusion = true;
+ }
+}
+
+/*
+ * Function to close a syllable and update the position.
*/
static void close_syllable(YYLTYPE *loc)
@@ -320,10 +483,9 @@ static void close_syllable(YYLTYPE *loc)
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);
- }
+ /* the parser precludes this from falling here */
+ gregorio_assert_only(i <= 1, close_syllable,
+ "elisions may not be nested");
break;
case ST_T_END:
@@ -362,7 +524,7 @@ static void close_syllable(YYLTYPE *loc)
gregorio_add_syllable(&current_syllable, number_of_voices, elements,
first_text_character, first_translation_character, position,
abovelinestext, translation_type, no_linebreak_area, euouae, loc,
- started_first_word);
+ started_first_word, clear_syllable_text);
if (!score->first_syllable) {
/* we rebuild the first syllable if we have to */
score->first_syllable = current_syllable;
@@ -383,6 +545,7 @@ static void close_syllable(YYLTYPE *loc)
}
center_is_determined = CENTER_NOT_DETERMINED;
current_character = NULL;
+ suspended_character = NULL;
first_text_character = NULL;
first_translation_character = NULL;
translation_type = TR_NORMAL;
@@ -393,84 +556,8 @@ static void close_syllable(YYLTYPE *loc)
elements[i] = NULL;
}
current_element = NULL;
-}
-
-/* a function called when we see a [, basically, all characters are added to
- * the translation pointer instead of the text pointer */
-static void start_translation(unsigned char asked_translation_type)
-{
- ready_characters();
- first_text_character = current_character;
- /* the middle letters of the translation have no sense */
- center_is_determined = CENTER_FULLY_DETERMINED;
- current_character = NULL;
- translation_type = asked_translation_type;
-}
-
-static void end_translation(void)
-{
- ready_characters();
- first_translation_character = current_character;
-}
-
-/*
- *
- * The two functions called when lex returns a style, we simply add it. All the
- * complex things will be done by the function after...
- *
- */
-
-static void add_style(unsigned char style)
-{
- gregorio_begin_style(&current_character, style);
-}
-
-static void end_style(unsigned char style)
-{
- gregorio_end_style(&current_character, style);
-}
-
-/*
- * add_text is the function called when lex returns a char *. In
- * this function we convert it into grewchar, and then we add the corresponding
- * gregorio_characters in the list of gregorio_characters.
- */
-
-static void add_text(char *mbcharacters)
-{
- if (!current_character) {
- /* insert open styles, leaving out ELISION on purpose */
- if (styles & SB_I) {
- add_style(ST_ITALIC);
- }
- if (styles & SB_B) {
- add_style(ST_BOLD);
- }
- if (styles & SB_TT) {
- add_style(ST_TT);
- }
- if (styles & SB_SC) {
- add_style(ST_SMALL_CAPS);
- }
- if (styles & SB_UL) {
- add_style(ST_UNDERLINED);
- }
- if (styles & SB_C) {
- add_style(ST_COLORED);
- }
- }
- if (current_character) {
- current_character->next_character = gregorio_build_char_list_from_buf(
- mbcharacters);
- current_character->next_character->previous_character =
- current_character;
- } else {
- current_character = gregorio_build_char_list_from_buf(mbcharacters);
- }
- while (current_character && current_character->next_character) {
- current_character = current_character->next_character;
- }
- free(mbcharacters);
+ clear_syllable_text = false;
+ has_protrusion = false;
}
void gabc_digest(const void *const buf, const size_t size)
@@ -484,7 +571,7 @@ void gabc_digest(const void *const buf, const size_t size)
* aleady open. It returns a valid gregorio_score
*/
-gregorio_score *gabc_read_score(FILE *f_in)
+gregorio_score *gabc_read_score(FILE *f_in, bool point_and_click)
{
/* compute the SHA-1 digest while parsing, for I/O efficiency */
sha1_init_ctx(&digester);
@@ -495,21 +582,23 @@ gregorio_score *gabc_read_score(FILE *f_in)
gabc_score_determination_in = f_in;
gregorio_assert(f_in, gabc_read_score, "can't read stream from NULL",
return NULL);
- initialize_variables();
+ initialize_variables(point_and_click);
/* the flex/bison main call, it will build the score (that we have
* initialized) */
gabc_score_determination_parse();
if (!score->legacy_oriscus_orientation) {
- determine_oriscus_orientation(score);
+ gabc_determine_oriscus_orientation(score);
}
- determine_punctum_inclinatum_orientation(score);
+ gabc_determine_punctum_inclinatum_orientation(score);
+ gabc_determine_ledger_lines(score);
gregorio_fix_initial_keys(score, gregorio_default_clef);
rebuild_score_characters();
- fix_custos(score);
+ gabc_suppress_extra_custos_at_linebreak(score);
+ gabc_fix_custos_pitches(score);
gabc_det_notes_finish();
free_variables();
/* then we check the validity and integrity of the score we have built. */
- if (!check_score_integrity(score)) {
+ if (!gabc_check_score_integrity(score)) {
gregorio_message(_("unable to determine a valid score from file"),
"gabc_read_score", VERBOSITY_ERROR, 0);
}
@@ -554,6 +643,13 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
current_element->nabc_lines = nabc_state;
}
}
+
+static char *concatenate(char *first, char *const second) {
+ first = (char *)gregorio_realloc(first, strlen(first) + strlen(second) + 1);
+ strcat(first, second);
+ free(second);
+ return first;
+}
%}
%initial-action {
@@ -563,6 +659,7 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
@$.last_line = 1;
@$.last_column = 0;
@$.last_offset = 0;
+ @$.generate_point_and_click = generate_point_and_click;
}
%lex-param { gabc_style_bits *STYLE_BITS }
@@ -571,9 +668,8 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
%token LANGUAGE STAFF_LINES ORISCUS_ORIENTATION
%token DEF_MACRO OTHER_HEADER
%token ANNOTATION MODE MODE_MODIFIER MODE_DIFFERENTIA
-%token INITIAL_STYLE /* DEPRECATED for removal in 5.0 */
%token END_OF_DEFINITIONS END_OF_FILE
-%token COLON SEMICOLON SPACE CHARACTERS NOTES HYPHEN ATTRIBUTE
+%token COLON SEMICOLON CHARACTERS NOTES HYPHEN ATTRIBUTE
%token OPENING_BRACKET CLOSING_BRACKET CLOSING_BRACKET_WITH_SPACE
%token I_BEGIN I_END
%token TT_BEGIN TT_END
@@ -582,7 +678,7 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
%token B_BEGIN B_END
%token SC_BEGIN SC_END
%token SP_BEGIN SP_END
-%token VERB_BEGIN VERB VERB_END
+%token VERB_BEGIN VERB_END
%token CENTER_BEGIN CENTER_END
%token ELISION_BEGIN ELISION_END
%token TRANSLATION_BEGIN TRANSLATION_END TRANSLATION_CENTER_END
@@ -590,6 +686,13 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
%token NLBA_B NLBA_E
%token EUOUAE_B EUOUAE_E
%token NABC_CUT NABC_LINES
+%token CLEAR
+%token PROTRUSION PROTRUSION_VALUE PROTRUSION_END PROTRUDING_PUNCTUATION
+
+%precedence HYPHEN PROTRUDING_PUNCTUATION
+%precedence TRANSLATION_BEGIN TRANSLATION_CENTER_END
+%precedence TRANSLATION_END
+%precedence OPENING_BRACKET
%%
@@ -607,12 +710,20 @@ definitions:
| definitions definition
;
+attribute_value:
+ ATTRIBUTE {
+ $$.text = $1.text;
+ }
+ | attribute_value ATTRIBUTE {
+ $$.text = concatenate($1.text, $2.text);
+ }
+ ;
+
attribute:
- COLON ATTRIBUTE SEMICOLON {
+ COLON attribute_value SEMICOLON {
$$.text = $2.text;
}
- |
- COLON SEMICOLON {
+ | COLON SEMICOLON {
$$.text = NULL;
}
;
@@ -679,16 +790,6 @@ definition:
score->nabc_lines=nabc_lines;
}
}
- | INITIAL_STYLE attribute {
- if ($2.text) {
- /* DEPRECATED for removal in 5.0 */
- gregorio_message("\"initial-style\" header is deprecated. Please "
- "use \\gresetinitiallines in TeX instead.",
- "gabc_score_determination_parse", VERBOSITY_DEPRECATION, 0);
- score->initial_style = atoi($2.text);
- free($2.text);
- }
- }
| ANNOTATION attribute {
if (score->annotation [MAX_ANNOTATIONS - 1]) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
@@ -781,15 +882,6 @@ style_beginning:
| SP_BEGIN {
add_style(ST_SPECIAL_CHAR);
}
- | ELISION_BEGIN {
- add_style(ST_ELISION);
- }
- | CENTER_BEGIN {
- if (!center_is_determined) {
- add_style(ST_FORCED_CENTER);
- center_is_determined=CENTER_HALF_DETERMINED;
- }
- }
;
style_end:
@@ -817,13 +909,40 @@ style_end:
| SP_END {
end_style(ST_SPECIAL_CHAR);
}
- | ELISION_END {
+ ;
+
+special_style_beginning:
+ ELISION_BEGIN {
+ add_style(ST_ELISION);
+ }
+ | CENTER_BEGIN {
+ if (center_is_determined) {
+ gregorio_message(
+ "syllable already has center; ignoring additional center",
+ "det_score", VERBOSITY_WARNING, 0);
+ } else if (has_protrusion) {
+ gregorio_message(
+ "center not allowed after protrusion; ignored",
+ "det_score", VERBOSITY_WARNING, 0);
+ } else {
+ add_style(ST_FORCED_CENTER);
+ center_is_determined = CENTER_HALF_DETERMINED;
+ }
+ }
+ ;
+
+special_style_end:
+ ELISION_END {
end_style(ST_ELISION);
}
| CENTER_END {
- if (center_is_determined==CENTER_HALF_DETERMINED) {
+ if (center_is_determined == CENTER_HALF_DETERMINED) {
end_style(ST_FORCED_CENTER);
- center_is_determined=CENTER_FULLY_DETERMINED;
+ center_is_determined = CENTER_FULLY_DETERMINED;
+ } else {
+ gregorio_message(
+ "not within a syllable center",
+ "det_score", VERBOSITY_WARNING, 0);
}
}
;
@@ -846,6 +965,15 @@ linebreak_area:
}
;
+protrusion:
+ PROTRUSION PROTRUSION_VALUE PROTRUSION_END {
+ add_protrusion($2.text);
+ }
+ | PROTRUSION {
+ add_protrusion(gregorio_strdup("d")); /* d = default */
+ }
+ ;
+
character:
above_line_text
| CHARACTERS {
@@ -853,22 +981,44 @@ character:
}
| style_beginning
| style_end
+ | special_style_beginning
+ | special_style_end
| linebreak_area
| euouae
- ;
-
-text_hyphen:
- HYPHEN {
- add_text(gregorio_strdup("-"));
+ | CLEAR {
+ clear_syllable_text = true;
}
- | text_hyphen HYPHEN {
+ | protrusion
+ | HYPHEN {
add_text(gregorio_strdup("-"));
}
+ | PROTRUDING_PUNCTUATION {
+ add_text($1.text);
+ }
;
text:
+ character
| text character
- | text text_hyphen character
+ ;
+
+translation_character:
+ CHARACTERS {
+ add_text($1.text);
+ }
+ | style_beginning
+ | style_end
+ | HYPHEN {
+ add_text(gregorio_strdup("-"));
+ }
+ | PROTRUDING_PUNCTUATION {
+ add_text($1.text);
+ }
+ ;
+
+translation_text:
+ translation_character
+ | translation_text translation_character
;
translation_beginning:
@@ -878,11 +1028,15 @@ translation_beginning:
;
translation:
- translation_beginning text TRANSLATION_END {
+ translation_beginning TRANSLATION_END {
+ end_translation();
+ }
+ | translation_beginning translation_text TRANSLATION_END {
end_translation();
}
| TRANSLATION_CENTER_END {
start_translation(TR_WITH_CENTER_END);
+ end_translation();
}
;
@@ -894,25 +1048,59 @@ above_line_text:
syllable_with_notes:
text OPENING_BRACKET notes {
- ready_characters();
- first_text_character = current_character;
+ save_text();
+ close_syllable(&@1);
+ }
+ | HYPHEN OPENING_BRACKET notes {
+ add_style(ST_VERBATIM);
+ add_text(gregorio_strdup("\\GreForceHyphen"));
+ end_style(ST_VERBATIM);
+ save_text();
close_syllable(&@1);
}
| text HYPHEN OPENING_BRACKET notes {
add_style(ST_VERBATIM);
add_text(gregorio_strdup("\\GreForceHyphen"));
end_style(ST_VERBATIM);
- ready_characters();
- first_text_character = current_character;
+ save_text();
+ close_syllable(&@1);
+ }
+ | PROTRUDING_PUNCTUATION OPENING_BRACKET notes {
+ add_auto_protrusion($1.text);
+ save_text();
+ close_syllable(&@1);
+ }
+ | text PROTRUDING_PUNCTUATION OPENING_BRACKET notes {
+ add_auto_protrusion($2.text);
+ save_text();
close_syllable(&@1);
}
| text translation OPENING_BRACKET notes {
+ save_text();
+ close_syllable(&@1);
+ }
+ | HYPHEN translation OPENING_BRACKET notes {
+ add_style(ST_VERBATIM);
+ add_text(gregorio_strdup("\\GreForceHyphen"));
+ end_style(ST_VERBATIM);
+ save_text();
close_syllable(&@1);
}
| text HYPHEN translation OPENING_BRACKET notes {
add_style(ST_VERBATIM);
add_text(gregorio_strdup("\\GreForceHyphen"));
end_style(ST_VERBATIM);
+ save_text();
+ close_syllable(&@1);
+ }
+ | PROTRUDING_PUNCTUATION translation OPENING_BRACKET notes {
+ add_auto_protrusion($1.text);
+ save_text();
+ close_syllable(&@1);
+ }
+ | text PROTRUDING_PUNCTUATION translation OPENING_BRACKET notes {
+ add_auto_protrusion($2.text);
+ save_text();
close_syllable(&@1);
}
;
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c
index 31e75ccce3c..f783c84a035 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file provides functions for writing gabc from Gregorio structures.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -36,6 +36,14 @@
#include "gabc.h"
+typedef enum {
+ GABC_NORMAL,
+ GABC_AT_PROTRUSION_FACTOR,
+ GABC_IN_PROTRUSION_FACTOR
+} gabc_write_state;
+
+static gabc_write_state write_state;
+
static __inline char pitch_letter(const char height) {
char result = height + 'a' - LOWEST_PITCH;
if (result == 'o') {
@@ -102,11 +110,15 @@ static void gabc_write_begin(FILE *f, grestyle_style style)
case ST_ELISION:
fprintf(f, "<e>");
break;
+ case ST_PROTRUSION_FACTOR:
+ write_state = GABC_AT_PROTRUSION_FACTOR;
+ break;
case ST_INITIAL:
case ST_CENTER:
case ST_FIRST_WORD:
case ST_FIRST_SYLLABLE:
case ST_FIRST_SYLLABLE_INITIAL:
+ case ST_PROTRUSION:
/* nothing should be emitted for these */
break;
default:
@@ -152,11 +164,17 @@ static void gabc_write_end(FILE *f, grestyle_style style)
case ST_ELISION:
fprintf(f, "</e>");
break;
+ case ST_PROTRUSION_FACTOR:
+ if (write_state == GABC_IN_PROTRUSION_FACTOR) {
+ fprintf(f, ">");
+ }
+ break;
case ST_INITIAL:
case ST_CENTER:
case ST_FIRST_WORD:
case ST_FIRST_SYLLABLE:
case ST_FIRST_SYLLABLE_INITIAL:
+ case ST_PROTRUSION:
/* nothing should be emitted for these */
break;
default:
@@ -191,9 +209,14 @@ static void gabc_write_special_char(FILE *f, const grewchar *first_char)
*/
static void gabc_write_verb(FILE *f, const grewchar *first_char)
{
- fprintf(f, "<v>");
- gregorio_print_unistring(f, first_char);
- fprintf(f, "</v>");
+ if (write_state == GABC_AT_PROTRUSION_FACTOR) {
+ /* this is an auto protrusion, so ignore it */
+ write_state = GABC_NORMAL;
+ } else {
+ fprintf(f, "<v>");
+ gregorio_print_unistring(f, first_char);
+ fprintf(f, "</v>");
+ }
}
/*
@@ -206,7 +229,17 @@ static void gabc_write_verb(FILE *f, const grewchar *first_char)
static void gabc_print_char(FILE *f, const grewchar to_print)
{
- gregorio_print_unichar(f, to_print);
+ if (write_state == GABC_AT_PROTRUSION_FACTOR) {
+ write_state = GABC_IN_PROTRUSION_FACTOR;
+ if (to_print == 'd') {
+ fprintf(f, "<pr");
+ } else {
+ fprintf(f, "<pr:");
+ gregorio_print_unichar(f, to_print);
+ }
+ } else {
+ gregorio_print_unichar(f, to_print);
+ }
}
/*
@@ -442,11 +475,25 @@ static const char *mora_vposition(gregorio_note *note)
}
static void write_note_heuristics(FILE *f, gregorio_note *note) {
- if (note->explicit_high_ledger_line) {
- fprintf(f, "[hl:%c]", note->supposed_high_ledger_line? '1' : '0');
+ switch (note->high_ledger_specificity) {
+ case LEDGER_EXPLICIT:
+ fprintf(f, "[hl:%c]", note->high_ledger_line? '1' : '0');
+ break;
+ case LEDGER_EXPLICITLY_DRAWN:
+ fprintf(f, "[oll:%c]", note->high_ledger_line? '1' : '0');
+ break;
+ default:
+ break;
}
- if (note->explicit_low_ledger_line) {
- fprintf(f, "[ll:%c]", note->supposed_low_ledger_line? '1' : '0');
+ switch (note->low_ledger_specificity) {
+ case LEDGER_EXPLICIT:
+ fprintf(f, "[ll:%c]", note->low_ledger_line? '1' : '0');
+ break;
+ case LEDGER_EXPLICITLY_DRAWN:
+ fprintf(f, "[ull:%c]", note->low_ledger_line? '1' : '0');
+ break;
+ default:
+ break;
}
}
@@ -496,12 +543,6 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
case S_PUNCTUM_INCLINATUM_AUCTUS:
fprintf(f, "%c", toupper((unsigned char)pitch_letter(note->u.note.pitch)));
break;
- case S_PUNCTUM_CAVUM_INCLINATUM:
- fprintf(f, "%cr", toupper((unsigned char)pitch_letter(note->u.note.pitch)));
- break;
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
- fprintf(f, "%cr<", toupper((unsigned char)pitch_letter(note->u.note.pitch)));
- break;
case S_FLAT:
fprintf(f, "%cx", pitch_letter(note->u.note.pitch));
break;
@@ -527,16 +568,6 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
fprintf(f, "%co", pitch_letter(note->u.note.pitch));
/* Note: the DEMINUTUS is also in the liquescentia */
break;
- case S_ORISCUS_CAVUM_ASCENDENS:
- fprintf(f, "%co1r", pitch_letter(note->u.note.pitch));
- break;
- case S_ORISCUS_CAVUM_DESCENDENS:
- fprintf(f, "%co0r", pitch_letter(note->u.note.pitch));
- break;
- case S_ORISCUS_CAVUM_DEMINUTUS:
- fprintf(f, "%cor", pitch_letter(note->u.note.pitch));
- /* Note: the DEMINUTUS is also in the liquescentia */
- break;
case S_QUILISMA:
if (is_quadratum) {
fprintf(f, "%cW", pitch_letter(note->u.note.pitch));
@@ -547,15 +578,9 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
case S_LINEA:
fprintf(f, "%c=", pitch_letter(note->u.note.pitch));
break;
- case S_PUNCTUM_CAVUM:
- fprintf(f, "%cr", pitch_letter(note->u.note.pitch));
- break;
case S_LINEA_PUNCTUM:
fprintf(f, "%cR", pitch_letter(note->u.note.pitch));
break;
- case S_LINEA_PUNCTUM_CAVUM:
- fprintf(f, "%cr0", pitch_letter(note->u.note.pitch));
- break;
case S_ORISCUS_SCAPUS_ASCENDENS:
fprintf(f, "%cO1", pitch_letter(note->u.note.pitch));
break;
@@ -576,6 +601,9 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
break;
/* LCOV_EXCL_STOP */
}
+ if (note->u.note.is_cavum) {
+ fprintf(f, "r");
+ }
switch (note->signs) {
case _PUNCTUM_MORA:
fprintf(f, ".%s", mora_vposition(note));
@@ -619,6 +647,15 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
case _SEMI_CIRCULUS_REVERSUS:
fprintf(f, "r5");
break;
+ case _MUSICA_FICTA_FLAT:
+ fprintf(f, "r6");
+ break;
+ case _MUSICA_FICTA_NATURAL:
+ fprintf(f, "r7");
+ break;
+ case _MUSICA_FICTA_SHARP:
+ fprintf(f, "r8");
+ break;
case _NO_SIGN:
/* if there's no sign, don't emit anything */
break;
@@ -646,7 +683,7 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
}
write_note_heuristics(f, note);
if (note->texverb) {
- fprintf(f, "[nv:%s]", note->texverb);
+ fprintf(f, "[nv:%s]", gregorio_texverb(note->texverb));
}
}
@@ -804,7 +841,7 @@ static void gabc_write_gregorio_glyph(FILE *f, gregorio_glyph *glyph,
switch (glyph->type) {
case GRE_TEXVERB_GLYPH:
if (glyph->texverb) {
- fprintf(f, "[gv:%s]", glyph->texverb);
+ fprintf(f, "[gv:%s]", gregorio_texverb(glyph->texverb));
}
break;
case GRE_SPACE:
@@ -910,12 +947,12 @@ static void gabc_write_gregorio_element(FILE *f, gregorio_element *element,
break;
case GRE_TEXVERB_ELEMENT:
if (element->texverb) {
- fprintf(f, "[ev:%s]", element->texverb);
+ fprintf(f, "[ev:%s]", gregorio_texverb(element->texverb));
}
break;
case GRE_ALT:
if (element->texverb) {
- fprintf(f, "[alt:%s]", element->texverb);
+ fprintf(f, "[alt:%s]", gregorio_texverb(element->texverb));
}
break;
case GRE_SPACE:
@@ -948,6 +985,9 @@ static void gabc_write_gregorio_element(FILE *f, gregorio_element *element,
fprintf(f, "z0");
}
break;
+ case GRE_SUPPRESS_CUSTOS:
+ fprintf(f, "[nocustos]");
+ break;
case GRE_NLBA:
switch (element->u.misc.unpitched.info.nlba) {
case NLBA_BEGINNING:
@@ -1018,12 +1058,16 @@ static void gabc_write_gregorio_syllable(FILE *f, gregorio_syllable *syllable,
bool linebreak_or_bar_in_element;
gregorio_assert(syllable, gabc_write_gregorio_syllable,
"call with NULL argument", return);
+ write_state = GABC_NORMAL;
if (syllable->no_linebreak_area == NLBA_BEGINNING) {
fprintf(f, "<nlba>");
}
if (syllable->euouae == EUOUAE_BEGINNING) {
fprintf(f, "<eu>");
}
+ if (syllable->clear) {
+ fprintf(f, "<clear>");
+ }
if (syllable->text) {
/* we call the magic function (defined in struct_utils.c), that will
* write our text. */
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h
index d2375a5fdde..7ec95632bf7 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes gabc-format handling data structures and entry points.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c b/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c
index 18ef2f945b2..f61c4ff74b9 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the command line interface of Gregorio.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -21,7 +21,7 @@
*/
static const char *copyright =
-"Copyright (C) 2006-2016 Gregorio project authors (see CONTRIBUTORS.md)";
+"Copyright (C) 2006-2017 Gregorio project authors (see CONTRIBUTORS.md)";
#include "config.h"
#include <stdio.h>
@@ -661,7 +661,7 @@ int main(int argc, char **argv)
switch (input_format) {
case GABC:
- score = gabc_read_score(input_file);
+ score = gabc_read_score(input_file, point_and_click);
break;
default:
/* not reachable unless there's a programming error */
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c
index 3d21580727d..7ac334e5413 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file contains the logic for positioning signs on neumes.
*
- * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2008-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -377,7 +377,7 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
switch (type) {
case T_PES:
- case T_PESQUILISMA:
+ case T_QUILISMA_PES:
/*
* in the case of a pes, we put the episema just under the bottom note
*/
@@ -408,9 +408,9 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
v_episema = below_if_auctus(glyph);
}
break;
- case T_PESQUADRATUM:
- case T_PESQUASSUS:
- case T_PESQUILISMAQUADRATUM:
+ case T_PES_QUADRATUM:
+ case T_PES_QUASSUS:
+ case T_QUILISMA_PES_QUADRATUM:
if (i == 1) {
note->gtex_offset_case = first_note_case(note, glyph);
h_episema = above_if_h_episema(note->next);
@@ -911,8 +911,6 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
case S_PUNCTUM_INCLINATUM_AUCTUS:
case S_PUNCTUM_INCLINATUM_ASCENDENS:
case S_PUNCTUM_INCLINATUM_DESCENDENS:
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
- case S_PUNCTUM_CAVUM_INCLINATUM:
note->gtex_offset_case = FinalInclinatum;
break;
case S_STROPHA:
@@ -928,11 +926,6 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case = fused_single_note_case(glyph, FinalOriscus,
LeadingOriscus);
break;
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
- note->gtex_offset_case = FinalOriscus;
- break;
case S_VIRGA:
note->gtex_offset_case = InitialVirga;
break;
@@ -944,7 +937,6 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
}
break;
case S_LINEA_PUNCTUM:
- case S_LINEA_PUNCTUM_CAVUM:
note->gtex_offset_case = FinalLineaPunctum;
break;
case S_LINEA:
@@ -1168,17 +1160,17 @@ static __inline void position_h_episema(gregorio_note *const note,
adj->pitch_extremum = h->height;
}
}
- if (!note->explicit_high_ledger_line && !note->supposed_high_ledger_line) {
- note->supposed_high_ledger_line = high_ledger_line;
+ if (!note->high_ledger_specificity && !note->high_ledger_line) {
+ note->high_ledger_line = high_ledger_line;
}
- if (!note->explicit_low_ledger_line && !note->supposed_low_ledger_line) {
- note->supposed_low_ledger_line = low_ledger_line;
+ if (!note->low_ledger_specificity && !note->low_ledger_line) {
+ note->low_ledger_line = low_ledger_line;
}
}
static __inline void next_has_ledger_line(
const height_computation *const h, bool *high_ledger_line,
- bool *low_ledger_line, const gregorio_score *const score)
+ bool *low_ledger_line)
{
const gregorio_element *element = h->last_connected_element;
const gregorio_glyph *glyph = h->last_connected_glyph;
@@ -1205,10 +1197,8 @@ static __inline void next_has_ledger_line(
note = glyph->u.notes.first_note;
}
- *high_ledger_line = *high_ledger_line
- || has_high_ledger_line(note->u.note.pitch, false, score);
- *low_ledger_line = *low_ledger_line
- || has_low_ledger_line(note->u.note.pitch, false);
+ *high_ledger_line = *high_ledger_line || note->high_ledger_line;
+ *low_ledger_line = *low_ledger_line || note->low_ledger_line;
if (keep_going) {
keep_going = false;
@@ -1224,7 +1214,7 @@ static __inline void next_has_ledger_line(
static __inline void previous_has_ledger_line(
const height_computation *const h, bool *high_ledger_line,
- bool *low_ledger_line, const gregorio_score *const score)
+ bool *low_ledger_line)
{
const gregorio_element *element = h->start_element;
const gregorio_glyph *glyph = h->start_glyph;
@@ -1253,10 +1243,8 @@ static __inline void previous_has_ledger_line(
} while (glyph->type != GRE_GLYPH);
note = gregorio_glyph_last_note(glyph);
}
- *high_ledger_line = *high_ledger_line
- || has_high_ledger_line(note->u.note.pitch, false, score);
- *low_ledger_line = *low_ledger_line
- || has_low_ledger_line(note->u.note.pitch, false);
+ *high_ledger_line = *high_ledger_line || note->high_ledger_line;
+ *low_ledger_line = *low_ledger_line || note->low_ledger_line;
if (keep_going) {
keep_going = false;
@@ -1284,8 +1272,8 @@ static __inline void set_h_episema_height(const height_computation *const h,
bool low_ledger_line = has_low_ledger_line(h->height, true)
|| has_low_ledger_line(h->height - h->vpos, false);
- next_has_ledger_line(h, &high_ledger_line, &low_ledger_line, score);
- previous_has_ledger_line(h, &high_ledger_line, &low_ledger_line, score);
+ next_has_ledger_line(h, &high_ledger_line, &low_ledger_line);
+ previous_has_ledger_line(h, &high_ledger_line, &low_ledger_line);
for ( ; element; element = element->next) {
if (element->type == GRE_ELEMENT) {
@@ -1328,11 +1316,17 @@ static __inline bool is_connected_right(const grehepisema_size size) {
return size == H_NORMAL || size == H_SMALL_RIGHT;
}
-static __inline bool is_connectable_interglyph_ambitus(
+static __inline bool is_connectable_interglyph_ambitus(const signed char first,
+ const signed char second)
+{
+ return abs(first - second) < 3;
+}
+
+static __inline bool is_connectable_interglyph_notes(
const gregorio_note *const first, const gregorio_note *const second)
{
- return first && second
- && abs(first->u.note.pitch - second->u.note.pitch) < 3;
+ return first && second && is_connectable_interglyph_ambitus(
+ first->u.note.pitch, second->u.note.pitch);
}
static __inline bool has_space_to_left(const gregorio_note *const note) {
@@ -1341,7 +1335,7 @@ static __inline bool has_space_to_left(const gregorio_note *const note) {
case S_PUNCTUM_INCLINATUM_DESCENDENS:
case S_PUNCTUM_INCLINATUM_DEMINUTUS:
case S_PUNCTUM_INCLINATUM_AUCTUS:
- return !is_connectable_interglyph_ambitus(note->previous, note);
+ return !is_connectable_interglyph_notes(note->previous, note);
default:
return !note->previous;
@@ -1430,7 +1424,6 @@ static __inline void compute_h_episema(height_computation *const h,
const gregorio_glyph *const glyph, gregorio_note *const note,
const int i, const gtex_type type, const gregorio_score *const score)
{
- signed char next_height;
grehepisema_size size;
if (h->is_applicable(note)) {
@@ -1438,11 +1431,11 @@ static __inline void compute_h_episema(height_computation *const h,
size = h->get_size(note);
if (h->active) {
+ const signed char next_height = compute_h_episema_height(
+ glyph, note, h->vpos);
if (h->connected && is_connected_left(size)
&& (i != 1 || is_connectable_interglyph_ambitus(
- note, h->last_connected_note))) {
- next_height = compute_h_episema_height(glyph, note,
- h->vpos);
+ next_height, h->height))) {
if (h->is_better_height(next_height, h->height)) {
h->height = next_height;
}
@@ -1555,10 +1548,6 @@ static __inline int compute_fused_shift(const gregorio_glyph *glyph)
switch (first_note->u.note.shape) {
case S_QUILISMA:
case S_QUILISMA_QUADRATUM:
- case S_PUNCTUM_CAVUM:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
case S_FLAT:
case S_SHARP:
case S_NATURAL:
@@ -1587,22 +1576,6 @@ static __inline int compute_fused_shift(const gregorio_glyph *glyph)
gregorio_assert(prev_note->type == GRE_NOTE, compute_fused_shift,
"previous note wasn't a note", return 0);
- switch (prev_note->u.note.shape) {
- case S_PUNCTUM_CAVUM:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
- case S_FLAT:
- case S_SHARP:
- case S_NATURAL:
- /* these don't fuse to anything */
- return 0;
-
- default:
- /* anything else is potentially fusible */
- break;
- }
-
shift = first_note->u.note.pitch - prev_note->u.note.pitch;
gregorio_assert(shift >= -MAX_AMBITUS && shift <= MAX_AMBITUS,
compute_fused_shift, "ambitus too large to fuse", return 0);
@@ -1644,70 +1617,6 @@ static __inline int compute_fused_shift(const gregorio_glyph *glyph)
return shift;
}
-static __inline void guess_ledger_lines(const gregorio_element *element,
- const gregorio_score *const score)
-{
- bool high_ledger_line = false;
- bool low_ledger_line = false;
- gregorio_note *prev = NULL;
-
- for (; element; element = element->next) {
- if (element->type == GRE_ELEMENT) {
- gregorio_glyph *glyph;
- for (glyph = element->u.first_glyph; glyph;
- glyph = glyph->next) {
- if (glyph->type == GRE_GLYPH) {
- gregorio_note *note;
- for (note = glyph->u.notes.first_note; note;
- note = note->next) {
- if (note->type == GRE_NOTE) {
- if (high_ledger_line
- && !note->explicit_high_ledger_line
- && !note->supposed_high_ledger_line) {
- note->supposed_high_ledger_line = true;
- }
- if (low_ledger_line
- && !note->explicit_low_ledger_line
- && !note->supposed_low_ledger_line) {
- note->supposed_low_ledger_line = true;
- }
- high_ledger_line = has_high_ledger_line(
- note->u.note.pitch, false, score);
- low_ledger_line = has_low_ledger_line(
- note->u.note.pitch, false);
- if (high_ledger_line) {
- if (!note->explicit_high_ledger_line
- && !note->supposed_high_ledger_line) {
- note->supposed_high_ledger_line = true;
- }
- if (prev && !prev->explicit_high_ledger_line
- && !prev->supposed_high_ledger_line) {
- prev->supposed_high_ledger_line = true;
- }
- }
- if (low_ledger_line) {
- if (!note->explicit_low_ledger_line
- && !note->supposed_low_ledger_line) {
- note->supposed_low_ledger_line = true;
- }
- if (prev && !prev->explicit_low_ledger_line
- && !prev->supposed_low_ledger_line) {
- prev->supposed_low_ledger_line = true;
- }
- }
- prev = note;
- }
- }
- }
- }
- /* this heuristic ends eith the element */
- high_ledger_line = false;
- low_ledger_line = false;
- prev = NULL;
- }
- }
-}
-
void gregoriotex_compute_positioning(
const gregorio_element *const param_element,
const gregorio_score *const score)
@@ -1759,8 +1668,6 @@ void gregoriotex_compute_positioning(
gtex_type type;
const gregorio_element *element;
- guess_ledger_lines(param_element, score);
-
for (element = param_element; element; element = element->next) {
if (element->type == GRE_ELEMENT) {
gregorio_glyph *glyph;
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
index d34af2eaade..0ba25b0e9f7 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file contains functions for writing GregorioTeX from Gregorio structures.
*
- * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2008-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -60,6 +60,8 @@ typedef struct gregoriotex_status {
/* indicates if there is "above lines text" on the line */
bool abovelinestext;
+
+ bool suppressed_custos;
} gregoriotex_status;
#define UNDETERMINED_HEIGHT -127
@@ -73,7 +75,6 @@ static const char *tex_ambitus[] = {
SHAPE(Ancus);
SHAPE(AncusLongqueue);
SHAPE(AscendensOriscus);
-SHAPE(AscendensOriscusCavum);
SHAPE(AscendensOriscusLineBL);
SHAPE(AscendensOriscusLineTL);
SHAPE(AscendensOriscusScapus);
@@ -81,7 +82,6 @@ SHAPE(AscendensOriscusScapusLongqueue);
SHAPE(AscendensOriscusScapusOpenqueue);
SHAPE(AscendensPunctumInclinatum);
SHAPE(DescendensOriscus);
-SHAPE(DescendensOriscusCavum);
SHAPE(DescendensOriscusLineBL);
SHAPE(DescendensOriscusLineTL);
SHAPE(DescendensOriscusScapus);
@@ -103,11 +103,11 @@ SHAPE(FlexusOriscusScapusLongqueue);
SHAPE(FlexusOriscusScapusOpenqueue);
SHAPE(Linea);
SHAPE(LineaPunctum);
-SHAPE(LineaPunctumCavum);
SHAPE(Natural);
-SHAPE(OriscusCavumDeminutus);
SHAPE(OriscusDeminutus);
SHAPE(Pes);
+SHAPE(PesAscendensOriscus);
+SHAPE(PesDescendensOriscus);
SHAPE(PesQuadratum);
SHAPE(PesQuadratumLongqueue);
SHAPE(PesQuadratumOpenqueue);
@@ -117,10 +117,6 @@ SHAPE(PesQuassusInusitatusLongqueue);
SHAPE(PesQuassusInusitatusOpenqueue);
SHAPE(PesQuassusLongqueue);
SHAPE(PesQuassusOpenqueue);
-SHAPE(PesQuilisma);
-SHAPE(PesQuilismaQuadratum);
-SHAPE(PesQuilismaQuadratumLongqueue);
-SHAPE(PesQuilismaQuadratumOpenqueue);
SHAPE(Porrectus);
SHAPE(PorrectusFlexus);
SHAPE(PorrectusFlexusLongqueue);
@@ -129,9 +125,6 @@ SHAPE(PorrectusLongqueue);
SHAPE(PorrectusNobar);
SHAPE(Punctum);
SHAPE(PunctumAscendens);
-SHAPE(PunctumCavum);
-SHAPE(PunctumCavumInclinatum);
-SHAPE(PunctumCavumInclinatumAuctus);
SHAPE(PunctumDeminutus);
SHAPE(PunctumDescendens);
SHAPE(PunctumInclinatumAuctus);
@@ -139,6 +132,10 @@ SHAPE(PunctumInclinatumDeminutus);
SHAPE(PunctumLineBL);
SHAPE(PunctumLineTL);
SHAPE(Quilisma);
+SHAPE(QuilismaPes);
+SHAPE(QuilismaPesQuadratum);
+SHAPE(QuilismaPesQuadratumLongqueue);
+SHAPE(QuilismaPesQuadratumOpenqueue);
SHAPE(Salicus);
SHAPE(SalicusFlexus);
SHAPE(SalicusLongqueue);
@@ -165,7 +162,6 @@ SHAPE(VirgaReversaLongqueueDescendens);
SHAPE(VirgaReversaOpenqueue);
SHAPE(VirgaReversaOpenqueueAscendens);
SHAPE(VirgaReversaOpenqueueDescendens);
-SHAPE(VirgaStrata);
#define LIQ(NAME) static const char *const LIQ_##NAME = #NAME
LIQ(Deminutus);
@@ -214,10 +210,10 @@ static queuetype adjusted_queuetype_of(const gregorio_note *const note,
case 1:
return Q_ON_BOTTOM_LINE;
case 2:
- return queue_note->supposed_low_ledger_line?
+ return queue_note->low_ledger_line?
Q_ON_SPACE_ABOVE_BOTTOM_LINE : Q_ON_SPACE_BELOW_BOTTOM_LINE;
case 3:
- return queue_note->supposed_low_ledger_line?
+ return queue_note->low_ledger_line?
Q_ON_LINE_ABOVE_BOTTOM_LINE : Q_ON_BOTTOM_LINE;
case 5:
case 7:
@@ -578,10 +574,21 @@ static const char *fusible_queued_shape(const gregorio_note *const note,
return compute_glyph_name(glyph, name, LG_NONE, true);
}
+static __inline char *code_point(const char *const shape, const bool is_cavum,
+ char *const buf, const size_t bufsize)
+{
+ if (is_cavum) {
+ gregorio_snprintf(buf, bufsize, "\\GreCavum{%s}", shape);
+ } else {
+ gregorio_snprintf(buf, bufsize, "\\GreCP%s", shape);
+ }
+ return buf;
+}
+
static const char *determine_note_glyph_name(const gregorio_note *const note,
const gregorio_glyph *glyph, gtex_alignment *type)
{
- static char buf[128];
+ static char buf[128], cpbuf[96];
const char *name = "";
gregorio_assert(note, determine_note_glyph_name, "called with NULL pointer",
@@ -607,14 +614,10 @@ static const char *determine_note_glyph_name(const gregorio_note *const note,
return SHAPE_PunctumDescendens;
case S_PUNCTUM_DEMINUTUS:
return SHAPE_PunctumDeminutus;
- case S_PUNCTUM_CAVUM:
- return SHAPE_PunctumCavum;
case S_LINEA:
return SHAPE_Linea;
case S_LINEA_PUNCTUM:
return SHAPE_LineaPunctum;
- case S_LINEA_PUNCTUM_CAVUM:
- return SHAPE_LineaPunctumCavum;
case S_VIRGA:
switch (queuetype_of(note)) {
case Q_ON_SPACE_ABOVE_BOTTOM_LINE:
@@ -643,7 +646,8 @@ static const char *determine_note_glyph_name(const gregorio_note *const note,
if (note->u.note.pitch - LOWEST_PITCH == 3) {
/* if we're on the 'd' line, the queue could be long or short */
gregorio_snprintf(buf, sizeof buf,
- "VirgaReversaAscendensOnDLine{\\GreCP%s}", name);
+ "VirgaReversaAscendensOnDLine{%s}", code_point(name,
+ glyph->u.notes.is_cavum, cpbuf, sizeof cpbuf));
return buf;
}
return name;
@@ -698,21 +702,6 @@ static const char *determine_note_glyph_name(const gregorio_note *const note,
case Q_ON_LINE_ABOVE_BOTTOM_LINE:
return SHAPE_StrophaAuctaLongtail;
} /* all cases return, so this line is not hit; LCOV_EXCL_LINE */
- case S_PUNCTUM_CAVUM_INCLINATUM:
- *type = AT_PUNCTUM_INCLINATUM;
- return SHAPE_PunctumCavumInclinatum;
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
- *type = AT_PUNCTUM_INCLINATUM;
- return SHAPE_PunctumCavumInclinatumAuctus;
- case S_ORISCUS_CAVUM_ASCENDENS:
- *type = AT_ORISCUS;
- return SHAPE_AscendensOriscusCavum;
- case S_ORISCUS_CAVUM_DESCENDENS:
- *type = AT_ORISCUS;
- return SHAPE_DescendensOriscusCavum;
- case S_ORISCUS_CAVUM_DEMINUTUS:
- *type = AT_ORISCUS;
- return SHAPE_OriscusCavumDeminutus;
case S_FLAT:
return SHAPE_Flat;
case S_SHARP:
@@ -883,18 +872,18 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
* look like pes quadratum. */
if (glyph->u.notes.liquescentia
& (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
- *gtype = T_PESQUILISMAQUADRATUM;
- shape = SHAPE_PesQuilismaQuadratum;
+ *gtype = T_QUILISMA_PES_QUADRATUM;
+ shape = SHAPE_QuilismaPesQuadratum;
} else {
- *gtype = T_PESQUILISMA;
- shape = SHAPE_PesQuilisma;
+ *gtype = T_QUILISMA_PES;
+ shape = SHAPE_QuilismaPes;
}
ltype = LG_NO_INITIO;
break;
case S_ORISCUS_ASCENDENS:
case S_ORISCUS_SCAPUS_ASCENDENS:
*type = AT_ORISCUS;
- *gtype = T_PESQUASSUS;
+ *gtype = T_PES_QUASSUS;
shape = quadratum_shape(glyph, SHAPE_PesQuassus,
SHAPE_PesQuassusLongqueue, SHAPE_PesQuassusOpenqueue);
ltype = LG_NO_INITIO;
@@ -902,7 +891,7 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
case S_ORISCUS_DESCENDENS:
case S_ORISCUS_SCAPUS_DESCENDENS:
*type = AT_ORISCUS;
- *gtype = T_PESQUASSUS;
+ *gtype = T_PES_QUASSUS;
shape = quadratum_shape(glyph, SHAPE_PesQuassusInusitatus,
SHAPE_PesQuassusInusitatusLongqueue,
SHAPE_PesQuassusInusitatusOpenqueue);
@@ -912,7 +901,7 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
*type = AT_ONE_NOTE;
if (glyph->u.notes.liquescentia
& (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
- *gtype = T_PESQUADRATUM;
+ *gtype = T_PES_QUADRATUM;
shape = SHAPE_PesQuadratum;
} else {
*gtype = T_PES;
@@ -926,25 +915,31 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
switch (glyph->u.notes.first_note->u.note.shape) {
case S_QUILISMA:
*type = AT_QUILISMA;
- *gtype = T_PESQUILISMAQUADRATUM;
- shape = quadratum_shape(glyph, SHAPE_PesQuilismaQuadratum,
- SHAPE_PesQuilismaQuadratumLongqueue,
- SHAPE_PesQuilismaQuadratumOpenqueue);
+ *gtype = T_QUILISMA_PES_QUADRATUM;
+ shape = quadratum_shape(glyph, SHAPE_QuilismaPesQuadratum,
+ SHAPE_QuilismaPesQuadratumLongqueue,
+ SHAPE_QuilismaPesQuadratumOpenqueue);
ltype = LG_NO_INITIO;
break;
default:
*type = AT_ONE_NOTE;
- *gtype = T_PESQUADRATUM;
+ *gtype = T_PES_QUADRATUM;
shape = quadratum_shape(glyph, SHAPE_PesQuadratum,
SHAPE_PesQuadratumLongqueue, SHAPE_PesQuadratumOpenqueue);
ltype = LG_ALL;
break;
}
break;
- case G_VIRGA_STRATA:
+ case G_PES_ASCENDENS_ORISCUS:
*type = AT_ONE_NOTE;
- *gtype = T_VIRGA_STRATA;
- shape = SHAPE_VirgaStrata;
+ *gtype = T_PES_ORISCUS;
+ shape = SHAPE_PesAscendensOriscus;
+ ltype = LG_ALL;
+ break;
+ case G_PES_DESCENDENS_ORISCUS:
+ *type = AT_ONE_NOTE;
+ *gtype = T_PES_ORISCUS;
+ shape = SHAPE_PesDescendensOriscus;
ltype = LG_ALL;
break;
case G_FLEXA:
@@ -1224,6 +1219,12 @@ static void gtex_write_begin(FILE *f, grestyle_style style)
case ST_FIRST_SYLLABLE_INITIAL:
fprintf(f, "\\GreFirstSyllableInitial{");
break;
+ case ST_PROTRUSION_FACTOR:
+ fprintf(f, "\\GreProtrusion{");
+ break;
+ case ST_PROTRUSION:
+ fprintf(f, "{");
+ break;
default:
break;
}
@@ -1305,12 +1306,17 @@ static __inline void tex_escape_wtext(FILE *const f, const grewchar *text)
/* these characters have special meaning to TeX */
fprintf(f, "\\string\\%03d", *text);
break;
+ /* There is currently no way to get a carriage return or a newline into
+ * an <sp>, but we'll leave this code here, but #if'd out, in case we
+ * need this function in a different context */
+#if 0
case L'\n':
fprintf(f, "\\string\\n");
break;
case L'\r':
- /* ignore */
+ / * ignore * /
break;
+#endif
default:
gregorio_print_unichar(f, *text);
break;
@@ -1772,12 +1778,12 @@ static void write_bar(FILE *f, const gregorio_score *const score,
static __inline char *suppose_high_ledger_line(const gregorio_note *const note)
{
- return note->supposed_high_ledger_line? "\\GreSupposeHighLedgerLine" : "";
+ return note->high_ledger_line? "\\GreSupposeHighLedgerLine" : "";
}
static __inline char *suppose_low_ledger_line(const gregorio_note *const note)
{
- return note->supposed_low_ledger_line? "\\GreSupposeLowLedgerLine" : "";
+ return note->low_ledger_line? "\\GreSupposeLowLedgerLine" : "";
}
/*
@@ -2049,7 +2055,6 @@ static __inline int get_punctum_inclinatum_space_case(
}
break;
case S_PUNCTUM_INCLINATUM_DESCENDENS:
- case S_PUNCTUM_CAVUM_INCLINATUM:
if (note->previous) {
/* means that it is the first note of the puncta inclinata
* sequence */
@@ -2111,7 +2116,6 @@ static __inline int get_punctum_inclinatum_space_case(
} /* LCOV_EXCL_LINE */
break;
case S_PUNCTUM_INCLINATUM_AUCTUS:
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
if (note->previous) {
/* means that it is not the first note of the puncta inclinata
* sequence */
@@ -2413,6 +2417,21 @@ static void write_rare_sign(FILE *f, const gregorio_note *const current_note,
pitch_value(current_note->u.note.pitch),
current_note->gtex_offset_case);
break;
+ case _MUSICA_FICTA_FLAT:
+ fprintf(f, "\\GreMusicaFictaFlat{%d}{\\GreOCase%s}%%\n",
+ pitch_value(current_note->u.note.pitch),
+ current_note->gtex_offset_case);
+ break;
+ case _MUSICA_FICTA_NATURAL:
+ fprintf(f, "\\GreMusicaFictaNatural{%d}{\\GreOCase%s}%%\n",
+ pitch_value(current_note->u.note.pitch),
+ current_note->gtex_offset_case);
+ break;
+ case _MUSICA_FICTA_SHARP:
+ fprintf(f, "\\GreMusicaFictaSharp{%d}{\\GreOCase%s}%%\n",
+ pitch_value(current_note->u.note.pitch),
+ current_note->gtex_offset_case);
+ break;
/* the cases of the bar signs are dealt in another function
* (write_bar) */
default:
@@ -2440,14 +2459,18 @@ static __inline const char *alteration_name(
}
static const char *next_custos(const signed char next_note_pitch,
- const gregorio_shape next_note_alteration)
+ const gregorio_shape next_note_alteration,
+ gregoriotex_status *const status)
{
- static char buf[30];
+ static char buf[50];
- gregorio_snprintf(buf, sizeof buf, "\\GreNextCustos{%d}{%s}",
+ gregorio_snprintf(buf, sizeof buf, "%s\\GreNextCustos{%d}{%s}",
+ status->suppressed_custos? "\\GreResetEolCustos" : "",
pitch_value(next_note_pitch),
alteration_name(next_note_alteration));
+ status->suppressed_custos = false;
+
return buf;
}
@@ -2457,11 +2480,13 @@ static const char *next_custos(const signed char next_note_pitch,
static void write_note(FILE *f, gregorio_note *note,
const gregorio_glyph *glyph, const char next_note_pitch,
- const gregorio_shape next_note_alteration)
+ const gregorio_shape next_note_alteration,
+ gregoriotex_status *const status)
{
unsigned int initial_shape = note->u.note.shape;
const char *shape;
int space_case;
+ static char cpbuf[96];
/* type in the sense of GregorioTeX alignment type */
gtex_alignment type = AT_ONE_NOTE;
gregorio_assert(note, write_note, "called with NULL pointer",
@@ -2498,45 +2523,6 @@ static void write_note(FILE *f, gregorio_note *note,
}
switch (note->u.note.shape) {
- case S_PUNCTUM_CAVUM:
- fprintf(f, "\\GrePunctumCavum{%d}{%s}{%d}",
- pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
- case S_PUNCTUM_CAVUM_INCLINATUM:
- fprintf(f, "\\GrePunctumCavumInclinatum{%d}{%s}{%d}",
- pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
- fprintf(f, "\\GrePunctumCavumInclinatumAuctus{%d}{%s}{%d}",
- pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
- case S_ORISCUS_CAVUM_ASCENDENS:
- fprintf(f, "\\GreAscendensOriscusCavum{%d}{%s}{%d}",
- pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
- case S_ORISCUS_CAVUM_DESCENDENS:
- fprintf(f, "\\GreDescendensOriscusCavum{%d}{%s}{%d}",
- pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
- case S_ORISCUS_CAVUM_DEMINUTUS:
- fprintf(f, "\\GreOriscusCavumDeminutus{%d}{%s}{%d}",
- pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
- case S_LINEA_PUNCTUM_CAVUM:
- fprintf(f, "\\GreLineaPunctumCavum{%d}{%s}{%d}",
- pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
- case S_LINEA:
- fprintf(f, "\\GreLinea{%d}{%s}{%d}", pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
- break;
case S_FLAT:
fprintf(f, "\\GreFlat{%d}{0}", pitch_value(note->u.note.pitch));
break;
@@ -2547,9 +2533,11 @@ static void write_note(FILE *f, gregorio_note *note,
fprintf(f, "\\GreSharp{%d}{0}", pitch_value(note->u.note.pitch));
break;
default:
- fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%s}{%d}", shape,
+ fprintf(f, "\\GreGlyph{%s}{%d}{%s}{%d}",
+ code_point(shape, glyph->u.notes.is_cavum, cpbuf, sizeof cpbuf),
pitch_value(note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
+ next_custos(next_note_pitch, next_note_alteration, status),
+ type);
break;
}
}
@@ -2800,13 +2788,65 @@ static void compute_height_extrema(const gregorio_glyph *const glyph,
height = note->v_episema_height;
} else {
height = note->u.note.pitch;
+
+ /* no vertical episema, so we need to check for a stem */
+ gregorio_assert(glyph->type == GRE_GLYPH, compute_height_extrema,
+ "glyph->type must be GRE_GLYPH here", return);
+ switch (glyph->u.notes.glyph_type) {
+ case G_BIVIRGA:
+ case G_TRIVIRGA:
+ case G_VIRGA:
+ case G_VIRGA_REVERSA:
+ --height;
+ break;
+
+ case G_PUNCTUM:
+ switch (note->u.note.shape) {
+ case S_ORISCUS_SCAPUS_ASCENDENS:
+ case S_ORISCUS_SCAPUS_DESCENDENS:
+ --height;
+ break;
+
+ default:
+ /* default to avoid the warning */
+ break;
+ }
+ break;
+
+ default:
+ /* default to avoid the warning */
+
+ /* other shapes like the porrectus have stems, but the height
+ * computation will cover other notes in the shape, negating
+ * the need to account for the stem on the shape */
+ break;
+ }
}
+
if (*bottom_height == UNDETERMINED_HEIGHT || height < *bottom_height) {
*bottom_height = height;
}
}
}
+static void compute_element_height_extrema(
+ const gregorio_element *const element, signed char *const top_height,
+ signed char *const bottom_height)
+{
+ const gregorio_glyph *glyph;
+ gregorio_not_null(element, compute_element_height_extrema, return);
+ if (element->type != GRE_ELEMENT) {
+ return;
+ }
+ /* get the minima/maxima pitches */
+ for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) {
+ if (glyph->type == GRE_GLYPH) {
+ compute_height_extrema(glyph, glyph->u.notes.first_note,
+ top_height, bottom_height);
+ }
+ }
+}
+
static __inline void fixup_height_extrema(signed char *const top_height,
signed char *const bottom_height)
{
@@ -2818,6 +2858,12 @@ static __inline void fixup_height_extrema(signed char *const top_height,
}
}
+static __inline bool is_ledger_drawn(const bool setting,
+ const gregorio_ledger_specificity specificity)
+{
+ return ((specificity & LEDGER_DRAWN) && setting);
+}
+
static void write_signs(FILE *f, gtex_type type,
const gregorio_glyph *glyph, const gregorio_note *note,
int fuse_to_next_note, gregoriotex_status *const status,
@@ -2836,16 +2882,19 @@ static void write_signs(FILE *f, gtex_type type,
for (current_note = note, i = 1; current_note;
current_note = current_note->next, ++i) {
/* we start by the additional lines */
- if (current_note->u.note.pitch <= LOW_LEDGER_LINE_PITCH) {
+ if (is_ledger_drawn(current_note->low_ledger_line,
+ current_note->low_ledger_specificity)) {
write_additional_line(f, i, type, true, current_note, score);
status->bottom_line = 1;
}
- if (current_note->u.note.pitch >= score->high_ledger_line_pitch) {
+ if (is_ledger_drawn(current_note->high_ledger_line,
+ current_note->high_ledger_specificity)) {
write_additional_line(f, i, type, false, current_note, score);
}
if (current_note->texverb) {
fprintf(f, "%% verbatim text at note level:\n%s%%\n"
- "%% end of verbatim text\n", current_note->texverb);
+ "%% end of verbatim text\n",
+ gregorio_texverb(current_note->texverb));
}
if (type == T_ONE_NOTE) {
break;
@@ -2925,7 +2974,7 @@ static void write_signs(FILE *f, gtex_type type,
fprintf(f, "}%%\n");
}
-static char *determine_leading_shape(gregorio_glyph *glyph)
+static char *determine_leading_shape(const gregorio_glyph *const glyph)
{
static char buf[BUFSIZE];
int ambitus = compute_ambitus(glyph->u.notes.first_note);
@@ -2966,10 +3015,10 @@ static __inline void write_composed_multinote_glyph(FILE *const f,
const bool has_next = current_note->next != NULL;
if (has_next) {
write_note(f, current_note, glyph, current_note->next->u.note.pitch,
- S_UNDETERMINED);
+ S_UNDETERMINED, status);
} else {
write_note(f, current_note, glyph, next_note_pitch,
- next_note_alteration);
+ next_note_alteration, status);
}
write_signs(f, T_ONE_NOTE, glyph, current_note,
has_next ? 0 : fuse_to_next_note, status, score);
@@ -2980,13 +3029,13 @@ static __inline void write_composed_multinote_glyph(FILE *const f,
}
}
-static void write_glyph(FILE *f, gregorio_syllable *syllable,
- gregorio_element *element, gregorio_glyph *glyph,
+static void write_glyph(FILE *const f, const gregorio_syllable *const syllable,
+ const gregorio_element *const element,
+ gregorio_glyph *const glyph,
gregoriotex_status *const status, const gregorio_score *const score)
{
- /* glyph number is the number of the glyph in the fonte, it is discussed in
- * later comments
- * type is the type of the glyph. Understand the type of the glyph for
+ static char cpbuf[96], cpbuf2[96];
+ /* type is the type of the glyph. Understand the type of the glyph for
* gregoriotex, for the alignement between text and notes. (AT_ONE_NOTE,
* etc.) */
gtex_alignment type = 0;
@@ -3034,9 +3083,11 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable,
|| glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA
|| glyph->u.notes.liquescentia == L_FUSED) {
shape = gregoriotex_determine_glyph_name(glyph, &type, &gtype);
- fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%s}{%d}", shape,
+ fprintf(f, "\\GreGlyph{%s}{%d}{%s}{%d}", code_point(shape,
+ glyph->u.notes.is_cavum, cpbuf, sizeof cpbuf),
pitch_value(glyph->u.notes.first_note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
+ next_custos(next_note_pitch, next_note_alteration, status),
+ type);
write_signs(f, gtype, glyph, glyph->u.notes.first_note,
fuse_to_next_note, status, score);
} else {
@@ -3049,9 +3100,11 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable,
gregorio_assert(glyph->u.notes.liquescentia & L_DEMINUTUS,
write_glyph, "encountered a non-deminutus ancus", break);
shape = gregoriotex_determine_glyph_name(glyph, &type, &gtype);
- fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%s}{%d}", shape,
+ fprintf(f, "\\GreGlyph{%s}{%d}{%s}{%d}", code_point(shape,
+ glyph->u.notes.is_cavum, cpbuf, sizeof cpbuf),
pitch_value(glyph->u.notes.first_note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
+ next_custos(next_note_pitch, next_note_alteration, status),
+ type);
write_signs(f, gtype, glyph, glyph->u.notes.first_note,
fuse_to_next_note, status, score);
break;
@@ -3063,10 +3116,14 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable,
glyph->u.notes.glyph_type = G_PORRECTUS_FLEXUS_NO_BAR;
glyph->u.notes.first_note = current_note->next;
shape = gregoriotex_determine_glyph_name(glyph, &type, &gtype);
- fprintf(f, "\\GreGlyph{\\GreFuseTwo{\\GreCP%s}{\\GreCP%s}}{%d}"
- "{%s}{%d}", leading_shape, shape,
+ fprintf(f, "\\GreGlyph{\\GreFuseTwo{%s}{%s}}{%d}{%s}{%d}",
+ code_point(leading_shape, glyph->u.notes.is_cavum, cpbuf,
+ sizeof cpbuf),
+ code_point(shape, glyph->u.notes.is_cavum, cpbuf2,
+ sizeof cpbuf2),
pitch_value(glyph->u.notes.first_note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
+ next_custos(next_note_pitch, next_note_alteration, status),
+ type);
glyph->u.notes.first_note = current_note;
glyph->u.notes.glyph_type = G_TORCULUS_RESUPINUS_FLEXUS;
write_signs(f, gtype, glyph, glyph->u.notes.first_note,
@@ -3092,9 +3149,6 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable,
case S_ORISCUS_ASCENDENS:
case S_ORISCUS_DESCENDENS:
case S_ORISCUS_DEMINUTUS:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
case S_ORISCUS_SCAPUS_ASCENDENS:
case S_ORISCUS_SCAPUS_DESCENDENS:
/* don't change the oriscus */
@@ -3131,7 +3185,7 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable,
case G_STROPHA_AUCTA:
case G_ALTERATION:
write_note(f, glyph->u.notes.first_note, glyph, next_note_pitch,
- next_note_alteration);
+ next_note_alteration, status);
write_signs(f, T_ONE_NOTE, glyph, current_note, fuse_to_next_note,
status, score);
break;
@@ -3148,10 +3202,14 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable,
glyph->u.notes.glyph_type = G_PORRECTUS_NO_BAR;
glyph->u.notes.first_note = current_note->next;
shape = gregoriotex_determine_glyph_name(glyph, &type, &gtype);
- fprintf(f, "\\GreGlyph{\\GreFuseTwo{\\GreCP%s}{\\GreCP%s}}"
- "{%d}{%s}{%d}", leading_shape, shape,
+ fprintf(f, "\\GreGlyph{\\GreFuseTwo{%s}{%s}}{%d}{%s}{%d}",
+ code_point(leading_shape, glyph->u.notes.is_cavum, cpbuf,
+ sizeof cpbuf),
+ code_point(shape, glyph->u.notes.is_cavum, cpbuf2,
+ sizeof cpbuf2),
pitch_value(glyph->u.notes.first_note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
+ next_custos(next_note_pitch, next_note_alteration, status),
+ type);
glyph->u.notes.first_note = current_note;
glyph->u.notes.glyph_type = G_TORCULUS_RESUPINUS;
write_signs(f, gtype, glyph, glyph->u.notes.first_note,
@@ -3159,9 +3217,11 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable,
break;
} else {
shape = gregoriotex_determine_glyph_name(glyph, &type, &gtype);
- fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%s}{%d}",
- shape, pitch_value(glyph->u.notes.first_note->u.note.pitch),
- next_custos(next_note_pitch, next_note_alteration), type);
+ fprintf(f, "\\GreGlyph{%s}{%d}{%s}{%d}", code_point(shape,
+ glyph->u.notes.is_cavum, cpbuf, sizeof cpbuf),
+ pitch_value(glyph->u.notes.first_note->u.note.pitch),
+ next_custos(next_note_pitch, next_note_alteration, status),
+ type);
write_signs(f, gtype, glyph, glyph->u.notes.first_note,
fuse_to_next_note, status, score);
break;
@@ -3184,8 +3244,10 @@ static __inline unsigned int glyph_note_units(const gregorio_glyph *glyph)
/* here we absolutely need to pass the syllable as an argument, because we
* will need the next note, that may be contained in the next syllable */
-static unsigned int write_element(FILE *f, gregorio_syllable *syllable,
- gregorio_element *element, gregoriotex_status *status,
+static unsigned int write_element(FILE *const f,
+ const gregorio_syllable *const syllable,
+ const gregorio_element *const element,
+ gregoriotex_status *const status,
const gregorio_score *const score)
{
unsigned int note_unit_count = 0;
@@ -3217,7 +3279,8 @@ static unsigned int write_element(FILE *f, gregorio_syllable *syllable,
case GRE_TEXVERB_GLYPH:
if (glyph->texverb) {
fprintf(f, "%% verbatim text at glyph level:\n%s%%\n"
- "%% end of verbatim text\n", glyph->texverb);
+ "%% end of verbatim text\n",
+ gregorio_texverb(glyph->texverb));
}
break;
@@ -3311,7 +3374,7 @@ static void write_text(FILE *const f, const gregorio_character *const text)
* \GreChangeClef.
*/
static void gregoriotex_print_change_line_clef(FILE *f,
- gregorio_element *current_element)
+ const gregorio_element *const current_element)
{
if (current_element->type == GRE_CLEF) {
/* the third argument is 0 or 1 according to the need for a space
@@ -3394,7 +3457,8 @@ static void handle_final_bar(FILE *f, const char *type, gregorio_syllable *sylla
case GRE_TEXVERB_ELEMENT:
if (element->texverb) {
fprintf(f, "%% verbatim text at element level:\n%s%%\n"
- "%% end of verbatim text\n", element->texverb);
+ "%% end of verbatim text\n",
+ gregorio_texverb(element->texverb));
}
break;
@@ -3428,21 +3492,23 @@ static __inline void write_syllable_point_and_click(FILE *const f,
}
static void write_syllable_text(FILE *f, const char *const syllable_type,
- const bool forced_center, const gregorio_character *text,
+ const gregorio_syllable *const syllable,
const bool ignored __attribute__((unused)))
{
if (syllable_type != NULL) {
- fprintf(f, "%s{%s\\GreSetThisSyllable", syllable_type,
- forced_center? "\\GreGABCForceCenters" : "");
- write_text(f, text);
+ fprintf(f, "%s{%s%s\\GreSetThisSyllable", syllable_type,
+ syllable->clear? "\\GreClearSyllableText" : "",
+ syllable->forced_center? "\\GreGABCForceCenters" : "");
+ write_text(f, syllable->text);
fprintf(f, "}");
}
}
static void write_first_syllable_text(FILE *f, const char *const syllable_type,
- const bool forced_center, const gregorio_character *const text,
+ const gregorio_syllable *const syllable,
const bool end_of_word)
{
+ const gregorio_character *const text = syllable->text;
gregorio_not_null(syllable_type, write_first_syllable_text, return);
if (text == NULL) {
fprintf(f, "}{%s}{\\GreSetNoFirstSyllableText}", syllable_type);
@@ -3452,7 +3518,7 @@ static void write_first_syllable_text(FILE *f, const char *const syllable_type,
const gregorio_character *t;
/* find out if there is a forced center -> has_forced_center */
- gregorio_center_determination center = forced_center?
+ gregorio_center_determination center = syllable->forced_center?
CENTER_FULLY_DETERMINED : CENTER_NOT_DETERMINED;
gregorio_rebuild_first_syllable(&text_with_initial, false);
@@ -3463,8 +3529,9 @@ static void write_first_syllable_text(FILE *f, const char *const syllable_type,
gregorio_rebuild_characters(&text_without_initial, center, true);
gregorio_set_first_word(&text_without_initial);
- fprintf(f, "}{%s}{%s\\GreSetFirstSyllableText", syllable_type,
- forced_center? "\\GreGABCForceCenters" : "");
+ fprintf(f, "}{%s}{%s%s\\GreSetFirstSyllableText", syllable_type,
+ syllable->clear? "\\GreClearSyllableText" : "",
+ syllable->forced_center? "\\GreGABCForceCenters" : "");
fprintf(f, "{");
gregorio_write_first_letter_alignment_text(WTP_FIRST_SYLLABLE,
@@ -3628,6 +3695,30 @@ static __inline void handle_last_of_voice(FILE *const f,
}
}
+static bool is_before_linebreak(const gregorio_syllable *syllable,
+ const gregorio_element *element)
+{
+ if (element) {
+ element = element->next;
+ }
+
+ while (syllable) {
+ if (element) {
+ if (element->type == GRE_END_OF_LINE) {
+ return true;
+ }
+ break;
+ }
+
+ syllable = syllable->next_syllable;
+ if (syllable) {
+ element = syllable->elements[0];
+ }
+ }
+
+ return false;
+}
+
/*
* Arguments are relatively obvious. The most obscure is certainly first_of_disc
* which is 0 all the time, except in the case of a "clef change syllable". In
@@ -3646,9 +3737,9 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
const gregorio_score *const score,
const gregorio_element *const *const last_of_voice,
void (*const write_this_syllable_text)
- (FILE *, const char *, bool, const gregorio_character *, bool))
+ (FILE *, const char *, const gregorio_syllable *, bool))
{
- gregorio_element *clef_change_element = NULL, *element;
+ const gregorio_element *clef_change_element = NULL, *element;
const char *syllable_type = NULL;
bool anticipated_event_written = false;
bool end_of_word;
@@ -3670,13 +3761,13 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
if (syllable->euouae == EUOUAE_BEGINNING) {
fprintf(f, "\\GreBeginEUOUAE{%hu}%%\n", syllable->euouae_id);
}
- /*
- * first we check if the syllable is only a end of line. If it is the case,
- * we don't print anything but a comment (to be able to read it if we read
- * GregorioTeX). The end of lines are treated separately in GregorioTeX, it
- * is buit inside the TeX structure.
- */
if (syllable->elements && *(syllable->elements)) {
+ /*
+ * first we check if the syllable is only a end of line. If it is the
+ * case, we don't print anything but a comment (to be able to read it
+ * if we read GregorioTeX). The end of lines are treated separately in
+ * GregorioTeX, it is buit inside the TeX structure.
+ */
if ((syllable->elements)[0]->type == GRE_END_OF_LINE) {
gregorio_assert(syllable != score->first_syllable, write_syllable,
"line break is not supported on the first syllable",
@@ -3686,8 +3777,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
} else {
fprintf(f, "%%\n%%\n\\GreNewLine %%\n%%\n%%\n");
}
- write_this_syllable_text(f, NULL, syllable->forced_center,
- syllable->text, end_of_word);
+ write_this_syllable_text(f, NULL, syllable, end_of_word);
return;
}
/*
@@ -3714,8 +3804,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
write_syllable(f, syllable, 2, status, score, last_of_voice,
write_syllable_text);
fprintf(f, "}%%\n");
- write_this_syllable_text(f, NULL, syllable->forced_center,
- syllable->text, end_of_word);
+ write_this_syllable_text(f, NULL, syllable, end_of_word);
return;
}
}
@@ -3727,16 +3816,14 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
&& (syllable->elements)[0]->u.misc.unpitched.info.bar
== B_DIVISIO_FINALIS) {
handle_final_bar(f, "DivisioFinalis", syllable);
- write_this_syllable_text(f, NULL, syllable->forced_center,
- syllable->text, end_of_word);
+ write_this_syllable_text(f, NULL, syllable, end_of_word);
return;
}
if (!syllable->next_syllable && !syllable->text
&& (syllable->elements)[0]->u.misc.unpitched.info.bar
== B_DIVISIO_MAIOR) {
handle_final_bar(f, "DivisioMaior", syllable);
- write_this_syllable_text(f, NULL, syllable->forced_center,
- syllable->text, end_of_word);
+ write_this_syllable_text(f, NULL, syllable, end_of_word);
return;
}
}
@@ -3755,8 +3842,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
syllable->next_syllable? syllable->next_syllable->text : NULL);
syllable_type = "\\GreNoNoteSyllable";
}
- write_this_syllable_text(f, syllable_type, syllable->forced_center,
- syllable->text, end_of_word);
+ write_this_syllable_text(f, syllable_type, syllable, end_of_word);
fprintf(f, "{}{\\Gre%s}", syllable->first_word ? "FirstWord" : "Unstyled");
if (end_of_word) {
fprintf(f, "{1}");
@@ -3816,12 +3902,18 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
if (syllable->elements) {
for (element = *syllable->elements; element; element = element->next) {
if (element->nabc_lines && element->nabc) {
+ signed char high_pitch = UNDETERMINED_HEIGHT;
+ signed char low_pitch = UNDETERMINED_HEIGHT;
size_t i;
+ compute_element_height_extrema(element, &high_pitch,
+ &low_pitch);
+ fixup_height_extrema(&high_pitch, &low_pitch);
for (i = 0; i < element->nabc_lines; i++) {
if (element->nabc[i]) {
fprintf(f, "\\GreNABCNeumes{%d}{", (int)(i+1));
tex_escape_text(f, element->nabc[i]);
- fprintf(f, "}%%\n");
+ fprintf(f, "}{%d}{%d}%%\n", pitch_value(high_pitch),
+ pitch_value(low_pitch));
}
}
}
@@ -3875,7 +3967,8 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
case GRE_TEXVERB_ELEMENT:
if (element->texverb) {
fprintf(f, "%% verbatim text at element level:\n%s%%\n"
- "%% end of verbatim text\n", element->texverb);
+ "%% end of verbatim text\n",
+ gregorio_texverb(element->texverb));
}
break;
@@ -3890,29 +3983,45 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
case GRE_ALT:
if (element->texverb) {
- fprintf(f, "\\GreSetTextAboveLines{%s}%%\n", element->texverb);
+ fprintf(f, "\\GreSetTextAboveLines{%s}%%\n",
+ gregorio_texverb(element->texverb));
}
break;
case GRE_CLEF:
/* We don't print clef changes at the end of a line */
if (first_of_disc != 1) {
- /* the third argument is 0 or 1 according to the need
- * for a space before the clef */
- fprintf(f, "\\GreChangeClef{%c}{%d}{%c}{%d}{%c}{%d}{%d}%%\n",
- gregorio_clef_to_char(element->u.misc.clef.clef),
- element->u.misc.clef.line,
- (!element->previous || element->previous->type
- == GRE_BAR)? '0' : '1',
- clef_flat_height(element->u.misc.clef.clef,
- element->u.misc.clef.line,
- element->u.misc.clef.flatted),
- gregorio_clef_to_char(
- element->u.misc.clef.secondary_clef),
- element->u.misc.clef.secondary_line,
- clef_flat_height(element->u.misc.clef.secondary_clef,
- element->u.misc.clef.secondary_line,
- element->u.misc.clef.secondary_flatted));
+ if (is_before_linebreak(syllable, element)) {
+ signed char next_note_pitch;
+ gregorio_shape next_note_alteration;
+
+ next_note_pitch = gregorio_adjust_pitch_into_staff(
+ score, gregorio_determine_next_pitch(
+ syllable, element, NULL, &next_note_alteration)
+ - element->u.misc.clef.pitch_difference);
+
+ fputs(next_custos(next_note_pitch, next_note_alteration,
+ status), f);
+ gregoriotex_print_change_line_clef(f, element);
+ } else {
+ /* the third argument is 0 or 1 according to the need
+ * for a space before the clef */
+ fprintf(f, "\\GreChangeClef{%c}{%d}{%c}{%d}{%c}{%d}{%d}%%\n",
+ gregorio_clef_to_char(element->u.misc.clef.clef),
+ element->u.misc.clef.line,
+ (!element->previous || element->previous->type
+ == GRE_BAR)? '0' : '1',
+ clef_flat_height(element->u.misc.clef.clef,
+ element->u.misc.clef.line,
+ element->u.misc.clef.flatted),
+ gregorio_clef_to_char(
+ element->u.misc.clef.secondary_clef),
+ element->u.misc.clef.secondary_line,
+ clef_flat_height(
+ element->u.misc.clef.secondary_clef,
+ element->u.misc.clef.secondary_line,
+ element->u.misc.clef.secondary_flatted));
+ }
}
break;
@@ -3921,10 +4030,9 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
signed char next_note_pitch;
gregorio_shape next_note_alteration;
const char *alteration = "";
- /*
- * We don't print custos before a bar at the end of a line
- */
- /* we also print an unbreakable larger space before the custo */
+ /* We don't print custos before a bar at the end of a line.
+ * We also print an unbreakable larger space before the
+ * custos */
handle_last_of_voice(f, syllable, element, *last_of_voice);
next_note_pitch = gregorio_determine_next_pitch(syllable,
element, NULL, &next_note_alteration);
@@ -3933,11 +4041,18 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
}
fprintf(f, "\\GreCustos{%d}{%s}%s%%\n",
pitch_value(element->u.misc.pitched.pitch), alteration,
- next_custos(next_note_pitch, next_note_alteration));
+ next_custos(next_note_pitch, next_note_alteration,
+ status));
++note_unit_count;
}
break;
+ case GRE_SUPPRESS_CUSTOS:
+ handle_last_of_voice(f, syllable, element, *last_of_voice);
+ fprintf(f, "\\GreSuppressEolCustos %%\n");
+ status->suppressed_custos = true;
+ break;
+
case GRE_BAR:
handle_last_of_voice(f, syllable, element, *last_of_voice);
write_bar(f, score, syllable, element, first_of_disc);
@@ -4018,6 +4133,7 @@ static void initialize_score(gregoriotex_status *const status,
status->bottom_line = false;
status->top_height = status->bottom_height = UNDETERMINED_HEIGHT;
status->abovelinestext = status->translation = false;
+ status->suppressed_custos = false;
/* first pass to compute positioning */
for (syllable = score->first_syllable; syllable;
@@ -4172,6 +4288,90 @@ static int first_note_near_clef(const gregorio_score *const score) {
return 1;
}
+static int clef_size(const gregorio_clef_info *const clef)
+{
+ /* this is a heuristic clef size approximation:
+ * C-clef = 1
+ * F-clef = 2
+ * flatted = +2
+ * unstacked double-clef = +1 (plus the clef size)
+ */
+ /* purposely making line signed */
+ int line_diff = clef->line - clef->secondary_line;
+ int size;
+ if (clef->clef == CLEF_F) {
+ size = 2;
+ } else {
+ size = 1;
+ }
+ if (clef->flatted) {
+ size += 2;
+ }
+ if (clef->secondary_line) {
+ if (line_diff < -1 || line_diff > 1) { /* stacked */
+ int secondary_size;
+ if (clef->secondary_clef == CLEF_F) {
+ secondary_size = 2;
+ } else {
+ secondary_size = 1;
+ }
+ if (clef->secondary_flatted) {
+ secondary_size += 2;
+ }
+ if (secondary_size > size) {
+ size = secondary_size;
+ }
+ } else { /* unstacked */
+ size += 1;
+ if (clef->secondary_clef == CLEF_F) {
+ size += 2;
+ } else {
+ size += 1;
+ }
+ if (clef->secondary_flatted) {
+ size += 2;
+ }
+ }
+ }
+ return size;
+}
+
+static void write_largest_clef(FILE *const f, gregorio_score *const score)
+{
+ const gregorio_syllable *syllable;
+ const gregorio_element *element;
+ gregorio_clef_info clef = gregorio_default_clef;
+ int size;
+
+ if (score->first_voice_info) {
+ clef = score->first_voice_info->initial_clef;
+ }
+ size = clef_size(&clef);
+
+ for (syllable = score->first_syllable; syllable;
+ syllable = syllable->next_syllable) {
+ if (syllable->elements) {
+ for (element = *syllable->elements; element;
+ element = element->next) {
+ if (element->type == GRE_CLEF) {
+ const int this_size = clef_size(&element->u.misc.clef);
+ if (this_size > size) {
+ clef = element->u.misc.clef;
+ size = this_size;
+ }
+ }
+ }
+ }
+ }
+
+ fprintf(f, "\\GreSetLargestClef{%c}{%d}{%d}{%c}{%d}{%d}%%\n",
+ gregorio_clef_to_char(clef.clef), clef.line,
+ clef_flat_height(clef.clef, clef.line, clef.flatted),
+ gregorio_clef_to_char(clef.secondary_clef), clef.secondary_line,
+ clef_flat_height(clef.secondary_clef, clef.secondary_line,
+ clef.secondary_flatted));
+}
+
void gregoriotex_write_score(FILE *const f, gregorio_score *const score,
const char *const point_and_click_filename)
{
@@ -4210,12 +4410,16 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score,
write_headers(f, score);
- fprintf(f, "\\GreBeginScore{%s}{%d}{%d}{%d}{%d}{%s}{%u}%%\n",
+ if (score->first_voice_info) {
+ clef = score->first_voice_info->initial_clef;
+ }
+ fprintf(f, "\\GreBeginScore{%s}{%d}{%d}{%d}{%d}{%s}{%u}"
+ "{\\GreInitialClefPosition{%d}{%d}}%%\n",
digest_to_hex(score->digest), status.top_height,
status.bottom_height, bool_to_int(status.translation),
bool_to_int(status.abovelinestext),
point_and_click_filename? point_and_click_filename : "",
- score->staff_lines);
+ score->staff_lines, clef.line, clef.secondary_line);
if (score->nabc_lines) {
fprintf(f, "\\GreScoreNABCLines{%d}", (int)score->nabc_lines);
}
@@ -4247,21 +4451,12 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score,
fprintf(f, "}%%\n");
}
- /* DEPRECATED for removal in 5.0 */
- /* LCOV_EXCL_START */
- if (score->initial_style != INITIAL_NOT_SPECIFIED) { /* DEPRECATED for removal in 5.0 */
- fprintf(f, "\\GreSetInitialStyle{%d}%%\n", score->initial_style); /* DEPRECATED for removal in 5.0 */
- }
- /* LCOV_EXCL_STOP */
-
+ write_largest_clef(f, score);
fprintf(f, "\\GreScoreOpening{%%\n"); /* GreScoreOpening#1 */
if (score->first_voice_info) {
gregoriotex_write_voice_info(f, score->first_voice_info);
}
fprintf(f, "}{%%\n"); /* GreScoreOpening#2 */
- if (score->first_voice_info) {
- clef = score->first_voice_info->initial_clef;
- }
fprintf(f, "\\GreSetInitialClef{%c}{%d}{%d}{%c}{%d}{%d}{%d}%%\n",
gregorio_clef_to_char(clef.clef), clef.line,
clef_flat_height(clef.clef, clef.line, clef.flatted),
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h
index 3a2ca07bde5..af0533dcd73 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes GregorioTeX writing data structures and entry points.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -35,14 +35,14 @@ typedef enum gtex_type {
T_ONE_NOTE = 1,
/* two note neumes */
T_PES,
- T_PESQUADRATUM,
- T_PESQUILISMA,
- T_PESQUASSUS,
- T_PESQUILISMAQUADRATUM,
+ T_PES_QUADRATUM,
+ T_QUILISMA_PES,
+ T_PES_QUASSUS,
+ T_QUILISMA_PES_QUADRATUM,
T_FLEXUS,
T_FLEXUS_ORISCUS,
T_FLEXUS_ORISCUS_SCAPUS,
- T_VIRGA_STRATA,
+ T_PES_ORISCUS,
/* three note neumes */
T_PORRECTUS,
T_TORCULUS,
diff --git a/Build/source/texk/gregorio/gregorio-src/src/messages.c b/Build/source/texk/gregorio/gregorio-src/src/messages.c
index 5033a9e7152..2885a45246d 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/messages.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/messages.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file contains functions for logging messages, warnings, and errors.
*
- * Copyright (C) 2009-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2009-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -67,8 +67,11 @@ static const char *verbosity_to_str(const gregorio_verbosity verbosity)
str = _("warning:");
break;
case VERBOSITY_DEPRECATION:
+ /* if there is no deprecation, these lines will not be hit */
+ /* LCOV_EXCL_START */
str = _("deprecation:");
break;
+ /* LCOV_EXCL_STOP */
case VERBOSITY_ERROR:
str = _("error:");
break;
@@ -139,9 +142,12 @@ void gregorio_messagef(const char *function_name,
switch (verbosity) {
case VERBOSITY_DEPRECATION:
+ /* if there is no deprecation, these lines will not be hit */
+ /* LCOV_EXCL_START */
if (deprecation_is_warning) {
break;
}
+ /* LCOV_EXCL_STOP */
/* else fall through */
case VERBOSITY_ERROR:
case VERBOSITY_ASSERTION:
diff --git a/Build/source/texk/gregorio/gregorio-src/src/messages.h b/Build/source/texk/gregorio/gregorio-src/src/messages.h
index 0939b6beff3..4e92b5a2a00 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/messages.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/messages.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes the message logging functions.
*
- * Copyright (C) 2009-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2009-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/plugins.h b/Build/source/texk/gregorio/gregorio-src/src/plugins.h
index bdfb4fa0566..f88ab14c1f3 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/plugins.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/plugins.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes the "main" entry points for reading and writing data.
*
- * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2008-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -23,12 +23,14 @@
#ifndef PLUGINS_H
#define PLUGINS_H
+#include "bool.h"
+
void dump_write_score(FILE *f, gregorio_score *score);
void dump_write_characters(FILE *const f,
const gregorio_character *current_character);
-gregorio_score *gabc_read_score(FILE *f_in);
+gregorio_score *gabc_read_score(FILE *f_in, bool point_and_click);
void gabc_write_score(FILE *f, gregorio_score *score);
diff --git a/Build/source/texk/gregorio/gregorio-src/src/sha1.c b/Build/source/texk/gregorio/gregorio-src/src/sha1.c
index 9ebd6d28c8a..e099bfd0074 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/sha1.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/sha1.c
@@ -2,7 +2,7 @@
* sha1.c - Functions to compute SHA1 message digest of files or
* memory blocks according to the NIST specification FIPS-180-1.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
* Copyright (C) 2000-2001, 2003-2006, 2008-2014 Free Software Foundation, Inc.
*
* This file is part of Gregorio.
diff --git a/Build/source/texk/gregorio/gregorio-src/src/sha1.h b/Build/source/texk/gregorio/gregorio-src/src/sha1.h
index aa8ec20ed85..9a2d2c7e708 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/sha1.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/sha1.h
@@ -2,7 +2,7 @@
* Declarations of functions and data types used for SHA1 sum
* library functions.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
* Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2014 Free Software
* Foundation, Inc.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct.c b/Build/source/texk/gregorio/gregorio-src/src/struct.c
index f7ec4f2db0e..6259e9ad0e6 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/struct.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/struct.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the Gregorio data structures.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -58,15 +58,20 @@ unsigned short tex_position_id = 0;
gregorio_clef_info gregorio_default_clef = {
/*.line =*/ 3,
/*.secondary_line =*/ 0,
+ /*.pitch_difference =*/ 0,
/*.clef =*/ CLEF_C,
/*.flatted =*/ false,
/*.secondary_clef =*/ CLEF_C, /* not used since secondary_line is 0 */
/*.secondary_flatted =*/ false,
};
-static size_t hepisema_adjustments_capacity;
-static unsigned short hepisema_adjustments_last;
-static gregorio_hepisema_adjustment *hepisema_adjustments;
+static size_t hepisema_adjustments_capacity = 0;
+static unsigned short hepisema_adjustments_last = 0;
+static gregorio_hepisema_adjustment *hepisema_adjustments = NULL;
+
+static size_t texverbs_capacity = 0;
+static unsigned short texverbs_last = 0;
+static char **texverbs = NULL;
void gregorio_struct_init(void)
{
@@ -75,12 +80,18 @@ void gregorio_struct_init(void)
&hepisema_adjustments_capacity, gregorio_hepisema_adjustment);
hepisema_adjustments[0].vbasepos = HVB_AUTO;
hepisema_adjustments[0].nudge = NULL;
+
+ texverbs_capacity = 32;
+ texverbs = gregorio_grow_buffer(NULL, &texverbs_capacity, char *);
+ texverbs[0] = NULL;
}
void gregorio_struct_destroy(void)
{
size_t i;
gregorio_hepisema_adjustment *adj;
+ char **texverb;
+
for (i = 0, adj = hepisema_adjustments; i <= hepisema_adjustments_last;
++i, ++adj) {
if (adj->nudge) {
@@ -88,6 +99,45 @@ void gregorio_struct_destroy(void)
}
}
free(hepisema_adjustments);
+
+ for (i = 0, texverb = texverbs; i <= texverbs_last; ++i, ++texverb) {
+ if (*texverb) {
+ /* If the code falls here, this is a programming error. */
+ /* LCOV_EXCL_START */
+ gregorio_fail(gregorio_struct_destroy, "unfreed texverb");
+ free(*texverb);
+ }
+ /* LCOV_EXCL_STOP */
+ }
+ free(texverbs);
+}
+
+static unsigned short register_texverb(char *const texverb)
+{
+ if (texverbs_last == USHRT_MAX) {
+ /* It's not reasonable to trigger this condition while testing */
+ /* LCOV_EXCL_START */
+ gregorio_message(_("too many texverbs"), "register_texverb",
+ VERBOSITY_ERROR, 0);
+ return 0;
+ /* LCOV_EXCL_STOP */
+ }
+ ++texverbs_last;
+ if (texverbs_last >= texverbs_capacity) {
+ texverbs = gregorio_grow_buffer(texverbs, &texverbs_capacity, char *);
+ }
+ texverbs[texverbs_last] = texverb;
+ return texverbs_last;
+}
+
+static void free_one_texverb(unsigned short index)
+{
+ if (index) {
+ gregorio_assert(index <= texverbs_last, gregorio_texverb,
+ "array index out of bounds", return);
+ free(texverbs[index]);
+ texverbs[index] = NULL;
+ }
}
static gregorio_note *create_and_link_note(gregorio_note **current_note,
@@ -160,8 +210,12 @@ void gregorio_add_note(gregorio_note **current_note, signed char pitch,
prototype->he_adjustment_index[SO_OVER];
element->he_adjustment_index[SO_UNDER] =
prototype->he_adjustment_index[SO_UNDER];
+ element->high_ledger_line = prototype->high_ledger_line;
+ element->high_ledger_specificity = prototype->high_ledger_specificity;
+ element->low_ledger_line = prototype->low_ledger_line;
+ element->low_ledger_specificity = prototype->low_ledger_specificity;
}
- element->texverb = NULL;
+ element->texverb = 0;
element->choral_sign = NULL;
}
@@ -185,7 +239,7 @@ void gregorio_add_end_of_line_as_note(gregorio_note **current_note,
element->u.other.eol_forces_custos_on = eol_forces_custos_on;
}
-void gregorio_add_custo_as_note(gregorio_note **current_note,
+void gregorio_add_custos_as_note(gregorio_note **current_note,
const gregorio_scanner_location *const loc)
{
gregorio_note *element = create_and_link_note(current_note, loc);
@@ -198,6 +252,13 @@ void gregorio_add_manual_custos_as_note(gregorio_note **current_note,
add_pitched_item_as_note(current_note, GRE_MANUAL_CUSTOS, pitch, loc);
}
+void gregorio_add_suppress_custos_as_note(gregorio_note **current_note,
+ const gregorio_scanner_location *const loc)
+{
+ gregorio_note *element = create_and_link_note(current_note, loc);
+ element->type = GRE_SUPPRESS_CUSTOS;
+}
+
void gregorio_add_clef_as_note(gregorio_note **current_note,
gregorio_clef clef, signed char clef_line, bool flatted,
const gregorio_scanner_location *const loc)
@@ -250,16 +311,18 @@ void gregorio_add_space_as_note(gregorio_note **current_note,
element->u.other.ad_hoc_space_factor = factor;
}
-void gregorio_add_texverb_as_note(gregorio_note **current_note, char *str,
- gregorio_type type, const gregorio_scanner_location *const loc)
+unsigned short gregorio_add_texverb_as_note(gregorio_note **current_note,
+ char *str, gregorio_type type,
+ const gregorio_scanner_location *const loc)
{
gregorio_note *element;
- gregorio_not_null(str, gregorio_add_texverb_as_note, return);
+ /* gregorio_not_null(str, gregorio_add_texverb_as_note, return NULL); */
element = create_and_link_note(current_note, loc);
assert(type == GRE_TEXVERB_GLYPH || type == GRE_TEXVERB_ELEMENT
|| type == GRE_ALT);
element->type = type;
- element->texverb = str;
+ element->texverb = register_texverb(str);
+ return element->texverb;
}
void gregorio_add_nlba_as_note(gregorio_note **current_note, gregorio_nlba type,
@@ -284,22 +347,31 @@ void gregorio_end_autofuse(gregorio_note **current_note,
element->type = GRE_AUTOFUSE_END;
}
+static __inline void change_note_texverb(gregorio_note *note, char *str)
+{
+ if (note->texverb) {
+ gregorio_change_texverb(note->texverb, str);
+ } else {
+ note->texverb = register_texverb(str);
+ }
+}
+
void gregorio_add_texverb_to_note(gregorio_note *current_note, char *str)
{
size_t len;
char *res;
gregorio_not_null(str, gregorio_add_texverb_as_note, return);
if (current_note) {
- if (current_note->texverb) {
- len = strlen(current_note->texverb) + strlen(str) + 1;
+ const char *texverb = gregorio_texverb(current_note->texverb);
+ if (texverb) {
+ len = strlen(texverb) + strlen(str) + 1;
res = gregorio_malloc(len);
- strcpy(res, current_note->texverb);
+ strcpy(res, texverb);
strcat(res, str);
- free(current_note->texverb);
free(str);
- current_note->texverb = res;
+ change_note_texverb(current_note, res);
} else {
- current_note->texverb = str;
+ change_note_texverb(current_note, str);
}
}
}
@@ -324,20 +396,6 @@ void gregorio_add_special_sign(gregorio_note *note, gregorio_sign sign)
note->special_sign = sign;
}
-static void fix_punctum_cavum_inclinatum_liquescentia(gregorio_note *const note)
-{
- note->u.note.liquescentia &= TAIL_LIQUESCENTIA_MASK;
- switch (note->u.note.liquescentia) {
- case L_AUCTUS_ASCENDENS:
- case L_AUCTUS_DESCENDENS:
- note->u.note.liquescentia = L_AUCTUS_ASCENDENS;
- break;
- default:
- note->u.note.liquescentia = L_NO_LIQUESCENTIA;
- break;
- }
-}
-
static void fix_oriscus_liquescentia(gregorio_note *const note,
const bool legacy_oriscus_orientation)
{
@@ -388,81 +446,17 @@ static void fix_oriscus_scapus_liquescentia(gregorio_note *const note,
}
}
-static void fix_oriscus_cavum_liquescentia(gregorio_note *const note,
- const bool legacy_oriscus_orientation)
-{
- if (legacy_oriscus_orientation) {
- switch (note->u.note.liquescentia) {
- case L_AUCTUS_ASCENDENS:
- note->u.note.liquescentia =
- (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
- | L_AUCTUS_DESCENDENS;
- /* fall through */
- case L_AUCTUS_DESCENDENS:
- note->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
- break;
- case L_DEMINUTUS:
- note->u.note.shape = S_ORISCUS_CAVUM_DEMINUTUS;
- break;
- default:
- note->u.note.shape = S_ORISCUS_CAVUM_ASCENDENS;
- break;
- }
- } else {
- note->u.note.liquescentia &= ((~TAIL_LIQUESCENTIA_MASK) | L_DEMINUTUS);
- if (note->u.note.liquescentia & L_DEMINUTUS) {
- note->u.note.shape = S_ORISCUS_CAVUM_DEMINUTUS;
- }
- }
-}
-
void gregorio_change_shape(gregorio_note *const note,
const gregorio_shape shape, const bool legacy_oriscus_orientation)
{
- gregorio_shape old_shape;
if (!note || note->type != GRE_NOTE) {
gregorio_message(_("trying to change the shape of something that is "
"not a note"), "change_shape", VERBOSITY_ERROR, 0);
return;
}
- old_shape = note->u.note.shape;
note->u.note.shape = shape;
switch (shape) {
- case S_PUNCTUM_CAVUM:
- /* S_PUNCTUM_CAVUM morphs other shapes */
- switch (old_shape) {
- case S_PUNCTUM_INCLINATUM_UNDETERMINED:
- case S_PUNCTUM_INCLINATUM_ASCENDENS:
- case S_PUNCTUM_INCLINATUM_DESCENDENS:
- note->u.note.shape = S_PUNCTUM_CAVUM_INCLINATUM;
- fix_punctum_cavum_inclinatum_liquescentia(note);
- break;
-
- case S_ORISCUS_UNDETERMINED:
- case S_ORISCUS_DEMINUTUS:
- case S_ORISCUS_SCAPUS_UNDETERMINED:
- note->u.note.shape = S_ORISCUS_CAVUM_UNDETERMINED;
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
- case S_ORISCUS_ASCENDENS:
- case S_ORISCUS_SCAPUS_ASCENDENS:
- note->u.note.shape = S_ORISCUS_CAVUM_ASCENDENS;
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
- case S_ORISCUS_DESCENDENS:
- case S_ORISCUS_SCAPUS_DESCENDENS:
- note->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
- default:
- break;
- }
- break;
-
case S_STROPHA:
case S_DISTROPHA:
case S_TRISTROPHA:
@@ -470,61 +464,9 @@ void gregorio_change_shape(gregorio_note *const note,
break;
case S_ORISCUS_UNDETERMINED:
- switch (old_shape) {
- case S_PUNCTUM_CAVUM:
- case S_PUNCTUM_CAVUM_INCLINATUM:
- note->u.note.shape = S_ORISCUS_CAVUM_UNDETERMINED;
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
- case S_ORISCUS_CAVUM_UNDETERMINED:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
- note->u.note.shape = old_shape;
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
- default:
- fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
- break;
- }
- break;
-
case S_ORISCUS_ASCENDENS:
- switch (old_shape) {
- case S_PUNCTUM_CAVUM:
- case S_PUNCTUM_CAVUM_INCLINATUM:
- case S_ORISCUS_CAVUM_UNDETERMINED:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
- note->u.note.shape = S_ORISCUS_CAVUM_ASCENDENS;
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
- default:
- fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
- break;
- }
- break;
-
case S_ORISCUS_DESCENDENS:
- switch (old_shape) {
- case S_PUNCTUM_CAVUM:
- case S_PUNCTUM_CAVUM_INCLINATUM:
- case S_ORISCUS_CAVUM_UNDETERMINED:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
- note->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
- default:
- fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
- break;
- }
+ fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
break;
case S_ORISCUS_SCAPUS_UNDETERMINED:
@@ -538,6 +480,16 @@ void gregorio_change_shape(gregorio_note *const note,
}
}
+void gregorio_add_cavum(gregorio_note *const note)
+{
+ if (!note || note->type != GRE_NOTE) {
+ gregorio_message(_("trying to add cavum to something that is "
+ "not a note"), "change_shape", VERBOSITY_ERROR, 0);
+ return;
+ }
+ note->u.note.is_cavum = true;
+}
+
void gregorio_add_tail_liquescentia(gregorio_note *note,
gregorio_liquescentia liq, const bool legacy_oriscus_orientation)
{
@@ -552,10 +504,6 @@ void gregorio_add_tail_liquescentia(gregorio_note *note,
| (liq & TAIL_LIQUESCENTIA_MASK);
switch (note->u.note.shape) {
- case S_PUNCTUM_CAVUM_INCLINATUM:
- fix_punctum_cavum_inclinatum_liquescentia(note);
- break;
-
case S_STROPHA:
case S_DISTROPHA:
case S_TRISTROPHA:
@@ -579,13 +527,6 @@ void gregorio_add_tail_liquescentia(gregorio_note *note,
fix_oriscus_scapus_liquescentia(note, legacy_oriscus_orientation);
break;
- case S_ORISCUS_CAVUM_UNDETERMINED:
- case S_ORISCUS_CAVUM_ASCENDENS:
- case S_ORISCUS_CAVUM_DESCENDENS:
- case S_ORISCUS_CAVUM_DEMINUTUS:
- fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
- break;
-
default:
break;
}
@@ -765,7 +706,7 @@ static __inline void free_one_note(gregorio_note *note)
if (note->type == GRE_SPACE) {
free(note->u.other.ad_hoc_space_factor);
}
- free(note->texverb);
+ free_one_texverb(note->texverb);
free(note->choral_sign);
free(note);
}
@@ -810,17 +751,18 @@ static gregorio_glyph *create_and_link_glyph(gregorio_glyph **current_glyph)
void gregorio_add_glyph(gregorio_glyph **current_glyph,
gregorio_glyph_type type, gregorio_note *first_note,
- gregorio_liquescentia liquescentia)
+ gregorio_liquescentia liquescentia, bool is_cavum)
{
gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
next_glyph->type = GRE_GLYPH;
next_glyph->u.notes.glyph_type = type;
next_glyph->u.notes.liquescentia = liquescentia;
+ next_glyph->u.notes.is_cavum = is_cavum;
next_glyph->u.notes.first_note = first_note;
}
void gregorio_add_clef_as_glyph(gregorio_glyph **current_glyph,
- gregorio_clef_info clef, char *texverb)
+ gregorio_clef_info clef, unsigned short texverb)
{
gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
next_glyph->type = GRE_CLEF;
@@ -829,7 +771,8 @@ void gregorio_add_clef_as_glyph(gregorio_glyph **current_glyph,
}
void gregorio_add_pitched_element_as_glyph(gregorio_glyph **current_glyph,
- gregorio_type type, signed char pitch, bool force_pitch, char *texverb)
+ gregorio_type type, signed char pitch, bool force_pitch,
+ unsigned short texverb)
{
gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
assert(type == GRE_CUSTOS);
@@ -841,7 +784,7 @@ void gregorio_add_pitched_element_as_glyph(gregorio_glyph **current_glyph,
void gregorio_add_unpitched_element_as_glyph(gregorio_glyph **current_glyph,
gregorio_type type, gregorio_extra_info *info, gregorio_sign sign,
- char *texverb)
+ unsigned short texverb)
{
gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
assert(type != GRE_NOTE && type != GRE_GLYPH && type != GRE_ELEMENT
@@ -869,7 +812,7 @@ void gregorio_go_to_first_glyph(gregorio_glyph **glyph)
static __inline void free_one_glyph(gregorio_glyph *glyph)
{
- free(glyph->texverb);
+ free_one_texverb(glyph->texverb);
switch (glyph->type) {
case GRE_GLYPH:
gregorio_free_notes(&glyph->u.notes.first_note);
@@ -933,7 +876,8 @@ void gregorio_add_element(gregorio_element **current_element,
}
void gregorio_add_misc_element(gregorio_element **current_element,
- gregorio_type type, gregorio_misc_element_info *info, char *texverb)
+ gregorio_type type, gregorio_misc_element_info *info,
+ unsigned short texverb)
{
gregorio_element *special = create_and_link_element(current_element);
special->type = type;
@@ -950,7 +894,7 @@ void gregorio_add_misc_element(gregorio_element **current_element,
static __inline void free_one_element(gregorio_element *element)
{
size_t i;
- free(element->texverb);
+ free_one_texverb(element->texverb);
for (i = 0; i < element->nabc_lines; i++) {
free(element->nabc[i]);
}
@@ -969,22 +913,22 @@ static __inline void free_one_element(gregorio_element *element)
free(element);
}
-static void gregorio_free_one_element(gregorio_element **element)
+void gregorio_free_one_element(gregorio_element **element)
{
gregorio_element *next = NULL;
+ gregorio_element *to_free;
gregorio_not_null_ptr(element, gregorio_free_one_element, return);
- if ((*element)->next) {
- (*element)->next->previous = NULL;
- next = (*element)->next;
+ to_free = *element;
+ if (to_free->next) {
+ to_free->next->previous = NULL;
+ next = to_free->next;
}
- if ((*element)->previous) {
- /* this doesn't currently happen, but it's safer to leave this in */
- /* LCOV_EXCL_START */
- (*element)->previous->next = NULL;
+ if (to_free->previous) {
+ to_free->previous->next = NULL;
}
/* The previous line is probably optimized out */
/* LCOV_EXCL_STOP */
- free_one_element(*element);
+ free_one_element(to_free);
*element = next;
}
@@ -1105,7 +1049,7 @@ void gregorio_add_syllable(gregorio_syllable **current_syllable,
gregorio_word_position position, char *abovelinestext,
gregorio_tr_centering translation_type, gregorio_nlba no_linebreak_area,
gregorio_euouae euouae, const gregorio_scanner_location *const loc,
- const bool first_word)
+ const bool first_word, const bool clear)
{
gregorio_syllable *next;
gregorio_element **tab;
@@ -1122,6 +1066,7 @@ void gregorio_add_syllable(gregorio_syllable **current_syllable,
next->translation_type = translation_type;
next->abovelinestext = abovelinestext;
next->first_word = first_word;
+ next->clear = clear;
if (loc) {
next->src_line = loc->first_line;
next->src_column = loc->first_column;
@@ -1177,7 +1122,6 @@ gregorio_score *gregorio_new_score(void)
{
gregorio_score *new_score = gregorio_calloc(1, sizeof(gregorio_score));
new_score->number_of_voices = 1;
- new_score->initial_style = INITIAL_NOT_SPECIFIED;
gregorio_set_score_staff_lines(new_score, 4);
return new_score;
}
@@ -1347,7 +1291,13 @@ static __inline signed char next_pitch_from_glyph(const gregorio_glyph *glyph,
}
break;
default:
+ /* not reachable unless there's a programming error */
+ /* LCOV_EXCL_START */
+ gregorio_fail2(next_pitch_from_glyph,
+ "unrecognized alteration shape: %s",
+ gregorio_shape_to_string(note->u.note.shape));
break;
+ /* LCOV_EXCL_STOP */
}
}
} else if (glyph->u.notes.first_note) {
@@ -1536,11 +1486,15 @@ bool gregorio_is_only_special(gregorio_element *element)
return 1;
}
+/* This should only be called when an unknown enum value is encountered; as
+ * such, this is a programming error */
+/* LCOV_EXCL_START */
const char *gregorio_unknown(int value) {
static char buf[20];
gregorio_snprintf(buf, sizeof buf, "?%d", value);
return buf;
}
+/* LCOV_EXCL_STOP */
/*
* A small helper for the following function
@@ -1615,6 +1569,26 @@ gregorio_hepisema_adjustment *gregorio_get_hepisema_adjustment(
return &hepisema_adjustments[index];
}
+const char *gregorio_texverb(unsigned short index)
+{
+ gregorio_assert(index <= texverbs_last, gregorio_texverb,
+ "array index out of bounds", return NULL);
+ return texverbs[index];
+}
+
+void gregorio_change_texverb(unsigned short index, char *texverb)
+{
+ /* not allowed to change index 0 (== NULL) */
+ gregorio_assert(index != 0, gregorio_texverb,
+ "array index 0 may not be changed", return);
+ gregorio_assert(index <= texverbs_last, gregorio_texverb,
+ "array index out of bounds", return);
+ if (texverbs[index]) {
+ free(texverbs[index]);
+ }
+ texverbs[index] = texverb;
+}
+
ENUM_TO_STRING(gregorio_type, GREGORIO_TYPE)
ENUM_TO_STRING(gregorio_shape, GREGORIO_SHAPE)
ENUM_TO_STRING(gregorio_bar, GREGORIO_BAR)
diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct.h b/Build/source/texk/gregorio/gregorio-src/src/struct.h
index d634fe59b9c..97061b6716a 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/struct.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/struct.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header defines the Gregorio data structures and functions.
*
- * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2006-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -32,6 +32,7 @@
#ifndef STRUCT_H
#define STRUCT_H
+#include <assert.h>
#include "enum_generator.h"
#include "bool.h"
#include "sha1.h"
@@ -60,6 +61,7 @@ typedef struct gregorio_scanner_location {
unsigned short last_line;
unsigned short last_column;
unsigned short last_offset;
+ bool generate_point_and_click:1;
} gregorio_scanner_location;
/* all the different types of things a gregorio_* can be */
@@ -74,6 +76,7 @@ typedef struct gregorio_scanner_location {
E(GRE_BAR) \
E(GRE_CUSTOS) \
E(GRE_MANUAL_CUSTOS) \
+ E(GRE_SUPPRESS_CUSTOS) \
/* I don't really know how I could use the a TEXVERB_NOTE in gregoriotex,
* as we don't write note by note... */ \
/* GRE_TEXVERB_NOTE, */ \
@@ -116,14 +119,7 @@ ENUM(gregorio_clef, GREGORIO_CLEF);
E(S_STROPHA_AUCTA) \
E(S_DISTROPHA) \
E(S_TRISTROPHA) \
- E(S_PUNCTUM_CAVUM) \
E(S_LINEA_PUNCTUM) \
- E(S_LINEA_PUNCTUM_CAVUM) \
- E(S_PUNCTUM_CAVUM_INCLINATUM) \
- E(S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS) \
- E(S_ORISCUS_CAVUM_ASCENDENS) \
- E(S_ORISCUS_CAVUM_DESCENDENS) \
- E(S_ORISCUS_CAVUM_DEMINUTUS) \
E(S_FLAT) \
E(S_SHARP) \
E(S_NATURAL) \
@@ -133,7 +129,6 @@ ENUM(gregorio_clef, GREGORIO_CLEF);
* quislisma quadratum */ \
E(S_ORISCUS_UNDETERMINED) \
E(S_ORISCUS_SCAPUS_UNDETERMINED) \
- E(S_ORISCUS_CAVUM_UNDETERMINED) \
E(S_QUADRATUM) \
E(S_PUNCTUM_INCLINATUM_UNDETERMINED) \
/* those shapes are for now used only in gregoriotex */ \
@@ -183,7 +178,11 @@ ENUM(gregorio_bar, GREGORIO_BAR);
A(_SEMI_CIRCULUS_REVERSUS, 0x07) \
/* signs of a bar */ \
A(_BAR_H_EPISEMA, 0x08) \
- X(_V_EPISEMA_BAR_H_EPISEMA, 0x18)
+ A(_V_EPISEMA_BAR_H_EPISEMA, 0x18) \
+ /* musica ficta */ \
+ A(_MUSICA_FICTA_FLAT, 0x09) \
+ A(_MUSICA_FICTA_NATURAL, 0x0a) \
+ X(_MUSICA_FICTA_SHARP, 0x0b)
ENUM(gregorio_sign, GREGORIO_SIGN);
/* the different spaces */
@@ -283,7 +282,8 @@ ENUM(gregorio_vposition, GREGORIO_VPOSITION);
E(G_VIRGA_REVERSA) \
E(G_SALICUS) \
E(G_SALICUS_FLEXUS) \
- E(G_VIRGA_STRATA) \
+ E(G_PES_ASCENDENS_ORISCUS) \
+ E(G_PES_DESCENDENS_ORISCUS) \
E(G_TORCULUS_LIQUESCENS) \
/* additional glyph types, necessary for determination */ \
E(G_PORRECTUS_NO_BAR) \
@@ -318,6 +318,10 @@ ENUM(gregorio_glyph_type, GREGORIO_GLYPH_TYPE);
E(ST_FIRST_SYLLABLE) \
E(ST_FIRST_SYLLABLE_INITIAL) \
E(ST_SYLLABLE_INITIAL) \
+ /* protrusion is implemented a PROTRUSION_FACTOR followed by a PROTRUSION;
+ * an automatic protrusion will have a verbatim TeX macro as factor */ \
+ E(ST_PROTRUSION_FACTOR) \
+ E(ST_PROTRUSION) \
L(ST_SENTINEL) /* a temporary style to signify the end of a syllable */
ENUM(grestyle_style, GRESTYLE_STYLE);
@@ -380,6 +384,15 @@ ENUM(gregorio_sign_orientation, GREGORIO_SIGN_ORIENTATION);
X(HVB_U_HIGH, 5)
ENUM(gregorio_hepisema_vbasepos, GREGORIO_HEPISEMA_VBASEPOS);
+/* these may be used as bit fields, with LEDGER_EXPLICIT and LEDGER_DRAWN being
+ * the bits */
+#define GREGORIO_LEDGER_SPECIFICITY(A,E,X,L) \
+ A(LEDGER_SUPPOSED, 0) \
+ A(LEDGER_EXPLICIT, 1) \
+ A(LEDGER_DRAWN, 2) \
+ X(LEDGER_EXPLICITLY_DRAWN, 3)
+ENUM(gregorio_ledger_specificity, GREGORIO_LEDGER_SPECIFICITY);
+
typedef struct gregorio_extra_info {
char *ad_hoc_space_factor;
ENUM_BITFIELD(gregorio_bar) bar:4;
@@ -391,8 +404,9 @@ typedef struct gregorio_extra_info {
} gregorio_extra_info;
typedef struct gregorio_clef_info {
- unsigned char line;
- unsigned char secondary_line;
+ signed char line;
+ signed char secondary_line;
+ signed char pitch_difference;
ENUM_BITFIELD(gregorio_clef) clef:1;
bool flatted:1;
ENUM_BITFIELD(gregorio_clef) secondary_clef:1;
@@ -429,9 +443,6 @@ typedef struct gregorio_note {
/* choral sign is a letter that appears next to a note in some choral
* scores we put it as char* because sometimes two letters appear */
char *choral_sign;
- /* a string containing a possible TeX verbatim; necessary during
- * structure generation. */
- char *texverb;
union {
/* note is used for GRE_NOTE */
struct {
@@ -446,7 +457,8 @@ typedef struct gregorio_note {
/* liquescentia is the liquescence on the note, it is not really
* used in the final score, but it is, like type, used in the
* determination of glyphs. */
- ENUM_BITFIELD(gregorio_liquescentia) liquescentia:8;
+ ENUM_BITFIELD(gregorio_liquescentia) liquescentia:7;
+ bool is_cavum:1;
} note;
/* clef is used for GRE_CLEF */
struct gregorio_clef_info clef;
@@ -455,6 +467,9 @@ typedef struct gregorio_note {
} u;
/* these go to the end for structure alignment */
+ /* index to a string containing a possible TeX verbatim; necessary during
+ * structure generation. */
+ unsigned short texverb;
unsigned short src_line, src_column, src_offset;
unsigned short he_adjustment_index[2];
@@ -485,12 +500,11 @@ typedef struct gregorio_note {
ENUM_BITFIELD(grehepisema_size) h_episema_below_size:2;
bool h_episema_above_connect:1;
bool h_episema_below_connect:1;
- bool supposed_high_ledger_line:1;
- bool supposed_low_ledger_line:1;
- /* the "explicit" flags indicate that the "supposed" flags contain values
- * that were explicitly specified in the gabc file */
- bool explicit_high_ledger_line:1;
- bool explicit_low_ledger_line:1;
+ /* the "specificity" field indicates how to interpret the line flag */
+ bool high_ledger_line:1;
+ ENUM_BITFIELD(gregorio_ledger_specificity) high_ledger_specificity:2;
+ bool low_ledger_line:1;
+ ENUM_BITFIELD(gregorio_ledger_specificity) low_ledger_specificity:2;
bool is_lower_note:1;
bool is_upper_note:1;
ENUM_BITFIELD(gregorio_vposition) mora_vposition:2;
@@ -505,9 +519,6 @@ typedef struct gregorio_glyph {
/* two pointer to make a chained list */
struct gregorio_glyph *previous;
struct gregorio_glyph *next;
- /* a string containing a possible TeX verbatim; necessary during structure
- * generation. */
- char *texverb;
union {
/* glyph is used for GRE_GLYPH */
struct {
@@ -520,12 +531,15 @@ typedef struct gregorio_glyph {
ENUM_BITFIELD(gregorio_glyph_type) glyph_type:8;
/* liquescentia is really used, because that will determine the
* shape we will have to use. */
- ENUM_BITFIELD(gregorio_liquescentia) liquescentia:8;
+ ENUM_BITFIELD(gregorio_liquescentia) liquescentia:7;
+ bool is_cavum:1;
} notes;
union gregorio_misc_element_info misc;
} u;
- /* characters go to the end for structure alignment */
+ /* index to a string containing a possible TeX verbatim; necessary during
+ * structure generation. */
+ unsigned short texverb;
/* type can have the values explained in the comment just above. */
ENUM_BITFIELD(gregorio_type) type:8;
@@ -540,9 +554,6 @@ typedef struct gregorio_element {
/* pointers to the next and previous elements. */
struct gregorio_element *previous;
struct gregorio_element *next;
- /* a string containing a possible TeX verbatim; necessary during structure
- * generation. */
- char *texverb;
/* The nabc string */
char **nabc;
/* we put it here to get the length of the array here too */
@@ -554,9 +565,11 @@ typedef struct gregorio_element {
union gregorio_misc_element_info misc;
} u;
- /* type can have the values GRE_ELEMENT, GRE_BAR, GRE_C_KEY_CHANGE,
- * GRE_F_KEY_CHANGE, GRE_END_OF_LINE, GRE_SPACE, GRE_TEXVERB_ELEMENT
- * or GRE_NLBA */
+ /* index to a string containing a possible TeX verbatim; necessary during
+ * structure generation. */
+ unsigned short texverb;
+ /* type can have the values GRE_ELEMENT, GRE_BAR, GRE_CLEF, GRE_CUSTOS,
+ * GRE_END_OF_LINE, GRE_SPACE, GRE_TEXVERB_ELEMENT or GRE_NLBA */
ENUM_BITFIELD(gregorio_type) type:8;
} gregorio_element;
@@ -654,6 +667,7 @@ typedef struct gregorio_syllable {
ENUM_BITFIELD(gregorio_word_position) position:3;
bool first_word:1;
bool forced_center:1;
+ bool clear:1;
} gregorio_syllable;
/* Stores a header in a singly-linked list */
@@ -693,7 +707,6 @@ typedef struct gregorio_score {
char *annotation[MAX_ANNOTATIONS];
/* field giving informations on the initial (no initial, normal initial
* or two lines initial) */
- signed char initial_style; /* DEPRECATED for removal in 5.0 */
size_t nabc_lines;
char *user_notes;
/* the determination method (maximal ambitus, etc.) */
@@ -746,9 +759,6 @@ extern gregorio_clef_info gregorio_default_clef;
#define MONOPHONY 0
-/* the different initial styles - DEPRECATED for removal in 5.0 */
-#define INITIAL_NOT_SPECIFIED -1
-
#define USELESS_VALUE 0
static __inline bool is_puncta_inclinata(char glyph)
@@ -799,7 +809,7 @@ void gregorio_add_note(gregorio_note **current_note, signed char pitch,
const gregorio_scanner_location *loc);
void gregorio_add_glyph(gregorio_glyph **current_glyph,
gregorio_glyph_type type, gregorio_note *first_note,
- gregorio_liquescentia liquescentia);
+ gregorio_liquescentia liquescentia, bool is_cavum);
void gregorio_add_element(gregorio_element **current_element,
gregorio_glyph *first_glyph);
void gregorio_add_syllable(gregorio_syllable **current_syllable,
@@ -809,10 +819,11 @@ void gregorio_add_syllable(gregorio_syllable **current_syllable,
gregorio_word_position position, char *abovelinestext,
gregorio_tr_centering translation_type, gregorio_nlba no_linebreak_area,
gregorio_euouae euouae, const gregorio_scanner_location *loc,
- bool first_word);
+ bool first_word, bool clear);
void gregorio_add_special_sign(gregorio_note *current_note, gregorio_sign sign);
void gregorio_change_shape(gregorio_note *note, gregorio_shape shape,
bool legacy_oriscus_orientation);
+void gregorio_add_cavum(gregorio_note *note);
void gregorio_position_h_episema_above(gregorio_note *note, signed char height,
bool connect);
void gregorio_position_h_episema_below(gregorio_note *note, signed char height,
@@ -828,23 +839,27 @@ void gregorio_add_voice_info(gregorio_voice_info **current_voice_info);
void gregorio_free_voice_infos(gregorio_voice_info *voice_info);
void gregorio_free_one_note(gregorio_note **note);
void gregorio_free_one_glyph(gregorio_glyph **glyph);
+void gregorio_free_one_element(gregorio_element **element);
void gregorio_free_score(gregorio_score *score);
void gregorio_free_characters(gregorio_character *current_character);
void gregorio_go_to_first_character(const gregorio_character **character);
void gregorio_add_clef_as_glyph(gregorio_glyph **current_glyph,
- gregorio_clef_info clef, char *texverb);
+ gregorio_clef_info clef, unsigned short texverb);
void gregorio_add_pitched_element_as_glyph(gregorio_glyph **current_glyph,
- gregorio_type type, signed char pitch, bool force_pitch, char *texverb);
+ gregorio_type type, signed char pitch, bool force_pitch,
+ unsigned short texverb);
void gregorio_add_unpitched_element_as_glyph(gregorio_glyph **current_glyph,
gregorio_type type, gregorio_extra_info *info, gregorio_sign sign,
- char *texverb);
+ unsigned short texverb);
void gregorio_add_end_of_line_as_note(gregorio_note **current_note,
bool eol_ragged, bool eol_forces_custos, bool eol_forces_custos_on,
const gregorio_scanner_location *loc);
-void gregorio_add_custo_as_note(gregorio_note **current_note,
+void gregorio_add_custos_as_note(gregorio_note **current_note,
const gregorio_scanner_location *loc);
void gregorio_add_manual_custos_as_note(gregorio_note **current_note,
signed char pitch, const gregorio_scanner_location *loc);
+void gregorio_add_suppress_custos_as_note(gregorio_note **current_note,
+ const gregorio_scanner_location *loc);
void gregorio_add_clef_as_note(gregorio_note **current_note,
gregorio_clef clef, signed char clef_line, bool flatted,
const gregorio_scanner_location *loc);
@@ -855,8 +870,8 @@ void gregorio_add_bar_as_note(gregorio_note **current_note, gregorio_bar bar,
void gregorio_add_space_as_note(gregorio_note **current_note,
gregorio_space space, char *factor,
const gregorio_scanner_location *loc);
-void gregorio_add_texverb_as_note(gregorio_note **current_note, char *str,
- gregorio_type type, const gregorio_scanner_location *loc);
+unsigned short gregorio_add_texverb_as_note(gregorio_note **current_note,
+ char *str, gregorio_type type, const gregorio_scanner_location *loc);
void gregorio_add_nlba_as_note(gregorio_note **current_note,
gregorio_nlba type, const gregorio_scanner_location *loc);
void gregorio_start_autofuse(gregorio_note **current_note,
@@ -867,7 +882,8 @@ void gregorio_add_texverb_to_note(gregorio_note *current_note, char *str);
void gregorio_add_cs_to_note(gregorio_note *const*current_note, char *str,
bool nabc);
void gregorio_add_misc_element(gregorio_element **current_element,
- gregorio_type type, gregorio_misc_element_info *info, char *texverb);
+ gregorio_type type, gregorio_misc_element_info *info,
+ unsigned short texverb);
void gregorio_set_score_annotation(gregorio_score *score, char *annotation);
void gregorio_set_score_staff_lines(gregorio_score *score, char staff_lines);
void gregorio_add_score_header(gregorio_score *score, char *name,
@@ -894,6 +910,8 @@ unsigned short gregorio_add_hepisema_adjustment(
gregorio_hepisema_vbasepos vbasepos, char *nudge);
gregorio_hepisema_adjustment *gregorio_get_hepisema_adjustment(
unsigned short index);
+const char *gregorio_texverb(unsigned short index);
+void gregorio_change_texverb(unsigned short index, char *texverb);
static __inline void gregorio_go_to_first_character_c(gregorio_character **character)
{
@@ -944,4 +962,17 @@ static __inline char gregorio_clef_to_char(gregorio_clef clef)
return (clef == CLEF_C)? 'c' : 'f';
}
+static __inline signed char gregorio_adjust_pitch_into_staff(
+ const gregorio_score *score, signed char pitch)
+{
+ while (pitch < LOWEST_PITCH) {
+ pitch += 7;
+ }
+ while (pitch > score->highest_pitch) {
+ pitch -= 7;
+ }
+ assert(pitch >= LOWEST_PITCH && pitch <= score->highest_pitch);
+ return pitch;
+}
+
#endif
diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct_iter.h b/Build/source/texk/gregorio/gregorio-src/src/struct_iter.h
index 33ed7ec924e..91113b418e6 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/struct_iter.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/struct_iter.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header defines the Gregorio data structures and functions.
*
- * Copyright (C) 2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2016-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -32,6 +32,16 @@
#include "struct.h"
+/* This enum defines bitfields selecting the node types that should be passed
+ * to end_item in gregorio_from_note_to_note */
+typedef enum {
+ GRESTRUCT_NONE = 0,
+ GRESTRUCT_NOTE = 1 << 0,
+ GRESTRUCT_GLYPH = 1 << 1,
+ GRESTRUCT_ELEMENT = 1 << 2,
+ GRESTRUCT_SYLLABLE = 1 << 3
+} gregorio_note_iter_item_type;
+
typedef struct {
gregorio_syllable *syllable;
gregorio_element *element;
@@ -41,10 +51,14 @@ typedef struct {
static __inline void gregorio_from_note_to_note(
const gregorio_note_iter_position *const start,
- const gregorio_note_iter_position *const end,
+ const gregorio_note_iter_position *const end, bool include_end,
void (*const visit)(const gregorio_note_iter_position *, void *),
- void *data)
+ void (*const end_item)(const gregorio_note_iter_position *,
+ gregorio_note_iter_item_type, void *),
+ const gregorio_note_iter_item_type desired_iter_items, void *data)
{
+ /* Note: include_end is effectively ignored if end is NULL */
+
gregorio_note_iter_position p = *start;
while (p.syllable) {
@@ -62,29 +76,98 @@ static __inline void gregorio_from_note_to_note(
p.note = p.glyph->u.notes.first_note;
}
while (p.note) {
- if (p.note->type == GRE_NOTE) {
+ bool at_end = (end && p.note == end->note);
+
+ if (p.note->type == GRE_NOTE
+ && (!at_end || include_end)) {
visit(&p, data);
}
- if (end && p.note == end->note) {
+ if (at_end) {
+ if (end_item) {
+ /* in 4.2.0, this code is never hit, as
+ * end_item will only be supplied from
+ * gregorio_for_each_note, which supplies
+ * NULL for end */
+ /* LCOV_EXCL_START */
+ /* to enable the real code, delete this
+ * assertion: */
+ gregorio_fail(gregorio_from_note_to_note,
+ "unused code path");
+ if (desired_iter_items & GRESTRUCT_NOTE) {
+ end_item(&p, GRESTRUCT_NOTE, data);
+ }
+ if (desired_iter_items & GRESTRUCT_GLYPH) {
+ end_item(&p, GRESTRUCT_GLYPH, data);
+ }
+ if (desired_iter_items
+ & GRESTRUCT_ELEMENT) {
+ end_item(&p, GRESTRUCT_ELEMENT, data);
+ }
+ if (desired_iter_items
+ & GRESTRUCT_SYLLABLE) {
+ end_item(&p, GRESTRUCT_SYLLABLE, data);
+ }
+ }
+ /* LCOV_EXCL_END */
return;
}
+ if (end_item
+ && (desired_iter_items & GRESTRUCT_NOTE)) {
+ /* in 4.2.0, this code is never hit, as the only
+ * usage that gets through to here does not
+ * include GRESTRUCT_NOTE in desired_iter_items */
+ /* LCOV_EXCL_START */
+ /* to enable the real code, delete this
+ * assertion: */
+ gregorio_fail(gregorio_from_note_to_note,
+ "unused code path");
+ end_item(&p, GRESTRUCT_NOTE, data);
+
+ }
+ /* LCOV_EXCL_STOP */
p.note = p.note->next;
} /* note */
}
+ if (end_item && (desired_iter_items & GRESTRUCT_GLYPH)) {
+ /* in 4.2.0, this code is never hit, as the only usage
+ * that gets through to here does not include
+ * GRESTRUCT_GLYPH in desired_iter_items */
+ /* LCOV_EXCL_START */
+ /* to enable the real code, delete this assertion: */
+ gregorio_fail(gregorio_from_note_to_note,
+ "unused code path");
+ end_item(&p, GRESTRUCT_GLYPH, data);
+ }
+ /* LCOV_EXCL_STOP */
p.glyph = p.glyph->next;
} /* glyph */
}
+ if (end_item && (desired_iter_items & GRESTRUCT_ELEMENT)) {
+ end_item(&p, GRESTRUCT_ELEMENT, data);
+ }
p.element = p.element->next;
} /* element */
+ if (end_item && (desired_iter_items & GRESTRUCT_SYLLABLE)) {
+ /* in 4.2.0, this code is never hit, as the only usage that gets
+ * through to here does not include GRESTRUCT_SYLLABLE in
+ * desired_iter_items */
+ /* LCOV_EXCL_START */
+ /* to enable the real code, delete this assertion: */
+ gregorio_fail(gregorio_from_note_to_note, "unused code path");
+ end_item(&p, GRESTRUCT_SYLLABLE, data);
+ }
+ /* LCOV_EXCL_STOP */
p.syllable = p.syllable->next_syllable;
} /* syllable */
}
static __inline void gregorio_for_each_note(const gregorio_score *score,
void (*const visit)(const gregorio_note_iter_position *, void *),
- void *data)
+ void (*const end_item)(const gregorio_note_iter_position *,
+ gregorio_note_iter_item_type, void *),
+ const gregorio_note_iter_item_type desired_iter_items, void *data)
{
gregorio_note_iter_position p = {
/* .syllable = */ NULL,
@@ -95,7 +178,8 @@ static __inline void gregorio_for_each_note(const gregorio_score *score,
p.syllable = score->first_syllable;
- gregorio_from_note_to_note(&p, NULL, visit, data);
+ gregorio_from_note_to_note(&p, NULL, true, visit, end_item,
+ desired_iter_items, data);
}
#endif
diff --git a/Build/source/texk/gregorio/gregorio-src/src/support.c b/Build/source/texk/gregorio/gregorio-src/src/support.c
index 39451726189..2d44718e6cd 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/support.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/support.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file contains miscellaneous support functions.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/support.h b/Build/source/texk/gregorio/gregorio-src/src/support.h
index a4b6738b2ee..3a048d6de66 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/support.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/support.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes the miscellaneous support functions.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/unicode.c b/Build/source/texk/gregorio/gregorio-src/src/unicode.c
index 1cc381d2a4d..b953beb8728 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/unicode.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/unicode.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file contains functions providing UTF-8 support.
*
- * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2008-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/unicode.h b/Build/source/texk/gregorio/gregorio-src/src/unicode.h
index 0d0d5aac1ba..1c76b703772 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/unicode.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/unicode.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes the UTF-8 support functions.
*
- * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2008-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h b/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h
index 8d7dd732933..7f02b14e616 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header file contains UTF-8 encoded strings used by Gregorio
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h.in b/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h.in
index 548462844ba..11e7fd65657 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h.in
+++ b/Build/source/texk/gregorio/gregorio-src/src/utf8strings.h.in
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header file contains UTF-8 encoded strings used by Gregorio
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-l.c b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-l.c
index 1116fc9047b..bb8e4e99f27 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-l.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-l.c
@@ -546,7 +546,7 @@ char *gregorio_vowel_rulefile_text;
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the vowel rule lexer.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-y.c b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-y.c
index 11051101cc7..98ff4bf90b9 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-y.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules-y.c
@@ -76,7 +76,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the vowel rule parser.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
diff --git a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.h b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.h
index bf99696e538..01882295795 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header shares definitions between the vowel parser and lexer.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.l b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.l
index 54e939a9f78..4e87a337e9e 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.l
+++ b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.l
@@ -3,7 +3,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the vowel rule lexer.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
diff --git a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.y b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.y
index 72d807720ca..b08b0e3e318 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.y
+++ b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel-rules.y
@@ -3,7 +3,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements the vowel rule parser.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
diff --git a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.c b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.c
index 8b108726610..e054220fa35 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.c
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This file implements vowel rule handling (aside from parsing).
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -82,7 +82,7 @@ static void character_set_free(character_set *const set)
}
static bool character_set_contains(character_set *const set,
- const grewchar vowel, character_set **const next)
+ const grewchar character, character_set **const next)
{
unsigned int index;
assert(set);
@@ -90,9 +90,9 @@ static bool character_set_contains(character_set *const set,
if (next) {
*next = NULL;
}
- for (index = ((unsigned long)vowel) & set->mask; set->table[index];
+ for (index = ((unsigned long)character) & set->mask; set->table[index];
index = (index + 1) & set->mask) {
- if (set->table[index] == vowel) {
+ if (set->table[index] == character) {
if (next && set->next) {
*next = set->next[index];
}
@@ -103,18 +103,18 @@ static bool character_set_contains(character_set *const set,
}
static __inline void character_set_put(character_set *const set,
- const grewchar vowel, character_set *next)
+ const grewchar character, character_set *next)
{
unsigned int index;
assert(set);
- index = ((unsigned long)vowel) & set->mask;
+ index = ((unsigned long)character) & set->mask;
while (set->table[index]) {
index = (index + 1) & set->mask;
}
- set->table[index] = vowel;
+ set->table[index] = character;
if (set->next) {
set->next[index] = next;
}
@@ -161,11 +161,11 @@ static __inline void character_set_grow(character_set *const set) {
}
static character_set *character_set_add(character_set *const set,
- const grewchar vowel)
+ const grewchar character)
{
character_set *next = NULL;
- if (!character_set_contains(set, vowel, &next)) {
+ if (!character_set_contains(set, character, &next)) {
if (((++(set->size) * 10) / set->bins) >= 7) {
character_set_grow(set);
}
@@ -174,7 +174,7 @@ static character_set *character_set_add(character_set *const set,
next = character_set_new(true);
}
- character_set_put(set, vowel, next);
+ character_set_put(set, character, next);
}
return next;
@@ -377,9 +377,11 @@ bool gregorio_find_vowel_group(const grewchar *const string, int *const start,
prefix_buffer[bufpos] = *subject;
if (character_set_contains(vowel_table, *subject, NULL)) {
/* we found a vowel */
- if (!character_set_contains(vowel_table, *(subject + 1), NULL)
+ if ((!character_set_contains(vowel_table, *(subject + 1), NULL)
+ && *(subject + 1) != GREVOWEL_ELISION_MARK)
|| !is_in_prefix(bufpos)) {
- /* no vowel after or not in prefix, so this is the start */
+ /* no vowel/elision after, or not in prefix, so this is the
+ * start */
*start = i;
state = VWL_WITHIN;
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.h b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.h
index bd261c218e8..8c4f67e4ec9 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/vowel/vowel.h
@@ -2,7 +2,7 @@
* Gregorio is a program that translates gabc files to GregorioTeX
* This header prototypes the vowel handling data structures and entry points.
*
- * Copyright (C) 2015 The Gregorio Project (see CONTRIBUTORS.md)
+ * Copyright (C) 2015-2017 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
*
@@ -27,6 +27,9 @@
#include "bool.h"
#include "unicode.h"
+/* Use unicode 0xfffe, which is guaranteed not to be a character */
+#define GREVOWEL_ELISION_MARK ((grewchar)0xfffe)
+
typedef enum rulefile_parse_status {
RFPS_NOT_FOUND = 0,
RFPS_FOUND,
diff --git a/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc b/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc
index 9ce686a5304..23387b923e5 100644
--- a/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc
+++ b/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc
@@ -1,7 +1,7 @@
IDI_ICON1 ICON DISCARDABLE "gregorio.ico"
1 VERSIONINFO
-FILEVERSION 4,2,0,30
-PRODUCTVERSION 4,2,0,30
+FILEVERSION 5,0,0,21
+PRODUCTVERSION 5,0,0,21
BEGIN
BLOCK "StringFileInfo"
BEGIN
@@ -9,12 +9,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Gregorio project"
VALUE "FileDescription", "Gregorio"
- VALUE "FileVersion", "4.2.0"
+ VALUE "FileVersion", "5.0.0-rc1"
VALUE "InternalName", "gregorio"
VALUE "LegalCopyright", "See COPYING in the installation directory."
VALUE "OriginalFilename", "gregorio.exe"
VALUE "ProductName", "Gregorio"
- VALUE "ProductVersion", "4.2.0"
+ VALUE "ProductVersion", "5.0.0-rc1"
END
END
diff --git a/Build/source/texk/gregorio/gregorio.test b/Build/source/texk/gregorio/gregorio.test
index f8daa762d22..90ab42db148 100755
--- a/Build/source/texk/gregorio/gregorio.test
+++ b/Build/source/texk/gregorio/gregorio.test
@@ -10,7 +10,12 @@ export TEXMFCNF
DOCSRC=$srcdir/$GREGORIO_TREE/doc
-gregorio=gregorio
+#
+# Does FILENAME_VERSION have a value here? If it does, the
+# next line is not needed
+FILENAME_VERSION=5_0_0-rc1
+
+gregorio=gregorio-$FILENAME_VERSION
failed=
diff --git a/Build/source/texk/gregorio/version.ac b/Build/source/texk/gregorio/version.ac
index 80ddca1e5fd..3ded13ba0f5 100644
--- a/Build/source/texk/gregorio/version.ac
+++ b/Build/source/texk/gregorio/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current gregorio version
-m4_define([gregorio_version], [4.2.0])
+m4_define([gregorio_version], [5.0.0-rc1])