diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-09-25 06:05:30 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-09-25 06:05:30 +0000 |
commit | f77c54eb48f9abb742a0102243e04168e04f8d9f (patch) | |
tree | d39cc0f736eef5cd39e971f3834b6f521ddb00b4 /Build/source/texk/gregorio/gregorio-src/src | |
parent | 337eaca0d4cd1b1257bfd995e50bd4caac7565e9 (diff) |
gregorio 4.2.0
git-svn-id: svn://tug.org/texlive/trunk@42143 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/gregorio/gregorio-src/src')
30 files changed, 4106 insertions, 3380 deletions
diff --git a/Build/source/texk/gregorio/gregorio-src/src/Makefile.am b/Build/source/texk/gregorio/gregorio-src/src/Makefile.am index df996ee02e0..f0c275215b4 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-2015 The Gregorio Project (see CONTRIBUTORS.md) +# Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) # # This file is part of Gregorio. # @@ -16,19 +16,16 @@ # along with Gregorio. If not, see <http://www.gnu.org/licenses/>. AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/gabc -I$(top_srcdir)/src/dump -I$(top_srcdir)/src/gregoriotex -AM_CFLAGS = +AM_CFLAGS = $(KPSE_CFLAGS) +LDADD = $(KPSE_LIBS) -gregorio_CFLAGS = $(KPSE_CFLAGS) -gregorio_LDADD = $(KPSE_LIBS) - -bin_PROGRAMS = gregorio -gregorio_SOURCES = gregorio-utils.c characters.c characters.h \ - messages.c messages.h struct.c struct.h enum_generator.h \ - unicode.c unicode.h sha1.c sha1.h support.c support.h \ - config.h bool.h plugins.h utf8strings.h dump/dump.c \ - gregoriotex/gregoriotex-write.c \ - gregoriotex/gregoriotex-position.c \ - gregoriotex/gregoriotex.h +bin_PROGRAMS = gregorio-$(FILENAME_VERSION) +gregorio___FILENAME_VERSION__SOURCES = \ + gregorio-utils.c characters.c characters.h messages.c messages.h struct.c \ + struct.h struct_iter.h enum_generator.h unicode.c unicode.h sha1.c sha1.h \ + support.c support.h config.h bool.h plugins.h utf8strings.h dump/dump.c \ + gregoriotex/gregoriotex-write.c gregoriotex/gregoriotex-position.c \ + gregoriotex/gregoriotex.h @MK@ifneq ($(wildcard ../.git),) @MK@ _tag_ = $(shell git describe --exact-match HEAD 2>/dev/null) @@ -46,40 +43,33 @@ gregorio_SOURCES = gregorio-utils.c characters.c characters.h \ @MK@endif # gabc files -gregorio_SOURCES += gabc/gabc-elements-determination.c gabc/gabc-write.c \ - gabc/gabc-glyphs-determination.c gabc/gabc.h \ - gabc/gabc-score-determination.h \ - gabc/gabc-score-determination-y.h \ - gabc/gabc-score-determination-y.c \ - gabc/gabc-score-determination-l.h \ - gabc/gabc-score-determination-l.c \ - gabc/gabc-notes-determination-l.c \ - vowel/vowel.h vowel/vowel.c vowel/vowel-rules.h \ - vowel/vowel-rules-l.h vowel/vowel-rules-l.c \ - vowel/vowel-rules-y.h vowel/vowel-rules-y.c +gregorio___FILENAME_VERSION__SOURCES += \ + gabc/gabc-elements-determination.c gabc/gabc-write.c \ + gabc/gabc-glyphs-determination.c gabc/gabc.h \ + gabc/gabc-score-determination.h gabc/gabc-score-determination.c \ + gabc/gabc-score-determination-y.h gabc/gabc-score-determination-y.c \ + gabc/gabc-score-determination-l.h gabc/gabc-score-determination-l.c \ + gabc/gabc-notes-determination-l.c vowel/vowel.h vowel/vowel.c \ + vowel/vowel-rules.h vowel/vowel-rules-l.h vowel/vowel-rules-l.c \ + vowel/vowel-rules-y.h vowel/vowel-rules-y.c EXTRA_DIST = encode_utf8strings.c utf8strings.h.in utf8strings.h \ - gabc/gabc-notes-determination.l \ - gabc/gabc-notes-determination-l.c \ - gabc/gabc-score-determination.h \ - gabc/gabc-score-determination.y \ - gabc/gabc-score-determination-y.h \ - gabc/gabc-score-determination-y.c \ - gabc/gabc-score-determination.l \ - gabc/gabc-score-determination-l.h \ - gabc/gabc-score-determination-l.c \ - vowel/vowel-rules.l \ - vowel/vowel-rules-l.h vowel/vowel-rules-l.c \ - vowel/vowel-rules.y \ - vowel/vowel-rules-y.h vowel/vowel-rules-y.c + gabc/gabc-notes-determination.l gabc/gabc-notes-determination-l.c \ + gabc/gabc-score-determination.h gabc/gabc-score-determination.y \ + gabc/gabc-score-determination-y.h \ + gabc/gabc-score-determination-y.c gabc/gabc-score-determination.l \ + gabc/gabc-score-determination-l.h \ + gabc/gabc-score-determination-l.c vowel/vowel-rules.l \ + vowel/vowel-rules-l.h vowel/vowel-rules-l.c vowel/vowel-rules.y \ + vowel/vowel-rules-y.h vowel/vowel-rules-y.c if HAVE_RC # Windows resources (see windows/README.md) gregorio-resources.o: ../windows/gregorio-resources.rc ../windows/gregorio.ico $(RC) $(RCFLAGS) $< -o $@ -gregorio_SOURCES += ../windows/gregorio-resources.rc ../windows/gregorio.ico -gregorio_LDADD += gregorio-resources.o +gregorio___FILENAME_VERSION__SOURCES += ../windows/gregorio-resources.rc ../windows/gregorio.ico +LDADD += gregorio-resources.o endif gabc/gabc-score-determination-y.c: gabc/gabc-score-determination.y @@ -136,16 +126,13 @@ clean-local: find . -name '*.gcno' -print | xargs rm -f -- find . -name '*.gcda' -print | xargs rm -f -- -BUILT_SOURCES = utf8strings.h \ - gabc/gabc-notes-determination-l.c \ - gabc/gabc-score-determination-l.c \ - gabc/gabc-score-determination-l.h \ - gabc/gabc-score-determination-y.c \ - gabc/gabc-score-determination-y.h \ - vowel/vowel-rules-l.c \ - vowel/vowel-rules-l.h \ - vowel/vowel-rules-y.c \ - vowel/vowel-rules-y.h +BUILT_SOURCES = utf8strings.h gabc/gabc-notes-determination-l.c \ + gabc/gabc-score-determination-l.c \ + gabc/gabc-score-determination-l.h \ + gabc/gabc-score-determination-y.c \ + gabc/gabc-score-determination-y.h vowel/vowel-rules-l.c \ + vowel/vowel-rules-l.h vowel/vowel-rules-y.c \ + vowel/vowel-rules-y.h CLEANFILES = encode_utf8strings${EXEEXT} MAINTAINERCLEANFILES = $(BUILT_SOURCES) diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.c b/Build/source/texk/gregorio/gregorio-src/src/characters.c index 51c68b51f96..b82e25e809f 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.h b/Build/source/texk/gregorio/gregorio-src/src/characters.h index 32cea87401e..01fa80180ba 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2016 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 c394acf3fa4..db7e5a5f0c0 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2007-2016 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 e6c6ae1049e..7ea576e1cd8 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 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 d279f6a3d59..b6e914e5546 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -198,8 +198,15 @@ static gregorio_element *gabc_det_elements_from_glyphs( } break; + case G_STROPHA_AUCTA: + case G_STROPHA: + if (current_glyph->u.notes.liquescentia + & (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) { + force_cut = true; + } + /* fall through */ case PUNCTA_INCLINATA_DESCENDENS_GLYPH: - /* we don't cut before, so we don't do anything */ + /* we don't cut before, so we don't do anything else */ if (do_not_cut) { do_not_cut = false; } @@ -239,6 +246,16 @@ static gregorio_element *gabc_det_elements_from_glyphs( } break; + case G_PODATUS: + if (current_glyph->u.notes.glyph_type == G_VIRGA) { + ambitus = glyph_note_ambitus(current_glyph, previous_glyph); + if (ambitus >= 0) { + do_not_cut = false; + break_early = true; + } + } + break; + default: /* do nothing in particular */ break; @@ -294,23 +311,27 @@ static gregorio_element *gabc_det_elements_from_glyphs( static gregorio_element *gabc_det_elements_from_notes( gregorio_note *current_note, int *current_key, + gregorio_shape *const punctum_inclinatum_orientation, const gregorio_score *const score) { gregorio_element *final = NULL; gregorio_glyph *tmp = gabc_det_glyphs_from_notes(current_note, current_key, - score); + punctum_inclinatum_orientation, score); final = gabc_det_elements_from_glyphs(tmp); return final; } gregorio_element *gabc_det_elements_from_string(char *const str, int *const current_key, char *macros[10], - gregorio_scanner_location *const loc, const gregorio_score *const score) + gregorio_scanner_location *const loc, + gregorio_shape *const punctum_inclinatum_orientation, + const gregorio_score *const score) { gregorio_element *final; gregorio_note *tmp; tmp = gabc_det_notes_from_string(str, macros, loc, score); - final = gabc_det_elements_from_notes(tmp, current_key, score); + final = gabc_det_elements_from_notes(tmp, current_key, + punctum_inclinatum_orientation, score); return final; } 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 3d06eadda00..0569dec78e2 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -81,11 +81,12 @@ static __inline gregorio_scanner_location *copy_note_location( * ****************************/ -static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, +static char add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, char current_pitch, char last_pitch, gregorio_shape shape, gregorio_liquescentia liquescentia, gregorio_note *current_glyph_first_note, - gabc_determination * end_of_glyph) + gabc_determination *end_of_glyph, + gregorio_shape *punctum_inclinatum_orientation) { /* next glyph type is the type of the glyph that will be returned (the @@ -167,7 +168,7 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, *end_of_glyph = DET_END_OF_PREVIOUS; } break; - case G_VIRGA_STRATA: + case G_VIRGA_STRATA: /* really a pes stratus */ if (current_pitch > last_pitch) { next_glyph_type = G_SALICUS; } else { @@ -291,7 +292,9 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, next_glyph_type = G_PUNCTUM; } break; - case S_PUNCTUM_INCLINATUM: + 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 @@ -311,6 +314,16 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, next_glyph_type = G_PUNCTUM_INCLINATUM; break; } + if ((shape == S_PUNCTUM_INCLINATUM_ASCENDENS + || shape == S_PUNCTUM_INCLINATUM_DESCENDENS) + && *punctum_inclinatum_orientation != shape + && *punctum_inclinatum_orientation + != S_PUNCTUM_INCLINATUM_UNDETERMINED) { + /* change of orientation ends the glyph */ + *end_of_glyph = DET_END_OF_PREVIOUS; + next_glyph_type = G_PUNCTUM_INCLINATUM; + break; + } switch (current_glyph_type) { case G_PUNCTUM_INCLINATUM: if (last_pitch < current_pitch) { @@ -402,7 +415,7 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, default: /* not reachable unless there's a programming error */ /* LCOV_EXCL_START */ - gregorio_fail2(gregorio_add_note_to_a_glyph, "unexpected shape: %s", + gregorio_fail2(add_note_to_a_glyph, "unexpected shape: %s", gregorio_shape_to_string(shape)); break; /* LCOV_EXCL_STOP */ @@ -443,7 +456,7 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type, gregorio_message(_("Encountered the need to switch " "DET_END_OF_CURRENT to DET_END_OF_BOTH because of " "overly large ambitus"), - "gregorio_add_note_to_a_glyph", VERBOSITY_WARNING, + "add_note_to_a_glyph", VERBOSITY_WARNING, __LINE__); *end_of_glyph = DET_END_OF_BOTH; } else { @@ -453,6 +466,22 @@ static char gregorio_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; + break; + case S_PUNCTUM_INCLINATUM_UNDETERMINED: + break; + default: + *punctum_inclinatum_orientation = S_PUNCTUM_INCLINATUM_UNDETERMINED; + break; + } + return next_glyph_type; } @@ -641,7 +670,8 @@ static void add_intervening_texverbs(gregorio_glyph **last_glyph, static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph, gregorio_note **first_note, gregorio_liquescentia liquescentia, - gregorio_note *real_last_note) + gregorio_note *real_last_note, + gregorio_shape *const punctum_inclinatum_orientation) { bool first = true; gregorio_note *last_note, *texverb_tail; @@ -675,10 +705,14 @@ static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph, gregorio_free_one_note(first_note); } - gregorio_assert( - *first_note != last_note && (next = (*first_note)->next), - close_fusion_glyph, "Unexpected single note during fusion", - return last_note); + if (*first_note == last_note) { + close_fused_glyph(last_glyph, G_PUNCTUM, first_note, + liquescentia & ~TAIL_LIQUESCENTIA_MASK, last_note); + return last_note; + } + + gregorio_assert((*first_note)->next, close_fusion_glyph, + "Unexpected single note during fusion", return last_note); next = next_non_texverb_note(*first_note, last_note); @@ -729,9 +763,10 @@ static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph, /* didn't find anything interesting, so fuse the single note */ gabc_determination ignored; gregorio_glyph_type next_glyph_type = - gregorio_add_note_to_a_glyph(G_UNDETERMINED, + add_note_to_a_glyph(G_UNDETERMINED, (*first_note)->u.note.pitch, 0, (*first_note)->u.note.shape, - (*first_note)->u.note.liquescentia, *first_note, &ignored); + (*first_note)->u.note.liquescentia, *first_note, &ignored, + punctum_inclinatum_orientation); close_fused_glyph(last_glyph, next_glyph_type, first_note, liquescentia & ~TAIL_LIQUESCENTIA_MASK, *first_note); prev_shift = shift; @@ -746,11 +781,28 @@ static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph, static gregorio_note *close_glyph(gregorio_glyph **last_glyph, gregorio_glyph_type glyph_type, gregorio_note **first_note, - gregorio_liquescentia liquescentia, gregorio_note *current_note) + gregorio_liquescentia liquescentia, gregorio_note *current_note, + gregorio_shape *const punctum_inclinatum_orientation) { + /* special case for fusion when rarer shapes don't exist */ + if (glyph_type == G_TORCULUS) { + switch ((*first_note)->u.note.shape) { + case S_ORISCUS_UNDETERMINED: + case S_ORISCUS_ASCENDENS: + case S_ORISCUS_DESCENDENS: + case S_ORISCUS_SCAPUS_UNDETERMINED: + case S_ORISCUS_SCAPUS_ASCENDENS: + case S_ORISCUS_SCAPUS_DESCENDENS: + glyph_type = G_FUSED; + break; + default: + break; + } + } + if (glyph_type == G_FUSED) { return close_fusion_glyph(last_glyph, first_note, liquescentia, - current_note); + current_note, punctum_inclinatum_orientation); } else { return close_normal_glyph(last_glyph, glyph_type, first_note, liquescentia, current_note); @@ -826,14 +878,15 @@ static char gabc_determine_custo_pitch(gregorio_note *current_note, * have the shape quilisma for very rare forms). But these shapes must * not appear in the final form of the score, and we transform them * respectively in punctum and quilisma (and the glyph type must be - * pes_quadratum, but it is done in gregorio_add_note_to_a_glyph). + * pes_quadratum, but it is done in add_note_to_a_glyph). * ****************************/ /* this function updates current_key with the new values (with clef changes) */ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, - int *current_key, const gregorio_score *const score) + int *current_key, gregorio_shape *const punctum_inclinatum_orientation, + const gregorio_score *const score) { /* the first note of the current glyph, to be able to close it well: * later we will cut the link (next_notes and previous_note) between @@ -851,7 +904,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, gregorio_note *next_note = NULL; /* determination of end of glyphs, see comments on - * gregorio_add_note_to_a_glyph */ + * add_note_to_a_glyph */ gabc_determination end_of_glyph = DET_NO_END; /* a char representing the liquescentia of the current glyph */ @@ -882,7 +935,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, if (current_glyph_type != G_UNDETERMINED) { close_glyph(&last_glyph, next_glyph_type, ¤t_glyph_first_note, liquescentia, - current_note->previous); + current_note->previous, punctum_inclinatum_orientation); current_glyph_type = G_UNDETERMINED; liquescentia = L_NO_LIQUESCENTIA; } @@ -965,7 +1018,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, /* if it is not the first glyph */ close_glyph(&last_glyph, current_glyph_type, ¤t_glyph_first_note, - liquescentia, current_note->previous); + liquescentia, current_note->previous, + punctum_inclinatum_orientation); current_glyph_type = G_UNDETERMINED; } liquescentia = head_liquescentia; @@ -991,7 +1045,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, liquescentia |= current_note->u.note.liquescentia; current_note = close_glyph(&last_glyph, G_FUSED, ¤t_glyph_first_note, liquescentia, - current_note); + current_note, punctum_inclinatum_orientation); current_glyph_type = G_UNDETERMINED; liquescentia = L_NO_LIQUESCENTIA; add = false; @@ -999,16 +1053,24 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, switch (current_note->u.note.shape) { case S_PUNCTUM: case S_ORISCUS_UNDETERMINED: + case S_ORISCUS_ASCENDENS: + case S_ORISCUS_DESCENDENS: case S_ORISCUS_SCAPUS_UNDETERMINED: + case S_ORISCUS_SCAPUS_ASCENDENS: + case S_ORISCUS_SCAPUS_DESCENDENS: case S_QUILISMA: case S_QUADRATUM: case S_QUILISMA_QUADRATUM: /* these are fusible */ - if (current_glyph_type <= G_PUNCTA_INCLINATA) { + if (current_glyph_type <= G_PUNCTA_INCLINATA + || current_note->u.note.shape != S_PUNCTUM) { /* if we had some puncta inclinata, then end them */ + /* if the current shape is not a punctum, start a + * new shape */ close_glyph(&last_glyph, current_glyph_type, ¤t_glyph_first_note, - liquescentia, current_note->previous); + liquescentia, current_note->previous, + punctum_inclinatum_orientation); if (!(current_note->u.note.liquescentia & L_INITIO_DEBILIS)) { current_note->u.note.liquescentia |= L_FUSED; @@ -1029,12 +1091,12 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, } if (add) { - next_glyph_type = - gregorio_add_note_to_a_glyph(current_glyph_type, + next_glyph_type = add_note_to_a_glyph(current_glyph_type, current_note->u.note.pitch, last_pitch, current_note->u.note.shape, current_note->u.note.liquescentia, - current_glyph_first_note, &end_of_glyph); + current_glyph_first_note, &end_of_glyph, + punctum_inclinatum_orientation); } /* patch to have good shapes in the special cases of pes quadratum and @@ -1054,7 +1116,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, } if (add) { - /* see comments on gregorio_add_note_to_a_glyph for the meaning of + /* see comments on add_note_to_a_glyph for the meaning of * end_of_glyph */ switch (end_of_glyph) { case DET_NO_END: @@ -1086,25 +1148,34 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, } /* special cases of the punctum inclinatum deminutus and * auctus */ - if (current_note->u.note.shape == S_PUNCTUM_INCLINATUM) { + if (current_note->u.note.shape + == S_PUNCTUM_INCLINATUM_ASCENDENS + || current_note->u.note.shape + == S_PUNCTUM_INCLINATUM_DESCENDENS + || current_note->u.note.shape + == S_PUNCTUM_INCLINATUM_UNDETERMINED) { if (current_note->u.note.liquescentia == L_DEMINUTUS) { current_note->u.note.shape = S_PUNCTUM_INCLINATUM_DEMINUTUS; } - if (current_note->u.note.liquescentia == - L_AUCTUS_DESCENDENS - || current_note->u.note.liquescentia == - L_AUCTUS_ASCENDENS) { + if (current_note->u.note.liquescentia + == L_AUCTUS_DESCENDENS + || current_note->u.note.liquescentia + == L_AUCTUS_ASCENDENS) { current_note->u.note.shape = S_PUNCTUM_INCLINATUM_AUCTUS; } if (current_note->next && current_note->next->type == GRE_NOTE - && current_note->next->u.note.shape == - S_PUNCTUM_INCLINATUM - && current_note->next->u.note.liquescentia == - L_DEMINUTUS) { + && (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; @@ -1122,8 +1193,12 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, if (current_note->next && current_note->next->type == GRE_NOTE - && current_note->next->u.note.shape == - S_PUNCTUM_INCLINATUM + && (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; @@ -1135,7 +1210,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, /* once again, only works with the good values in the header * file */ current_note = close_glyph(&last_glyph, current_glyph_type, - ¤t_glyph_first_note, liquescentia, current_note); + ¤t_glyph_first_note, liquescentia, + current_note, punctum_inclinatum_orientation); current_glyph_type = G_UNDETERMINED; liquescentia = L_NO_LIQUESCENTIA; } @@ -1146,7 +1222,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, /* we don't want to close previous glyph twice */ close_glyph(&last_glyph, current_glyph_type, ¤t_glyph_first_note, liquescentia, - current_note->previous); + current_note->previous, + punctum_inclinatum_orientation); } current_glyph_type = next_glyph_type; liquescentia = L_NO_LIQUESCENTIA; @@ -1158,7 +1235,12 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, { /* special cases of the punctum inclinatum deminutus and * auctus */ - if (current_note->u.note.shape == S_PUNCTUM_INCLINATUM) { + if (current_note->u.note.shape + == S_PUNCTUM_INCLINATUM_ASCENDENS + || current_note->u.note.shape + == S_PUNCTUM_INCLINATUM_DESCENDENS + || current_note->u.note.shape + == S_PUNCTUM_INCLINATUM_UNDETERMINED) { if (current_note->u.note.liquescentia == L_DEMINUTUS) { current_note->u.note.shape = S_PUNCTUM_INCLINATUM_DEMINUTUS; @@ -1172,8 +1254,12 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, } if (current_note->next && current_note->next->type == GRE_NOTE - && current_note->next->u.note.shape == - S_PUNCTUM_INCLINATUM + && (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; @@ -1192,8 +1278,12 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, if (current_note->next && current_note->next->type == GRE_NOTE - && current_note->next->u.note.shape == - S_PUNCTUM_INCLINATUM + && (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; @@ -1202,7 +1292,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, } current_note = close_glyph(&last_glyph, current_glyph_type, ¤t_glyph_first_note, - current_note->u.note.liquescentia, current_note); + current_note->u.note.liquescentia, current_note, + punctum_inclinatum_orientation); current_glyph_type = G_UNDETERMINED; } break; @@ -1210,7 +1301,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, liquescentia += current_note->u.note.liquescentia; /* once again, only works with the good values in the header file */ current_note = close_glyph(&last_glyph, next_glyph_type, - ¤t_glyph_first_note, liquescentia, current_note); + ¤t_glyph_first_note, liquescentia, current_note, + punctum_inclinatum_orientation); current_glyph_type = G_UNDETERMINED; liquescentia = L_NO_LIQUESCENTIA; break; @@ -1220,13 +1312,15 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, /* we don't want to close previous glyph twice */ close_glyph(&last_glyph, current_glyph_type, ¤t_glyph_first_note, liquescentia, - current_note->previous); + current_note->previous, + punctum_inclinatum_orientation); } current_glyph_type = G_UNDETERMINED; liquescentia = L_NO_LIQUESCENTIA; current_note = close_glyph(&last_glyph, next_glyph_type, ¤t_glyph_first_note, - current_note->u.note.liquescentia, current_note); + current_note->u.note.liquescentia, current_note, + punctum_inclinatum_orientation); break; } } @@ -1234,7 +1328,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, if (!next_note && current_glyph_type != G_UNDETERMINED) { /* we must end the determination here */ current_note = close_glyph(&last_glyph, current_glyph_type, - ¤t_glyph_first_note, liquescentia, current_note); + ¤t_glyph_first_note, liquescentia, current_note, + punctum_inclinatum_orientation); } last_pitch = current_note->u.note.pitch; 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 919f86d5383..3c17f898dff 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 @@ -1909,9 +1909,9 @@ static yyconst flex_int32_t yy_nxt[][256] = -48, -48, -48, -48, -48, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, -48, 113, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, -48, 113, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, -48, 114, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, @@ -1935,7 +1935,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, 114, 114, + -49, -49, -49, -49, -49, -49, -49, -49, 115, 115, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, @@ -1966,13 +1966,13 @@ static yyconst flex_int32_t yy_nxt[][256] = 39, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, -50, -50, 115, -50, -50, -50, -50, -50, -50, - -50, -50, -50, -50, -50, -50, -50, 116, 117, -50, + -50, -50, -50, 116, -50, -50, -50, -50, -50, -50, + -50, -50, -50, -50, -50, -50, -50, 117, 118, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, 118, -50, -50, -50, -50, -50, -50, -50, -50, + -50, 119, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, @@ -2000,7 +2000,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, 119, -51, + -51, -51, -51, -51, -51, -51, -51, -51, 120, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, @@ -2062,14 +2062,14 @@ static yyconst flex_int32_t yy_nxt[][256] = -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, 120, -53, -53, + -53, -53, -53, -53, -53, -53, -53, 121, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - 121, -53, -53, -53, -53, -53, -53, -53, -53, -53, + 122, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, @@ -2159,12 +2159,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, -56, - 122, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, 123, -56, -56, -56, -56, -56, 122, 122, 124, - 122, 122, 124, 122, 122, 122, 122, 122, 122, 122, - 122, -56, 122, -56, -56, -56, -56, -56, -56, -56, + -56, -56, -56, -56, -56, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, -56, + 123, -56, -56, -56, -56, -56, -56, -56, -56, -56, + -56, 124, -56, -56, -56, -56, -56, 125, 125, 126, + 125, 125, 126, 125, 125, 125, 125, 125, 125, 125, + 125, -56, 125, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, @@ -2188,15 +2188,15 @@ static yyconst flex_int32_t yy_nxt[][256] = -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, -57, -57, -57, 127, 127, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, 125, -57, -57, -57, + -57, -57, -57, -57, -57, -57, 128, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, 126, -57, -57, 127, -57, + -57, -57, -57, -57, -57, 129, -57, -57, 130, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, @@ -2220,7 +2220,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, 128, 129, + -58, -58, -58, -58, -58, -58, -58, -58, 131, 132, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, @@ -2346,7 +2346,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, 130, -62, 131, -62, -62, -62, -62, + -62, -62, -62, 133, -62, 134, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, @@ -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, 132, -63, 133, - -63, 134, -63, 135, 136, -63, -63, -63, 137, -63, - 138, 139, -63, -63, -63, -63, -63, 140, -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, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, @@ -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, 141, 141, - 141, 141, 141, 141, -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, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, @@ -2504,15 +2504,15 @@ static yyconst flex_int32_t yy_nxt[][256] = -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, 142, -67, -67, -67, -67, -67, -67, + -67, -67, -67, 145, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, 125, -67, -67, -67, + -67, -67, -67, -67, -67, -67, 128, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, 126, -67, -67, 127, -67, + -67, -67, -67, -67, -67, 129, -67, -67, 130, -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,14 +2536,14 @@ 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, 142, -68, -68, -68, -68, -68, 143, - 143, 143, 143, 143, -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, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, 125, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, 144, -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, -68, -68, - -68, -68, -68, -68, -68, 126, -68, -68, 127, -68, + -68, -68, -68, -68, -68, 129, -68, -68, 130, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -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, 145, 146, + -69, -69, -69, -69, -69, -69, -69, -69, 148, 149, -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, 147, 148, - 149, 150, 151, 152, -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, -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, 153, -77, 154, -77, -77, 155, -77, + -77, -77, -77, 156, -77, 157, -77, -77, 158, -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, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 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, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, -81, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 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, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156 + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159 }, { @@ -3005,114 +3005,17 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, -83, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157 - }, - - { - 39, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, -84, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158 - - }, - - { - 39, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, -85, 159, 159, 159, 159, 159, 159, - - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 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, -86, 160, 160, 160, 160, 160, 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, @@ -3128,6 +3031,8 @@ static yyconst flex_int32_t yy_nxt[][256] = 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160 }, @@ -3138,13 +3043,11 @@ static yyconst flex_int32_t yy_nxt[][256] = 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, -87, 161, 161, 161, 161, 161, 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, @@ -3159,15 +3062,14 @@ static yyconst flex_int32_t yy_nxt[][256] = 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161 + }, { 39, 162, 162, 162, 162, 162, 162, 162, 162, 162, - -88, 162, 162, -88, 162, 162, 162, 162, 162, 162, - - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, @@ -3176,6 +3078,7 @@ static yyconst flex_int32_t yy_nxt[][256] = 162, 162, 162, 162, 162, 162, 162, 162, 162, 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, @@ -3191,39 +3094,41 @@ static yyconst flex_int32_t yy_nxt[][256] = 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 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, -89, -89, -89, -89, -89, -89, -89, -89, -89, - 163, -89, -89, 163, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -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, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 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, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89 + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163 }, { @@ -3235,11 +3140,9 @@ static yyconst flex_int32_t yy_nxt[][256] = 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, -90, 164, 164, 164, 164, 164, 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, @@ -3254,21 +3157,21 @@ static yyconst flex_int32_t yy_nxt[][256] = 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 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, - 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, + -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, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, - 165, 165, 165, -91, 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, @@ -3286,54 +3189,54 @@ 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 }, { - 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, + 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, + + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -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, -92, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 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 }, { 39, 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, 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, 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, -93, 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, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, @@ -3349,10 +3252,107 @@ 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, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167 }, { + 39, 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, 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, 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, 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, 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, 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, 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, 168, 168, 168, + 168, 168, 168, 168, 168, 168 + }, + + { + 39, 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, 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, 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, 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, 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, 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, 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, 169, 169, 169, + 169, 169, 169, 169, 169, 169 + }, + + { + 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, + 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, -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, + 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, + 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, + 170, 170, 170, 170, 170, 170 + }, + + { 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, 168, -95, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, -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, -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, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, -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, -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, 171, -97, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, -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, -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, 172, -97, -97, -97, -97, -97, -97, + -97, -97, -97, 175, -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, 173, -98, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, -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, -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, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, -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, -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, 176, -100, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, -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, -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, 177, -100, -100, -100, -100, -100, -100, + -100, -100, -100, 180, -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,117 +3574,20 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, -101, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, -101, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178 - }, - - { - 39, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, -102, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179 - }, - - { - 39, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, -103, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180 - }, - - { 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, -104, 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, -104, 181, 181, 181, 181, 181, 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, @@ -3696,8 +3599,10 @@ static yyconst flex_int32_t yy_nxt[][256] = 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181 + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181 }, { @@ -3709,11 +3614,9 @@ static yyconst flex_int32_t yy_nxt[][256] = 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, -105, 182, 182, 182, 182, 182, 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, @@ -3728,23 +3631,23 @@ static yyconst flex_int32_t yy_nxt[][256] = 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 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, -106, 183, 183, 183, 183, 183, 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, @@ -3760,10 +3663,107 @@ static yyconst flex_int32_t yy_nxt[][256] = 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 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, 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, 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 + }, + + { 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, @@ -3862,13 +3862,13 @@ static yyconst flex_int32_t yy_nxt[][256] = 39, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, 115, -110, -110, -110, -110, -110, -110, - -110, -110, -110, -110, -110, -110, -110, 184, 117, -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, -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, 185, -110, -110, -110, -110, -110, -110, -110, -110, + -110, 188, -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, -113, -113, + -113, -113, -113, -113, -113, -113, -113, -113, 189, 189, -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, @@ -4058,7 +4058,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, 186, -116, -116, -116, -116, -116, -116, -116, -116, + -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, @@ -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, -117, -117, -117, -117, -117, -117, -117, -117, -117, + -117, 190, -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, @@ -4187,7 +4187,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - 187, -120, -120, -120, -120, -120, -120, -120, -120, -120, + -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, @@ -4217,8 +4217,8 @@ 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, - -121, -121, -121, -121, -121, -121, -121, -121, 188, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + 191, -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, -122, -122, + -122, -122, -122, -122, -122, -122, -122, -122, 192, -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, -123, -123, + -123, -123, -123, -123, -123, -123, -123, -123, 193, 193, -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, @@ -4305,13 +4305,13 @@ static yyconst flex_int32_t yy_nxt[][256] = -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, -124, -124, -124, -124, -124, -124, 189, - 189, 189, 189, 189, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, -124, -124, -124, -124, -124, 190, -124, + -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, @@ -4341,7 +4341,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, 191, -125, -125, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, @@ -4369,16 +4369,16 @@ 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, -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, -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, 192, -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, @@ -4408,7 +4408,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, -127, -127, -127, -127, -127, 193, -127, + -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, @@ -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, -128, -128, -128, -128, + -128, -128, -128, -128, -128, -128, 196, -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, -129, -129, -129, -129, -129, + -129, -129, -129, -129, -129, 197, -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, -130, -130, + -130, -130, -130, -130, -130, -130, -130, -130, 198, -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, @@ -4565,7 +4565,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, -132, -132, -132, -132, -132, 194, -132, + -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, @@ -4597,7 +4597,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, - 195, -133, -133, -133, -133, 196, -133, -133, -133, -133, + -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, @@ -4628,8 +4628,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, -134, -134, -134, -134, -134, -134, 197, - -134, -134, -134, -134, -134, -134, -134, -134, 198, -134, + -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, + -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, @@ -4660,8 +4660,8 @@ 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, -135, 199, - -135, -135, -135, -135, -135, -135, -135, -135, 200, -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, 201, -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, 202, -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, -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, 203, - -138, -138, -138, -138, -138, -138, -138, -138, 204, -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, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, @@ -4785,9 +4785,9 @@ 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, 205, 206, - -139, -139, -139, -139, 207, -139, -139, -139, 208, -139, - -139, -139, -139, -139, -139, 209, -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, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, @@ -4816,10 +4816,10 @@ 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, -140, -140, - -140, -140, -140, -140, -140, -140, -140, -140, 210, -140, + -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, -140, 207, -140, -140, -140, 211, -140, - -140, -140, -140, -140, -140, 209, -140, -140, -140, -140, + -140, -140, -140, -140, -140, -140, -140, -140, 207, -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, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, @@ -4843,14 +4843,14 @@ 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, -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, -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, -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, -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, 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, -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, -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, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, @@ -4937,8 +4937,8 @@ 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, 212, - 212, 212, 212, 212, -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, @@ -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, -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, @@ -5312,98 +5312,98 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, -156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156 - }, - - { - 39, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, -157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157 - }, - - { - 39, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, -158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158 + 39, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + + -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, + -156, -156, -156, -156, -156, -156 + }, + + { + 39, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157 + }, + + { + 39, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158 }, { @@ -5503,16 +5503,16 @@ static yyconst flex_int32_t yy_nxt[][256] = { 39, 162, 162, 162, 162, 162, 162, 162, 162, 162, - -162, 162, 162, -162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, -162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, @@ -5533,35 +5533,35 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, -163, -163, -163, -163, -163, -163, -163, -163, -163, - 163, -163, -163, 163, -163, -163, -163, -163, -163, -163, + 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, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163 + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 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,6 +5598,7 @@ 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, @@ -5606,7 +5607,6 @@ 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 }, { @@ -5691,98 +5691,98 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, -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, -168, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, -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, -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, - -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, -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, -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, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168 - }, - - { - 39, -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, -169, -169, -169, - -169, -169, -169, -169, -169, -169, 171, -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, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, 172, -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, - -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, -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, -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, -169, -169, - -169, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, -169, -169, -169 - - }, - - { - 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, - 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, 172, -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, -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, -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 + 39, 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, 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, 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, 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, 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, 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, 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, 168, 168, 168 + }, + + { + 39, 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, 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, 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, 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, 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, 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, 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, 169, 169, 169 + + }, + + { + 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, + 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, + 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, + 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, + 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 }, { @@ -5791,12 +5791,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -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, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, -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, 172, -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, @@ -5822,13 +5822,13 @@ static yyconst flex_int32_t yy_nxt[][256] = -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -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, -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, @@ -5854,12 +5854,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -173, -173, -173, -173, -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, 175, - 175, 175, 175, 175, 175, 175, 175, 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, 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, @@ -5885,13 +5885,13 @@ static yyconst flex_int32_t yy_nxt[][256] = -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, - -174, -174, -174, -174, -174, -174, 176, -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, 177, -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, @@ -5917,12 +5917,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, 177, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, @@ -5949,12 +5949,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, - -176, -176, -176, -176, -176, -176, -176, -176, 214, 214, - 214, 214, 214, 214, 214, 214, 214, 214, -176, -176, + -176, -176, -176, -176, -176, -176, -176, -176, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, -176, -176, + -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, - -176, -176, -176, 177, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, @@ -5980,13 +5980,13 @@ static yyconst flex_int32_t yy_nxt[][256] = -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, + -177, -177, -177, -177, -177, -177, 179, -177, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, + -177, -177, -177, 180, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, @@ -6007,98 +6007,98 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, -178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - - 178, 178, 178, -178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178 - }, - - { - 39, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, -179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179 - - }, - - { - 39, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, -180, 180, 180, 180, 180, 180, 180, - - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180 + 39, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, 180, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, -178, -178, -178 + }, + + { + 39, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, -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, 180, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, -179, -179, -179 + + }, + + { + 39, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, -180, -180, -180 }, { @@ -6197,98 +6197,98 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 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, 215, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -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, -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, -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 + 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, 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, 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 }, { @@ -6302,8 +6302,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -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, 216, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, @@ -6333,7 +6333,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, -188, -188, 217, -188, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, @@ -6391,8 +6391,8 @@ static yyconst flex_int32_t yy_nxt[][256] = -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, -190, -190, -190, 218, - 218, 218, 218, 218, -190, -190, -190, -190, -190, -190, + -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, + -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, @@ -6427,9 +6427,9 @@ static yyconst flex_int32_t yy_nxt[][256] = -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, 219, -191, -191, -191, -191, -191, -191, -191, -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, @@ -6456,13 +6456,13 @@ 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, -192, -192, - 220, -192, 220, -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, -192, -192, -192, -192, -192, -192, -192, 222, -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, 221, -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, @@ -6493,7 +6493,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -193, -193, -193, -193, 222, -193, + -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, @@ -6525,7 +6525,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, 223, -194, -194, -194, + -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, @@ -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, -195, - -195, -195, -195, -195, -195, -195, -195, -195, 224, -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, @@ -6582,10 +6582,10 @@ 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, 225, -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, -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, -196, -196, @@ -6612,15 +6612,15 @@ 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, - -197, -197, -197, -197, -197, -197, -197, -197, -197, 226, - 226, 226, 226, 226, 226, 226, 226, 226, -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, -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, @@ -6645,13 +6645,13 @@ 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, -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, @@ -6675,15 +6675,15 @@ 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, -199, -199, -199, 228, - 228, 228, 228, 228, 228, 228, 228, 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, -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, @@ -6770,8 +6770,8 @@ 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, -202, - -202, -202, -202, -202, -202, -202, -202, -202, 231, -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, @@ -6802,8 +6802,8 @@ 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, 232, - 232, 232, 232, 232, 232, 232, 232, 232, -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, @@ -6833,8 +6833,8 @@ 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, -204, - -204, -204, -204, -204, -204, -204, -204, -204, 233, -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, @@ -6898,11 +6898,11 @@ 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, -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, -206, - -206, -206, -206, -206, -206, -206, -206, -206, 235, -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, @@ -6937,7 +6937,7 @@ 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, 237, -207, 238, -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, @@ -6960,14 +6960,14 @@ 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, -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, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, - -208, -208, -208, -208, -208, -208, -208, -208, 239, -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, @@ -6992,13 +6992,13 @@ 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, -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, 240, -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, @@ -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, 241, -210, + -210, -210, -210, -210, -210, -210, -210, -210, 239, -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, @@ -7060,8 +7060,8 @@ 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, -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, 242, -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, -212, -212, + -212, -212, -212, -212, -212, -212, -212, -212, 241, -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, -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, @@ -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, 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, 172, -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, @@ -7149,14 +7149,14 @@ 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, 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, -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, 177, -214, -214, -214, -214, -214, -214, -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, -215, -215, + -215, -215, -215, -215, -215, -215, -215, -215, 246, -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, @@ -7218,8 +7218,8 @@ 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, -216, -216, - -216, -216, -216, -216, -216, -216, -216, -216, 243, -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, 244, -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, -217, -217, -217, -217, @@ -7276,12 +7276,12 @@ 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, -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, 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, @@ -7307,13 +7307,13 @@ 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, -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, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, @@ -7373,10 +7373,10 @@ 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, - 245, -221, 245, -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,7 +7408,7 @@ 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, -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, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, @@ -7435,12 +7435,12 @@ static yyconst flex_int32_t yy_nxt[][256] = -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, - -223, -223, -223, -223, -223, -223, -223, -223, 246, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, - -223, -223, -223, -223, -223, -223, -223, -223, -223, 247, + -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, + -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, @@ -7531,10 +7531,10 @@ 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, 248, -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, @@ -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, 249, -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, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, @@ -7655,7 +7655,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, - -230, -230, -230, -230, -230, -230, -230, -230, 250, 251, + -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, @@ -7687,12 +7687,12 @@ 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, 252, 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, -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, @@ -7724,7 +7724,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, 254, -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, -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, -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, @@ -7781,7 +7781,7 @@ 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, 255, 255, + -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,12 +7813,12 @@ 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, 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, 257, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, @@ -7845,15 +7845,15 @@ 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, 258, -236, 258, -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, -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, - -236, -236, -236, -236, 259, -236, -236, -236, 259, 259, - -236, 260, -236, -236, -236, -236, -236, 260, -236, -236, - -236, -236, -236, 237, -236, 238, -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, 261, -237, -237, -237, -237, -237, -237, + -237, -237, -237, 259, -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, @@ -7913,7 +7913,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, - -238, -238, -238, 262, -238, -238, -238, -238, -238, -238, + -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, @@ -7939,8 +7939,8 @@ 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, 263, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, @@ -7972,14 +7972,14 @@ 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, -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, 264, -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, -241, -241, -241, -241, -241, 265, 265, - -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, 263, -241, 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, 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, @@ -8035,12 +8035,12 @@ 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, 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, 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, @@ -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, -243, -243, -243, -243, 267, -243, -243, + -243, -243, -243, 267, -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,9 +8098,9 @@ 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, -244, -244, + -244, -244, -244, -244, -244, -244, -244, -244, 268, -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, @@ -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, -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, @@ -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, -246, -246, + -246, -246, -246, -246, -246, -246, -246, -246, 270, 270, -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, @@ -8192,8 +8192,8 @@ 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, -247, 269, - 269, 269, 269, 269, 269, 269, 269, 269, -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, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, @@ -8229,7 +8229,7 @@ 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, -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, @@ -8258,7 +8258,7 @@ 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, -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, @@ -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, 270, -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, @@ -8324,7 +8324,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, 271, -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, -251, -251, -251, -251, -251, -251, -251, -251, @@ -8350,13 +8350,13 @@ 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, -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, 272, -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, @@ -8387,7 +8387,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, 273, -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, @@ -8446,15 +8446,15 @@ 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, -255, -255, -255, -255, -255, -255, 274, -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, -255, -255, -255, -255, -255, -255, -255, + -255, -255, -255, 275, -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, 276, -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, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, @@ -8477,12 +8477,12 @@ 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, -256, -256, -256, -256, -256, -256, 277, 277, -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, -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, @@ -8509,12 +8509,12 @@ 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, -257, -257, -257, -257, -257, -257, -257, - -257, -257, -257, -257, -257, -257, -257, -257, 278, -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, 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, @@ -8535,35 +8535,35 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 39, -258, -258, -258, -258, -258, -258, -258, -258, -258, + -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, - 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, 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, -258, 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, + -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, -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, -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, - 279, 279, 279, -258, 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, 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, + -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, -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, -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, - 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 + -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,16 +8571,16 @@ 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, 258, -259, 258, -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, 261, -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, 237, -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, @@ -8604,15 +8604,15 @@ 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, -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, - -260, -260, -260, -260, 259, -260, -260, -260, 259, -260, -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, @@ -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, -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, @@ -8667,7 +8667,7 @@ 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, -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, @@ -8693,35 +8693,35 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, -263, -263, -263, -263, -263, -263, -263, -263, -263, - -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, + 39, 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, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 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, 280, -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, -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 + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284 }, { @@ -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, -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, 266, -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, 281, -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, @@ -8762,15 +8762,15 @@ 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, 282, + -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, -265, -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, 283, -265, 284, -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, @@ -8801,7 +8801,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, - -266, -266, -266, -266, -266, 285, -266, -266, -266, -266, + -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, @@ -8826,7 +8826,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, 286, -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, @@ -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, -268, -268, -268, -268, -268, + -268, -268, -268, -268, -268, 285, -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, @@ -8893,9 +8893,9 @@ 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, 287, -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, @@ -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, -270, + -270, -270, -270, -270, -270, -270, -270, -270, -270, 287, -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, -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, @@ -8959,7 +8959,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -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, -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, @@ -8984,7 +8984,7 @@ 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, -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, @@ -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, -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, @@ -9082,7 +9082,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, - -275, -275, -275, 288, -275, -275, -275, -275, -275, -275, + -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, @@ -9114,7 +9114,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, 289, -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, @@ -9141,7 +9141,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, 290, + -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, @@ -9149,7 +9149,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, 291, -277, 292, -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, @@ -9172,7 +9172,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, 293, 293, + -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, @@ -9199,34 +9199,34 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 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, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 39, -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, -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, 261, 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, 294, 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, -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, + -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, 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, 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, -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, -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 }, @@ -9240,7 +9240,7 @@ 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, -280, 295, -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, @@ -9268,11 +9268,11 @@ 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, 296, -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, 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, @@ -9299,7 +9299,7 @@ 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, -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, @@ -9307,7 +9307,7 @@ 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, -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,12 +9330,12 @@ 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, -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, - -283, -283, -283, 297, -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, 298, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 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 }, @@ -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, 299, -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, @@ -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, -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, @@ -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, -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, @@ -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, -289, -289, -289, -289, -289, -289, -289, + -289, -289, -289, 303, -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, -290, -290, -290, -290, -290, -290, -290, + -290, -290, -290, 304, -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, @@ -9588,7 +9588,7 @@ 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, -291, - -291, -291, -291, 300, -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, @@ -9620,7 +9620,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, 301, -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, @@ -9647,7 +9647,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, -293, -293, -293, 302, + -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, @@ -9655,7 +9655,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, -293, 303, -293, 304, -293, -293, -293, -293, + -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -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, 261, -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, -294, -294, -294, @@ -9741,13 +9741,13 @@ 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, 305, 305, - 305, -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, -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, -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, -296, @@ -9778,7 +9778,7 @@ 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, 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, @@ -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, -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, @@ -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, -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, @@ -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, -299, -299, -299, -299, -299, -299, -299, + -299, -299, -299, 266, -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, @@ -9899,8 +9899,8 @@ 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, -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, @@ -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, 306, -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, @@ -9999,7 +9999,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, - -304, -304, -304, 307, -304, -304, -304, -304, -304, -304, + -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, @@ -10026,7 +10026,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, -305, -305, -305, -305, 308, + -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, @@ -10034,7 +10034,7 @@ static yyconst flex_int32_t yy_nxt[][256] = -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, 309, -305, 310, -305, -305, -305, -305, + -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, @@ -10115,35 +10115,35 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 39, -308, -308, -308, -308, -308, -308, -308, -308, -308, + -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, -308, 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, 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, + -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, -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, - 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, 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, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 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, -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, -308, -308, -308, -308, -308, -308, + -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, - 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 + -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 }, { @@ -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, 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, 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, @@ -10210,35 +10210,35 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, 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, + 39, -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, 314, 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, 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, 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, -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, -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, - 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, 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, -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, -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, -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 }, { @@ -10273,130 +10273,288 @@ static yyconst flex_int32_t yy_nxt[][256] = }, { - 39, -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, -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, -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 - }, - - { - 39, 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, 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, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, -314, 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, - 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, 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, 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, 315, 315, - 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315 - - }, - - { - 39, 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, 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, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 316, 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, - 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, 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, 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, 315, 315, - 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315 - }, - - { - 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, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -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, -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, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 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, -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, -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, 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, + -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, -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, -314, -314, -314, -314, -314, -314, -314, -314, + -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, + -314, -314, -314, -314, -314, -314 + + }, + + { + 39, -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, -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, -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, + -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, -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, -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, -315, -315, + -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, + -315, -315, -315, -315, -315, -315 + }, + + { + 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 + }, + + { + 39, -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, -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, -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, -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, -317, -317, -317, -317, -317, -317, -317, + -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, + -317, -317, -317, -317, -317, -317 + }, + + { + 39, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, + -318, -318, -318, -318, -318, -318 + }, + + { + 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, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + + -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, + -321, -321, -321, -321, -321, -321 }, } ; @@ -10419,8 +10577,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 138 -#define YY_END_OF_BUFFER 139 +#define YY_NUM_RULES 141 +#define YY_END_OF_BUFFER 142 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -10428,49 +10586,50 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int32_t yy_accept[317] = +static yyconst flex_int32_t yy_accept[322] = { 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, 139, 137, - 63, 97, 137, 90, 1, 115, 76, 137, 117, 94, - 79, 78, 120, 103, 119, 137, 112, 125, 82, 131, - 129, 68, 137, 29, 116, 75, 112, 112, 122, 121, - 81, 132, 130, 128, 89, 91, 65, 60, 61, 118, + 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, 138, 138, 138, 138, 138, 138, 138, - - 46, 138, 138, 51, 138, 138, 63, 102, 101, 98, - 115, 77, 113, 117, 93, 96, 92, 40, 80, 0, - 0, 114, 28, 114, 0, 0, 0, 126, 127, 69, - 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 62, 71, 0, 123, 124, 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, 95, 0, 0, 73, 0, - 106, 108, 104, 0, 0, 0, 0, 0, 0, 0, + 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, 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, 134, - 133, 136, 135, 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, 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 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; -static yyconst yy_state_type yy_NUL_trans[317] = +static yyconst yy_state_type yy_NUL_trans[322] = { 0, 40, 40, 81, 81, 83, 83, 84, 84, 85, 85, 86, 86, 87, 87, 88, 88, 90, 90, 91, 91, @@ -10480,18 +10639,18 @@ static yyconst yy_state_type yy_NUL_trans[317] = 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, - 156, 0, 157, 158, 159, 160, 161, 162, 0, 164, - 165, 166, 167, 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, - 178, 179, 180, 181, 182, 183, 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, 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, - 0, 0, 0, 0, 0, 156, 157, 158, 159, 160, - 161, 162, 0, 164, 165, 166, 167, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 178, 179, 180, - 181, 182, 183, 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, 0, 0, 0, 0, 0, 0, 0, @@ -10499,14 +10658,15 @@ static yyconst yy_state_type yy_NUL_trans[317] = 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, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, - 311, 0, 0, 315, 315, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 316, 0, 0, 316, 0, 0, 320, 320, + 0 } ; extern int gabc_notes_determination__flex_debug; @@ -10526,7 +10686,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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -10565,19 +10725,18 @@ static char char_for_brace; static unsigned int nbof_isolated_episema; static char *notesmacros[10]; static char tempstr[256]; -static int brace_var_counter = 0; -static int overbrace_var = 0, underbrace_var = 0; +static unsigned short overbrace_var = 0, underbrace_var = 0; static const char *overbrace_var_kind; static int before_ledger_type; static char *before_ledger_length = NULL; -static int ledger_var[2] = { 0, 0 }; +static unsigned short ledger_var[2] = { 0, 0 }; static unsigned char staff_lines; static signed char highest_pitch; static bool legacy_oriscus_orientation; static unsigned short he_adjustment_index[2] = { 0, 0 }; typedef struct slur_info { - int var; + unsigned short var; char shift; gregorio_note *start; } slur_info; @@ -10628,13 +10787,17 @@ static __inline char pitch_letter_to_height(const char pitch) { return result; } -static gregorio_shape punctum(const char pitch) +static gregorio_shape punctum_inclinatum(const char orientation) { - if (pitch < 'a') { - return S_PUNCTUM_INCLINATUM; - } else { - return S_PUNCTUM; + switch (orientation) { + case '0': + return S_PUNCTUM_INCLINATUM_DESCENDENS; + + case '1': + return S_PUNCTUM_INCLINATUM_ASCENDENS; } + + return S_PUNCTUM_INCLINATUM_UNDETERMINED; } static __inline void lex_add_note(int i, gregorio_shape shape, char signs, @@ -10797,10 +10960,10 @@ static void add_variable_ledger(const gregorio_sign_orientation type, after_ledger_length = after_ledger; } - ledger_var[type] = ++brace_var_counter; + ledger_var[type] = ++tex_position_id; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{0}{1}" - "\\GreDrawAdditionalLine{%d}{\\GreVarBraceLength{%d}}" + "\\GreVarBraceSavePos{%hu}{0}{1}" + "\\GreDrawAdditionalLine{%d}{\\GreVarBraceLength{%hu}}" "{%d}{%s}{%d}{%s}", ledger_var[type], type, ledger_var[type], before_ledger_type, before_ledger_length, after_ledger_type, after_ledger_length); @@ -10824,7 +10987,7 @@ static void end_variable_ledger(const gregorio_sign_orientation type) "%s-staff ledger line start"), typename, typename); } else { gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{0}{2}", ledger_var[type]); + "\\GreVarBraceSavePos{%hu}{0}{2}", ledger_var[type]); ledger_var[type] = 0; gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(tempstr), GRE_TEXVERB_GLYPH, ¬es_lloc); @@ -10963,7 +11126,7 @@ static void start_var_slur(void) return; } - slur[index].var = ++brace_var_counter; + slur[index].var = ++tex_position_id; parse_slur_shift(&(slur[index].shift)); slur[index].start = current_note; } @@ -10993,8 +11156,8 @@ static void end_var_slur(void) parse_slur_shift(&shift); gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%c}{1}" - "\\GreSlur{%d}{%d}{%c}{\\GreVarBraceLength{%d}}{}{%d}", + "\\GreVarBraceSavePos{%hu}{%c}{1}" + "\\GreSlur{%d}{%d}{%c}{\\GreVarBraceLength{%hu}}{}{%d}", slur[index].var, slur[index].shift, slur[index].start->u.note.pitch + direction, direction, slur[index].shift, slur[index].var, @@ -11002,7 +11165,7 @@ static void end_var_slur(void) gregorio_add_texverb_to_note(slur[index].start, gregorio_strdup(tempstr)); gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%c}{2}", slur[index].var, shift); + "\\GreVarBraceSavePos{%hu}{%c}{2}", slur[index].var, shift); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -11179,7 +11342,7 @@ void gabc_det_notes_finish(void) -#line 11183 "gabc/gabc-notes-determination-l.c" +#line 11346 "gabc/gabc-notes-determination-l.c" #define INITIAL 0 #define texverbnote 1 @@ -11417,9 +11580,9 @@ YY_DECL } { -#line 677 "gabc/gabc-notes-determination.l" +#line 680 "gabc/gabc-notes-determination.l" -#line 11423 "gabc/gabc-notes-determination-l.c" +#line 11586 "gabc/gabc-notes-determination-l.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -11466,7 +11629,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 678 "gabc/gabc-notes-determination.l" +#line 681 "gabc/gabc-notes-determination.l" { BEGIN(comments); } @@ -11474,35 +11637,35 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 681 "gabc/gabc-notes-determination.l" +#line 684 "gabc/gabc-notes-determination.l" { BEGIN(INITIAL); } YY_BREAK case 3: YY_RULE_SETUP -#line 684 "gabc/gabc-notes-determination.l" +#line 687 "gabc/gabc-notes-determination.l" { /* ignored */ } YY_BREAK case 4: YY_RULE_SETUP -#line 687 "gabc/gabc-notes-determination.l" +#line 690 "gabc/gabc-notes-determination.l" { BEGIN(choralsign); } YY_BREAK case 5: YY_RULE_SETUP -#line 690 "gabc/gabc-notes-determination.l" +#line 693 "gabc/gabc-notes-determination.l" { BEGIN(choralnabc); } YY_BREAK case 6: YY_RULE_SETUP -#line 693 "gabc/gabc-notes-determination.l" +#line 696 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[4]-'0'; BEGIN(overbrace); @@ -11510,7 +11673,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 697 "gabc/gabc-notes-determination.l" +#line 700 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[4]-'0'; BEGIN(underbrace); @@ -11518,7 +11681,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 701 "gabc/gabc-notes-determination.l" +#line 704 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[5]-'0'; BEGIN(overcurlybrace); @@ -11526,7 +11689,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 705 "gabc/gabc-notes-determination.l" +#line 708 "gabc/gabc-notes-determination.l" { char_for_brace = gabc_notes_determination_text[6]-'0'; BEGIN(overcurlyaccentusbrace); @@ -11534,7 +11697,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 709 "gabc/gabc-notes-determination.l" +#line 712 "gabc/gabc-notes-determination.l" { if (overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11542,11 +11705,11 @@ YY_RULE_SETUP "previous overbrace")); } else { char_for_brace = gabc_notes_determination_text[4]-'0'; - overbrace_var = ++brace_var_counter; + overbrace_var = ++tex_position_id; overbrace_var_kind = "ob"; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreOverBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreOverBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}", overbrace_var, char_for_brace, overbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -11554,7 +11717,7 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 725 "gabc/gabc-notes-determination.l" +#line 728 "gabc/gabc-notes-determination.l" { if (underbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11562,10 +11725,10 @@ YY_RULE_SETUP "previous underbrace")); } else { char_for_brace = gabc_notes_determination_text[4]-'0'; - underbrace_var = ++brace_var_counter; + underbrace_var = ++tex_position_id; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreUnderBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreUnderBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}", underbrace_var, char_for_brace, underbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -11573,7 +11736,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 740 "gabc/gabc-notes-determination.l" +#line 743 "gabc/gabc-notes-determination.l" { if (overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11581,11 +11744,11 @@ YY_RULE_SETUP "previous overbrace")); } else { char_for_brace = gabc_notes_determination_text[5]-'0'; - overbrace_var = ++brace_var_counter; + overbrace_var = ++tex_position_id; overbrace_var_kind = "ocb"; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{0}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreOverCurlyBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}{0}", overbrace_var, char_for_brace, overbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -11593,7 +11756,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 756 "gabc/gabc-notes-determination.l" +#line 759 "gabc/gabc-notes-determination.l" { if (overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11601,11 +11764,11 @@ YY_RULE_SETUP "previous overbrace")); } else { char_for_brace = gabc_notes_determination_text[6]-'0'; - overbrace_var = ++brace_var_counter; + overbrace_var = ++tex_position_id; overbrace_var_kind = "ocba"; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{1}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreOverCurlyBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}{1}", overbrace_var, char_for_brace, overbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -11613,7 +11776,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 772 "gabc/gabc-notes-determination.l" +#line 775 "gabc/gabc-notes-determination.l" { if (!overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11627,7 +11790,7 @@ YY_RULE_SETUP } else { char_for_brace = gabc_notes_determination_text[4]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", overbrace_var, char_for_brace); overbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -11636,7 +11799,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 791 "gabc/gabc-notes-determination.l" +#line 794 "gabc/gabc-notes-determination.l" { if (!underbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11645,7 +11808,7 @@ YY_RULE_SETUP } else { char_for_brace = gabc_notes_determination_text[4]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", underbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", underbrace_var, char_for_brace); underbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -11654,7 +11817,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 805 "gabc/gabc-notes-determination.l" +#line 808 "gabc/gabc-notes-determination.l" { if (!overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11668,7 +11831,7 @@ YY_RULE_SETUP } else { char_for_brace = gabc_notes_determination_text[5]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", overbrace_var, char_for_brace); overbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -11677,7 +11840,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 824 "gabc/gabc-notes-determination.l" +#line 827 "gabc/gabc-notes-determination.l" { if (!overbrace_var) { gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0, @@ -11691,7 +11854,7 @@ YY_RULE_SETUP } else { char_for_brace = gabc_notes_determination_text[6]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", overbrace_var, char_for_brace); overbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -11700,7 +11863,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 843 "gabc/gabc-notes-determination.l" +#line 846 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[3]-'0']) { gregorio_add_texverb_to_note(current_note, @@ -11710,7 +11873,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 849 "gabc/gabc-notes-determination.l" +#line 852 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[3]-'0']) { gregorio_add_texverb_as_note(¤t_note, @@ -11721,7 +11884,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 856 "gabc/gabc-notes-determination.l" +#line 859 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[3]-'0']) { gregorio_add_texverb_as_note(¤t_note, @@ -11732,7 +11895,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 863 "gabc/gabc-notes-determination.l" +#line 866 "gabc/gabc-notes-determination.l" { if (notesmacros[gabc_notes_determination_text[5]-'0']) { gregorio_add_texverb_as_note(¤t_note, @@ -11743,56 +11906,56 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 870 "gabc/gabc-notes-determination.l" +#line 873 "gabc/gabc-notes-determination.l" { BEGIN(texverbnote); } YY_BREAK case 23: YY_RULE_SETUP -#line 873 "gabc/gabc-notes-determination.l" +#line 876 "gabc/gabc-notes-determination.l" { BEGIN(texverbglyph); } YY_BREAK case 24: YY_RULE_SETUP -#line 876 "gabc/gabc-notes-determination.l" +#line 879 "gabc/gabc-notes-determination.l" { BEGIN(texverbelement); } YY_BREAK case 25: YY_RULE_SETUP -#line 879 "gabc/gabc-notes-determination.l" +#line 882 "gabc/gabc-notes-determination.l" { BEGIN(alt); } YY_BREAK case 26: YY_RULE_SETUP -#line 882 "gabc/gabc-notes-determination.l" +#line 885 "gabc/gabc-notes-determination.l" { gregorio_add_nlba_as_note(¤t_note, NLBA_BEGINNING, ¬es_lloc); } YY_BREAK case 27: YY_RULE_SETUP -#line 885 "gabc/gabc-notes-determination.l" +#line 888 "gabc/gabc-notes-determination.l" { gregorio_add_nlba_as_note(¤t_note, NLBA_END, ¬es_lloc); } YY_BREAK case 28: YY_RULE_SETUP -#line 888 "gabc/gabc-notes-determination.l" +#line 891 "gabc/gabc-notes-determination.l" { gregorio_start_autofuse(¤t_note, ¬es_lloc); } YY_BREAK case 29: YY_RULE_SETUP -#line 891 "gabc/gabc-notes-determination.l" +#line 894 "gabc/gabc-notes-determination.l" { gregorio_end_autofuse(¤t_note, ¬es_lloc); } @@ -11800,7 +11963,7 @@ YY_RULE_SETUP case 30: /* rule 30 can match eol */ YY_RULE_SETUP -#line 894 "gabc/gabc-notes-determination.l" +#line 897 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverBrace{%s}{0pt}{0pt}{%d}", @@ -11811,7 +11974,7 @@ YY_RULE_SETUP case 31: /* rule 31 can match eol */ YY_RULE_SETUP -#line 900 "gabc/gabc-notes-determination.l" +#line 903 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreUnderBrace{%s}{0pt}{0pt}{%d}", @@ -11822,7 +11985,7 @@ YY_RULE_SETUP case 32: /* rule 32 can match eol */ YY_RULE_SETUP -#line 906 "gabc/gabc-notes-determination.l" +#line 909 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{0}", @@ -11833,7 +11996,7 @@ YY_RULE_SETUP case 33: /* rule 33 can match eol */ YY_RULE_SETUP -#line 912 "gabc/gabc-notes-determination.l" +#line 915 "gabc/gabc-notes-determination.l" { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{1}", @@ -11844,7 +12007,7 @@ YY_RULE_SETUP case 34: /* rule 34 can match eol */ YY_RULE_SETUP -#line 918 "gabc/gabc-notes-determination.l" +#line 921 "gabc/gabc-notes-determination.l" { gregorio_add_cs_to_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), false); @@ -11853,7 +12016,7 @@ YY_RULE_SETUP case 35: /* rule 35 can match eol */ YY_RULE_SETUP -#line 922 "gabc/gabc-notes-determination.l" +#line 925 "gabc/gabc-notes-determination.l" { gregorio_add_cs_to_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), true); @@ -11862,7 +12025,7 @@ YY_RULE_SETUP case 36: /* rule 36 can match eol */ YY_RULE_SETUP -#line 926 "gabc/gabc-notes-determination.l" +#line 929 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_to_note(current_note, gregorio_strdup(gabc_notes_determination_text)); @@ -11871,7 +12034,7 @@ YY_RULE_SETUP case 37: /* rule 37 can match eol */ YY_RULE_SETUP -#line 930 "gabc/gabc-notes-determination.l" +#line 933 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), @@ -11881,7 +12044,7 @@ YY_RULE_SETUP case 38: /* rule 38 can match eol */ YY_RULE_SETUP -#line 935 "gabc/gabc-notes-determination.l" +#line 938 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), @@ -11891,7 +12054,7 @@ YY_RULE_SETUP case 39: /* rule 39 can match eol */ YY_RULE_SETUP -#line 940 "gabc/gabc-notes-determination.l" +#line 943 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(gabc_notes_determination_text), GRE_ALT, @@ -11900,7 +12063,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 945 "gabc/gabc-notes-determination.l" +#line 948 "gabc/gabc-notes-determination.l" { BEGIN(space); } @@ -11910,7 +12073,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 948 "gabc/gabc-notes-determination.l" +#line 951 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_AD_HOC_SPACE, gregorio_strdup(gabc_notes_determination_text), ¬es_lloc); @@ -11918,7 +12081,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 952 "gabc/gabc-notes-determination.l" +#line 955 "gabc/gabc-notes-determination.l" { BEGIN(nbspace); } @@ -11928,7 +12091,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 955 "gabc/gabc-notes-determination.l" +#line 958 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_AD_HOC_SPACE_NB, gregorio_strdup(gabc_notes_determination_text), ¬es_lloc); @@ -11936,14 +12099,14 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 959 "gabc/gabc-notes-determination.l" +#line 962 "gabc/gabc-notes-determination.l" { end_variable_ledger(SO_OVER); } YY_BREAK case 45: YY_RULE_SETUP -#line 962 "gabc/gabc-notes-determination.l" +#line 965 "gabc/gabc-notes-determination.l" { BEGIN(overledger); } @@ -11951,7 +12114,7 @@ YY_RULE_SETUP case 46: /* rule 46 can match eol */ YY_RULE_SETUP -#line 965 "gabc/gabc-notes-determination.l" +#line 968 "gabc/gabc-notes-determination.l" { save_before_ledger(gabc_notes_determination_text); BEGIN(overledger2); @@ -11960,7 +12123,7 @@ YY_RULE_SETUP case 47: /* rule 47 can match eol */ YY_RULE_SETUP -#line 969 "gabc/gabc-notes-determination.l" +#line 972 "gabc/gabc-notes-determination.l" { add_static_ledger(SO_OVER, gabc_notes_determination_text); BEGIN(endledger); @@ -11969,7 +12132,7 @@ YY_RULE_SETUP case 48: /* rule 48 can match eol */ YY_RULE_SETUP -#line 973 "gabc/gabc-notes-determination.l" +#line 976 "gabc/gabc-notes-determination.l" { add_variable_ledger(SO_OVER, gabc_notes_determination_text); BEGIN(endledger); @@ -11977,14 +12140,14 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 977 "gabc/gabc-notes-determination.l" +#line 980 "gabc/gabc-notes-determination.l" { end_variable_ledger(SO_UNDER); } YY_BREAK case 50: YY_RULE_SETUP -#line 980 "gabc/gabc-notes-determination.l" +#line 983 "gabc/gabc-notes-determination.l" { BEGIN(underledger); } @@ -11992,7 +12155,7 @@ YY_RULE_SETUP case 51: /* rule 51 can match eol */ YY_RULE_SETUP -#line 983 "gabc/gabc-notes-determination.l" +#line 986 "gabc/gabc-notes-determination.l" { save_before_ledger(gabc_notes_determination_text); BEGIN(underledger2); @@ -12001,7 +12164,7 @@ YY_RULE_SETUP case 52: /* rule 52 can match eol */ YY_RULE_SETUP -#line 987 "gabc/gabc-notes-determination.l" +#line 990 "gabc/gabc-notes-determination.l" { add_static_ledger(SO_UNDER, gabc_notes_determination_text); BEGIN(endledger); @@ -12010,7 +12173,7 @@ YY_RULE_SETUP case 53: /* rule 53 can match eol */ YY_RULE_SETUP -#line 991 "gabc/gabc-notes-determination.l" +#line 994 "gabc/gabc-notes-determination.l" { add_variable_ledger(SO_UNDER, gabc_notes_determination_text); BEGIN(endledger); @@ -12018,7 +12181,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 995 "gabc/gabc-notes-determination.l" +#line 998 "gabc/gabc-notes-determination.l" { BEGIN(INITIAL); } @@ -12026,21 +12189,21 @@ YY_RULE_SETUP case 55: /* rule 55 can match eol */ YY_RULE_SETUP -#line 998 "gabc/gabc-notes-determination.l" +#line 1001 "gabc/gabc-notes-determination.l" { parse_slur(); } YY_BREAK case 56: YY_RULE_SETUP -#line 1001 "gabc/gabc-notes-determination.l" +#line 1004 "gabc/gabc-notes-determination.l" { start_var_slur(); } YY_BREAK case 57: YY_RULE_SETUP -#line 1004 "gabc/gabc-notes-determination.l" +#line 1007 "gabc/gabc-notes-determination.l" { end_var_slur(); } @@ -12048,21 +12211,21 @@ YY_RULE_SETUP case 58: /* rule 58 can match eol */ YY_RULE_SETUP -#line 1011 "gabc/gabc-notes-determination.l" +#line 1014 "gabc/gabc-notes-determination.l" { parse_hepisema_adjustment(); } YY_BREAK case 59: YY_RULE_SETUP -#line 1014 "gabc/gabc-notes-determination.l" +#line 1017 "gabc/gabc-notes-determination.l" { end_hepisema_adjustment(); } YY_BREAK case 60: YY_RULE_SETUP -#line 1017 "gabc/gabc-notes-determination.l" +#line 1020 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup("\\hbox to 0pt{"), GRE_TEXVERB_ELEMENT, @@ -12071,7 +12234,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 1022 "gabc/gabc-notes-determination.l" +#line 1025 "gabc/gabc-notes-determination.l" { gregorio_add_texverb_as_note(¤t_note, gregorio_strdup("\\hss%\n}%\n\\GreNoBreak\\relax "), @@ -12080,7 +12243,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 1027 "gabc/gabc-notes-determination.l" +#line 1030 "gabc/gabc-notes-determination.l" { gregorio_add_manual_custos_as_note(¤t_note, pitch_letter_to_height(gabc_notes_determination_text[0]), @@ -12090,19 +12253,19 @@ YY_RULE_SETUP case 63: /* rule 63 can match eol */ YY_RULE_SETUP -#line 1032 "gabc/gabc-notes-determination.l" +#line 1035 "gabc/gabc-notes-determination.l" /* ignore ends of line and tabs */; YY_BREAK case 64: YY_RULE_SETUP -#line 1033 "gabc/gabc-notes-determination.l" +#line 1036 "gabc/gabc-notes-determination.l" { gregorio_add_custo_as_note(¤t_note, ¬es_lloc); } YY_BREAK case 65: YY_RULE_SETUP -#line 1036 "gabc/gabc-notes-determination.l" +#line 1039 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, false, false, false, ¬es_lloc); @@ -12110,7 +12273,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 1040 "gabc/gabc-notes-determination.l" +#line 1043 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, false, true, true, ¬es_lloc); @@ -12118,7 +12281,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 1044 "gabc/gabc-notes-determination.l" +#line 1047 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, false, true, false, ¬es_lloc); @@ -12126,7 +12289,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 1048 "gabc/gabc-notes-determination.l" +#line 1051 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, true, false, false, ¬es_lloc); @@ -12134,7 +12297,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 1052 "gabc/gabc-notes-determination.l" +#line 1055 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, true, true, true, ¬es_lloc); @@ -12142,7 +12305,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 1056 "gabc/gabc-notes-determination.l" +#line 1059 "gabc/gabc-notes-determination.l" { gregorio_add_end_of_line_as_note(¤t_note, true, true, false, ¬es_lloc); @@ -12150,7 +12313,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 1060 "gabc/gabc-notes-determination.l" +#line 1063 "gabc/gabc-notes-determination.l" { gregorio_add_clef_as_note(¤t_note, letter_to_clef(gabc_notes_determination_text[0]), @@ -12160,7 +12323,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 1066 "gabc/gabc-notes-determination.l" +#line 1069 "gabc/gabc-notes-determination.l" { gregorio_add_clef_as_note(¤t_note, letter_to_clef(gabc_notes_determination_text[0]), @@ -12170,7 +12333,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 1072 "gabc/gabc-notes-determination.l" +#line 1075 "gabc/gabc-notes-determination.l" { gregorio_add_secondary_clef_to_note(current_note, letter_to_clef(gabc_notes_determination_text[1]), @@ -12179,7 +12342,7 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 1077 "gabc/gabc-notes-determination.l" +#line 1080 "gabc/gabc-notes-determination.l" { gregorio_add_secondary_clef_to_note(current_note, letter_to_clef(gabc_notes_determination_text[1]), @@ -12188,49 +12351,49 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 1082 "gabc/gabc-notes-determination.l" +#line 1085 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_VIRGULA); } YY_BREAK case 76: YY_RULE_SETUP -#line 1085 "gabc/gabc-notes-determination.l" +#line 1088 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_MINIMA); } YY_BREAK case 77: YY_RULE_SETUP -#line 1088 "gabc/gabc-notes-determination.l" +#line 1091 "gabc/gabc-notes-determination.l" { add_bar_as_note(parse_dominican_bar(gabc_notes_determination_text[1])); } YY_BREAK case 78: YY_RULE_SETUP -#line 1091 "gabc/gabc-notes-determination.l" +#line 1094 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_MINOR); } YY_BREAK case 79: YY_RULE_SETUP -#line 1094 "gabc/gabc-notes-determination.l" +#line 1097 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_MAIOR); } YY_BREAK case 80: YY_RULE_SETUP -#line 1097 "gabc/gabc-notes-determination.l" +#line 1100 "gabc/gabc-notes-determination.l" { add_bar_as_note(B_DIVISIO_FINALIS); } YY_BREAK case 81: YY_RULE_SETUP -#line 1100 "gabc/gabc-notes-determination.l" +#line 1103 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_PUNCTUM_CAVUM, legacy_oriscus_orientation); @@ -12238,7 +12401,7 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 1104 "gabc/gabc-notes-determination.l" +#line 1107 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_LINEA_PUNCTUM, legacy_oriscus_orientation); @@ -12246,7 +12409,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 1108 "gabc/gabc-notes-determination.l" +#line 1111 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM, legacy_oriscus_orientation); @@ -12254,49 +12417,49 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 1112 "gabc/gabc-notes-determination.l" +#line 1115 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _ACCENTUS); } YY_BREAK case 85: YY_RULE_SETUP -#line 1115 "gabc/gabc-notes-determination.l" +#line 1118 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _ACCENTUS_REVERSUS); } YY_BREAK case 86: YY_RULE_SETUP -#line 1118 "gabc/gabc-notes-determination.l" +#line 1121 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _CIRCULUS); } YY_BREAK case 87: YY_RULE_SETUP -#line 1121 "gabc/gabc-notes-determination.l" +#line 1124 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _SEMI_CIRCULUS); } YY_BREAK case 88: YY_RULE_SETUP -#line 1124 "gabc/gabc-notes-determination.l" +#line 1127 "gabc/gabc-notes-determination.l" { gregorio_add_special_sign(current_note, _SEMI_CIRCULUS_REVERSUS); } YY_BREAK case 89: YY_RULE_SETUP -#line 1127 "gabc/gabc-notes-determination.l" +#line 1130 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_FLAT, legacy_oriscus_orientation); } YY_BREAK case 90: YY_RULE_SETUP -#line 1130 "gabc/gabc-notes-determination.l" +#line 1133 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_SHARP, legacy_oriscus_orientation); @@ -12304,7 +12467,7 @@ YY_RULE_SETUP YY_BREAK case 91: YY_RULE_SETUP -#line 1134 "gabc/gabc-notes-determination.l" +#line 1137 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_NATURAL, legacy_oriscus_orientation); @@ -12312,7 +12475,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 1138 "gabc/gabc-notes-determination.l" +#line 1141 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_HALF_SPACE, NULL, ¬es_lloc); @@ -12320,7 +12483,7 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 1142 "gabc/gabc-notes-determination.l" +#line 1145 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_INTERGLYPH_SPACE, NULL, ¬es_lloc); @@ -12328,7 +12491,7 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 1146 "gabc/gabc-notes-determination.l" +#line 1149 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT, NULL, ¬es_lloc); @@ -12339,7 +12502,7 @@ case 95: (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */ YY_RULE_SETUP -#line 1150 "gabc/gabc-notes-determination.l" +#line 1153 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT, NULL, ¬es_lloc); @@ -12347,7 +12510,7 @@ YY_RULE_SETUP YY_BREAK case 96: YY_RULE_SETUP -#line 1154 "gabc/gabc-notes-determination.l" +#line 1157 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_LARGER_SPACE, NULL, ¬es_lloc); @@ -12355,7 +12518,7 @@ YY_RULE_SETUP YY_BREAK case 97: YY_RULE_SETUP -#line 1158 "gabc/gabc-notes-determination.l" +#line 1161 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_GLYPH_SPACE, NULL, ¬es_lloc); @@ -12363,7 +12526,7 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 1162 "gabc/gabc-notes-determination.l" +#line 1165 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT_NB, NULL, ¬es_lloc); @@ -12374,7 +12537,7 @@ case 99: (yy_c_buf_p) = yy_cp = yy_bp + 2; YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */ YY_RULE_SETUP -#line 1166 "gabc/gabc-notes-determination.l" +#line 1169 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_NEUMATIC_CUT_NB, NULL, ¬es_lloc); @@ -12382,7 +12545,7 @@ YY_RULE_SETUP YY_BREAK case 100: YY_RULE_SETUP -#line 1170 "gabc/gabc-notes-determination.l" +#line 1173 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_LARGER_SPACE_NB, NULL, ¬es_lloc); @@ -12390,7 +12553,7 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 1174 "gabc/gabc-notes-determination.l" +#line 1177 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_GLYPH_SPACE_NB, NULL, ¬es_lloc); @@ -12403,7 +12566,7 @@ 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 1178 "gabc/gabc-notes-determination.l" +#line 1181 "gabc/gabc-notes-determination.l" { gregorio_add_space_as_note(¤t_note, SP_ZERO_WIDTH, NULL, ¬es_lloc); @@ -12411,7 +12574,7 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 1182 "gabc/gabc-notes-determination.l" +#line 1185 "gabc/gabc-notes-determination.l" { gregorio_change_shape(current_note, S_LINEA, legacy_oriscus_orientation); @@ -12419,134 +12582,131 @@ YY_RULE_SETUP YY_BREAK case 104: YY_RULE_SETUP -#line 1186 "gabc/gabc-notes-determination.l" +#line 1189 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 105: YY_RULE_SETUP -#line 1189 "gabc/gabc-notes-determination.l" +#line 1192 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 106: YY_RULE_SETUP -#line 1192 "gabc/gabc-notes-determination.l" +#line 1195 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 107: YY_RULE_SETUP -#line 1195 "gabc/gabc-notes-determination.l" +#line 1198 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 108: YY_RULE_SETUP -#line 1198 "gabc/gabc-notes-determination.l" +#line 1201 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 109: YY_RULE_SETUP -#line 1201 "gabc/gabc-notes-determination.l" +#line 1204 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS); } YY_BREAK case 110: YY_RULE_SETUP -#line 1204 "gabc/gabc-notes-determination.l" +#line 1207 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 111: YY_RULE_SETUP -#line 1207 "gabc/gabc-notes-determination.l" +#line 1210 "gabc/gabc-notes-determination.l" { lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS); } YY_BREAK case 112: YY_RULE_SETUP -#line 1210 "gabc/gabc-notes-determination.l" +#line 1213 "gabc/gabc-notes-determination.l" { - lex_add_note(0, punctum(gabc_notes_determination_text[0]), _NO_SIGN, - L_NO_LIQUESCENTIA); + lex_add_note(0, S_PUNCTUM, _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 113: YY_RULE_SETUP -#line 1214 "gabc/gabc-notes-determination.l" +#line 1216 "gabc/gabc-notes-determination.l" { - lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN, - L_INITIO_DEBILIS); + lex_add_note(1, S_PUNCTUM, _NO_SIGN, L_INITIO_DEBILIS); } YY_BREAK case 114: YY_RULE_SETUP -#line 1218 "gabc/gabc-notes-determination.l" +#line 1219 "gabc/gabc-notes-determination.l" { - lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN, - L_FUSED); + lex_add_note(1, S_PUNCTUM, _NO_SIGN, L_FUSED); } YY_BREAK case 115: YY_RULE_SETUP #line 1222 "gabc/gabc-notes-determination.l" { - add_sign(_V_EPISEMA); + lex_add_note(0, punctum_inclinatum(gabc_notes_determination_text[1]), + _NO_SIGN, L_NO_LIQUESCENTIA); } YY_BREAK case 116: YY_RULE_SETUP -#line 1225 "gabc/gabc-notes-determination.l" +#line 1226 "gabc/gabc-notes-determination.l" { - add_h_episema(); + lex_add_note(1, punctum_inclinatum(gabc_notes_determination_text[2]), + _NO_SIGN, L_INITIO_DEBILIS); } YY_BREAK case 117: YY_RULE_SETUP -#line 1228 "gabc/gabc-notes-determination.l" +#line 1230 "gabc/gabc-notes-determination.l" { - add_sign(_PUNCTUM_MORA); + lex_add_note(1, punctum_inclinatum(gabc_notes_determination_text[2]), + _NO_SIGN, L_FUSED); } YY_BREAK case 118: YY_RULE_SETUP -#line 1231 "gabc/gabc-notes-determination.l" +#line 1234 "gabc/gabc-notes-determination.l" { - gregorio_add_tail_liquescentia(current_note, L_DEMINUTUS, - legacy_oriscus_orientation); + add_sign(_V_EPISEMA); } YY_BREAK case 119: YY_RULE_SETUP -#line 1235 "gabc/gabc-notes-determination.l" +#line 1237 "gabc/gabc-notes-determination.l" { - gregorio_add_tail_liquescentia(current_note, L_AUCTUS_DESCENDENS, - legacy_oriscus_orientation); + add_h_episema(); } YY_BREAK case 120: YY_RULE_SETUP -#line 1239 "gabc/gabc-notes-determination.l" +#line 1240 "gabc/gabc-notes-determination.l" { - gregorio_add_tail_liquescentia(current_note, L_AUCTUS_ASCENDENS, - legacy_oriscus_orientation); + add_sign(_PUNCTUM_MORA); } YY_BREAK case 121: YY_RULE_SETUP #line 1243 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_QUADRATUM, + gregorio_add_tail_liquescentia(current_note, L_DEMINUTUS, legacy_oriscus_orientation); } YY_BREAK @@ -12554,7 +12714,7 @@ case 122: YY_RULE_SETUP #line 1247 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_ORISCUS_UNDETERMINED, + gregorio_add_tail_liquescentia(current_note, L_AUCTUS_DESCENDENS, legacy_oriscus_orientation); } YY_BREAK @@ -12562,7 +12722,7 @@ case 123: YY_RULE_SETUP #line 1251 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_ORISCUS_DESCENDENS, + gregorio_add_tail_liquescentia(current_note, L_AUCTUS_ASCENDENS, legacy_oriscus_orientation); } YY_BREAK @@ -12570,7 +12730,7 @@ case 124: YY_RULE_SETUP #line 1255 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_ORISCUS_ASCENDENS, + gregorio_change_shape(current_note, S_QUADRATUM, legacy_oriscus_orientation); } YY_BREAK @@ -12578,7 +12738,7 @@ case 125: YY_RULE_SETUP #line 1259 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_UNDETERMINED, + gregorio_change_shape(current_note, S_ORISCUS_UNDETERMINED, legacy_oriscus_orientation); } YY_BREAK @@ -12586,7 +12746,7 @@ case 126: YY_RULE_SETUP #line 1263 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_DESCENDENS, + gregorio_change_shape(current_note, S_ORISCUS_DESCENDENS, legacy_oriscus_orientation); } YY_BREAK @@ -12594,7 +12754,7 @@ case 127: YY_RULE_SETUP #line 1267 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_ASCENDENS, + gregorio_change_shape(current_note, S_ORISCUS_ASCENDENS, legacy_oriscus_orientation); } YY_BREAK @@ -12602,7 +12762,7 @@ case 128: YY_RULE_SETUP #line 1271 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_QUILISMA, + gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_UNDETERMINED, legacy_oriscus_orientation); } YY_BREAK @@ -12610,7 +12770,7 @@ case 129: YY_RULE_SETUP #line 1275 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM, + gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_DESCENDENS, legacy_oriscus_orientation); } YY_BREAK @@ -12618,7 +12778,7 @@ case 130: YY_RULE_SETUP #line 1279 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_VIRGA, + gregorio_change_shape(current_note, S_ORISCUS_SCAPUS_ASCENDENS, legacy_oriscus_orientation); } YY_BREAK @@ -12626,7 +12786,7 @@ case 131: YY_RULE_SETUP #line 1283 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_VIRGA_REVERSA, + gregorio_change_shape(current_note, S_QUILISMA, legacy_oriscus_orientation); } YY_BREAK @@ -12634,7 +12794,7 @@ case 132: YY_RULE_SETUP #line 1287 "gabc/gabc-notes-determination.l" { - gregorio_change_shape(current_note, S_STROPHA, + gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM, legacy_oriscus_orientation); } YY_BREAK @@ -12642,50 +12802,74 @@ case 133: YY_RULE_SETUP #line 1291 "gabc/gabc-notes-determination.l" { - current_note->supposed_high_ledger_line = true; - current_note->explicit_high_ledger_line = true; + gregorio_change_shape(current_note, S_VIRGA, + legacy_oriscus_orientation); } YY_BREAK case 134: YY_RULE_SETUP #line 1295 "gabc/gabc-notes-determination.l" { - current_note->supposed_high_ledger_line = false; - current_note->explicit_high_ledger_line = true; + gregorio_change_shape(current_note, S_VIRGA_REVERSA, + legacy_oriscus_orientation); } YY_BREAK case 135: YY_RULE_SETUP #line 1299 "gabc/gabc-notes-determination.l" { - current_note->supposed_low_ledger_line = true; - current_note->explicit_low_ledger_line = true; + gregorio_change_shape(current_note, S_STROPHA, + legacy_oriscus_orientation); } YY_BREAK case 136: YY_RULE_SETUP #line 1303 "gabc/gabc-notes-determination.l" { - current_note->supposed_low_ledger_line = false; - current_note->explicit_low_ledger_line = true; + current_note->supposed_high_ledger_line = true; + current_note->explicit_high_ledger_line = true; } YY_BREAK case 137: -/* rule 137 can match eol */ YY_RULE_SETUP #line 1307 "gabc/gabc-notes-determination.l" { + current_note->supposed_high_ledger_line = false; + current_note->explicit_high_ledger_line = true; + } + YY_BREAK +case 138: +YY_RULE_SETUP +#line 1311 "gabc/gabc-notes-determination.l" +{ + current_note->supposed_low_ledger_line = true; + current_note->explicit_low_ledger_line = true; + } + YY_BREAK +case 139: +YY_RULE_SETUP +#line 1315 "gabc/gabc-notes-determination.l" +{ + current_note->supposed_low_ledger_line = false; + current_note->explicit_low_ledger_line = true; + } + YY_BREAK +case 140: +/* rule 140 can match eol */ +YY_RULE_SETUP +#line 1319 "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 138: +case 141: YY_RULE_SETUP -#line 1313 "gabc/gabc-notes-determination.l" +#line 1325 "gabc/gabc-notes-determination.l" ECHO; YY_BREAK -#line 12689 "gabc/gabc-notes-determination-l.c" +#line 12873 "gabc/gabc-notes-determination-l.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(texverbnote): case YY_STATE_EOF(texverbglyph): @@ -13670,7 +13854,7 @@ void gabc_notes_determination_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 1313 "gabc/gabc-notes-determination.l" +#line 1325 "gabc/gabc-notes-determination.l" diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l index 9682d53c7e3..b5a53d1f094 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -42,19 +42,18 @@ static char char_for_brace; static unsigned int nbof_isolated_episema; static char *notesmacros[10]; static char tempstr[256]; -static int brace_var_counter = 0; -static int overbrace_var = 0, underbrace_var = 0; +static unsigned short overbrace_var = 0, underbrace_var = 0; static const char *overbrace_var_kind; static int before_ledger_type; static char *before_ledger_length = NULL; -static int ledger_var[2] = { 0, 0 }; +static unsigned short ledger_var[2] = { 0, 0 }; static unsigned char staff_lines; static signed char highest_pitch; static bool legacy_oriscus_orientation; static unsigned short he_adjustment_index[2] = { 0, 0 }; typedef struct slur_info { - int var; + unsigned short var; char shift; gregorio_note *start; } slur_info; @@ -105,13 +104,17 @@ static __inline char pitch_letter_to_height(const char pitch) { return result; } -static gregorio_shape punctum(const char pitch) +static gregorio_shape punctum_inclinatum(const char orientation) { - if (pitch < 'a') { - return S_PUNCTUM_INCLINATUM; - } else { - return S_PUNCTUM; + switch (orientation) { + case '0': + return S_PUNCTUM_INCLINATUM_DESCENDENS; + + case '1': + return S_PUNCTUM_INCLINATUM_ASCENDENS; } + + return S_PUNCTUM_INCLINATUM_UNDETERMINED; } static __inline void lex_add_note(int i, gregorio_shape shape, char signs, @@ -274,10 +277,10 @@ static void add_variable_ledger(const gregorio_sign_orientation type, after_ledger_length = after_ledger; } - ledger_var[type] = ++brace_var_counter; + ledger_var[type] = ++tex_position_id; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{0}{1}" - "\\GreDrawAdditionalLine{%d}{\\GreVarBraceLength{%d}}" + "\\GreVarBraceSavePos{%hu}{0}{1}" + "\\GreDrawAdditionalLine{%d}{\\GreVarBraceLength{%hu}}" "{%d}{%s}{%d}{%s}", ledger_var[type], type, ledger_var[type], before_ledger_type, before_ledger_length, after_ledger_type, after_ledger_length); @@ -301,7 +304,7 @@ static void end_variable_ledger(const gregorio_sign_orientation type) "%s-staff ledger line start"), typename, typename); } else { gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{0}{2}", ledger_var[type]); + "\\GreVarBraceSavePos{%hu}{0}{2}", ledger_var[type]); ledger_var[type] = 0; gregorio_add_texverb_as_note(¤t_note, gregorio_strdup(tempstr), GRE_TEXVERB_GLYPH, ¬es_lloc); @@ -440,7 +443,7 @@ static void start_var_slur(void) return; } - slur[index].var = ++brace_var_counter; + slur[index].var = ++tex_position_id; parse_slur_shift(&(slur[index].shift)); slur[index].start = current_note; } @@ -470,8 +473,8 @@ static void end_var_slur(void) parse_slur_shift(&shift); gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%c}{1}" - "\\GreSlur{%d}{%d}{%c}{\\GreVarBraceLength{%d}}{}{%d}", + "\\GreVarBraceSavePos{%hu}{%c}{1}" + "\\GreSlur{%d}{%d}{%c}{\\GreVarBraceLength{%hu}}{}{%d}", slur[index].var, slur[index].shift, slur[index].start->u.note.pitch + direction, direction, slur[index].shift, slur[index].var, @@ -479,7 +482,7 @@ static void end_var_slur(void) gregorio_add_texverb_to_note(slur[index].start, gregorio_strdup(tempstr)); gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%c}{2}", slur[index].var, shift); + "\\GreVarBraceSavePos{%hu}{%c}{2}", slur[index].var, shift); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -713,11 +716,11 @@ void gabc_det_notes_finish(void) "previous overbrace")); } else { char_for_brace = gabc_notes_determination_text[4]-'0'; - overbrace_var = ++brace_var_counter; + overbrace_var = ++tex_position_id; overbrace_var_kind = "ob"; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreOverBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreOverBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}", overbrace_var, char_for_brace, overbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -729,10 +732,10 @@ void gabc_det_notes_finish(void) "previous underbrace")); } else { char_for_brace = gabc_notes_determination_text[4]-'0'; - underbrace_var = ++brace_var_counter; + underbrace_var = ++tex_position_id; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreUnderBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreUnderBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}", underbrace_var, char_for_brace, underbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -744,11 +747,11 @@ void gabc_det_notes_finish(void) "previous overbrace")); } else { char_for_brace = gabc_notes_determination_text[5]-'0'; - overbrace_var = ++brace_var_counter; + overbrace_var = ++tex_position_id; overbrace_var_kind = "ocb"; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{0}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreOverCurlyBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}{0}", overbrace_var, char_for_brace, overbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -760,11 +763,11 @@ void gabc_det_notes_finish(void) "previous overbrace")); } else { char_for_brace = gabc_notes_determination_text[6]-'0'; - overbrace_var = ++brace_var_counter; + overbrace_var = ++tex_position_id; overbrace_var_kind = "ocba"; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{1}" - "\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{1}", + "\\GreVarBraceSavePos{%hu}{%d}{1}" + "\\GreOverCurlyBrace{\\GreVarBraceLength{%hu}}{0pt}{0pt}{%d}{1}", overbrace_var, char_for_brace, overbrace_var, char_for_brace); gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); } @@ -782,7 +785,7 @@ void gabc_det_notes_finish(void) } else { char_for_brace = gabc_notes_determination_text[4]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", overbrace_var, char_for_brace); overbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -796,7 +799,7 @@ void gabc_det_notes_finish(void) } else { char_for_brace = gabc_notes_determination_text[4]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", underbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", underbrace_var, char_for_brace); underbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -815,7 +818,7 @@ void gabc_det_notes_finish(void) } else { char_for_brace = gabc_notes_determination_text[5]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", overbrace_var, char_for_brace); overbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -834,7 +837,7 @@ void gabc_det_notes_finish(void) } else { char_for_brace = gabc_notes_determination_text[6]-'0'; gregorio_snprintf(tempstr, sizeof tempstr, - "\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var, + "\\GreVarBraceSavePos{%hu}{%d}{2}", overbrace_var, char_for_brace); overbrace_var = 0; gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); @@ -1207,17 +1210,26 @@ y { [a-npA-NP]sss(\<|\>) { lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS); } -[a-npA-NP] { - lex_add_note(0, punctum(gabc_notes_determination_text[0]), _NO_SIGN, - L_NO_LIQUESCENTIA); +[a-np] { + lex_add_note(0, S_PUNCTUM, _NO_SIGN, L_NO_LIQUESCENTIA); + } +-[a-np] { + lex_add_note(1, S_PUNCTUM, _NO_SIGN, L_INITIO_DEBILIS); + } +@[a-np] { + lex_add_note(1, S_PUNCTUM, _NO_SIGN, L_FUSED); + } +[A-NP][01]? { + lex_add_note(0, punctum_inclinatum(gabc_notes_determination_text[1]), + _NO_SIGN, L_NO_LIQUESCENTIA); } --[a-npA-NP] { - lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN, - L_INITIO_DEBILIS); +-[A-NP][01]? { + lex_add_note(1, punctum_inclinatum(gabc_notes_determination_text[2]), + _NO_SIGN, L_INITIO_DEBILIS); } -@[a-npA-NP] { - lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN, - L_FUSED); +@[A-NP][01]? { + lex_add_note(1, punctum_inclinatum(gabc_notes_determination_text[2]), + _NO_SIGN, L_FUSED); } \'[01]? { add_sign(_V_EPISEMA); 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 a9f5dcf0baa..42c089a3dea 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 70 -#define YY_END_OF_BUFFER 71 +#define YY_NUM_RULES 71 +#define YY_END_OF_BUFFER 72 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -407,40 +407,40 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int32_t yy_accept[292] = +static yyconst flex_int32_t yy_accept[296] = { 0, - 0, 1, 7, 7, 0, 0, 65, 65, 46, 46, - 52, 52, 49, 49, 5, 5, 57, 57, 71, 25, - 69, 25, 23, 6, 23, 23, 23, 23, 23, 23, + 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, - 70, 26, 47, 64, 27, 53, 62, 63, 54, 55, - 65, 67, 66, 46, 53, 52, 53, 49, 48, 5, - 4, 57, 53, 0, 0, 23, 6, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 2, 1, - 7, 7, 0, 7, 7, 0, 7, 8, 0, 26, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 65, 68, 46, 0, 0, 52, 0, 49, - 48, 5, 4, 57, 0, 24, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 7, - 0, 0, 0, 38, 36, 42, 0, 30, 0, 0, - 0, 0, 0, 50, 61, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 23, 23, 0, 23, 23, 23, - 14, 23, 10, 23, 23, 23, 0, 0, 0, 59, - 0, 40, 44, 32, 34, 39, 37, 43, 31, 0, - 0, 0, 0, 51, 0, 23, 23, 23, 0, 23, - 23, 0, 0, 23, 23, 23, 60, 0, 56, 0, - - 41, 45, 33, 35, 0, 23, 18, 9, 23, 23, - 23, 23, 23, 23, 23, 0, 0, 0, 28, 58, + 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, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 29, 23, 23, 0, 19, 23, 23, 23, 0, 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, - 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, 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, 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 } ; @@ -485,244 +485,250 @@ static yyconst YY_CHAR yy_meta[46] = 4, 9, 1, 1, 1 } ; -static yyconst flex_uint32_t yy_base[313] = +static yyconst flex_uint32_t yy_base[316] = { 0, - 0, 43, 48, 50, 82, 118, 39, 50, 41, 42, - 635, 634, 57, 62, 64, 66, 633, 632, 646, 651, - 651, 638, 634, 638, 48, 53, 83, 45, 84, 63, - 86, 64, 95, 68, 104, 651, 635, 66, 109, 115, - 131, 0, 651, 651, 651, 150, 630, 651, 651, 651, - 0, 136, 651, 0, 131, 0, 629, 0, 111, 0, - 117, 0, 628, 140, 0, 628, 651, 68, 117, 138, - 136, 122, 142, 139, 146, 149, 158, 144, 162, 139, - 188, 190, 192, 623, 194, 0, 196, 176, 208, 0, - 183, 607, 619, 618, 185, 617, 603, 183, 595, 601, - - 613, 609, 0, 215, 0, 202, 611, 0, 588, 0, - 224, 0, 228, 0, 605, 231, 614, 193, 219, 613, - 199, 179, 226, 92, 231, 230, 232, 234, 233, 608, - 584, 591, 583, 651, 651, 651, 602, 651, 596, 600, - 599, 598, 597, 651, 651, 596, 595, 594, 593, 223, - 572, 578, 590, 576, 237, 238, 574, 593, 241, 239, - 592, 591, 590, 240, 247, 249, 583, 577, 581, 651, - 576, 651, 651, 651, 651, 651, 651, 651, 651, 579, - 578, 577, 576, 651, 555, 245, 250, 251, 568, 262, - 265, 256, 560, 254, 578, 577, 651, 566, 651, 569, - - 651, 651, 651, 651, 566, 256, 564, 549, 267, 268, - 270, 273, 271, 277, 278, 528, 518, 511, 651, 651, - 279, 283, 511, 280, 284, 285, 288, 509, 290, 292, - 651, 296, 300, 377, 400, 301, 302, 305, 373, 304, - 307, 311, 313, 308, 317, 315, 314, 321, 322, 324, - 394, 323, 325, 326, 335, 392, 340, 333, 336, 343, - 344, 342, 346, 348, 347, 387, 349, 355, 352, 364, - 368, 367, 370, 385, 371, 382, 372, 374, 203, 375, - 376, 377, 380, 378, 165, 159, 381, 379, 384, 120, - 651, 415, 424, 433, 442, 451, 460, 469, 478, 483, - - 489, 498, 507, 516, 523, 532, 539, 548, 557, 566, - 69, 575 + 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 } ; -static yyconst flex_int32_t yy_def[313] = +static yyconst flex_int32_t yy_def[316] = { 0, - 291, 1, 292, 292, 293, 293, 294, 294, 295, 295, - 296, 296, 297, 297, 298, 298, 299, 299, 291, 291, - 291, 291, 300, 291, 300, 300, 300, 300, 300, 300, - 300, 300, 300, 291, 291, 291, 291, 291, 301, 302, - 303, 304, 291, 291, 291, 291, 291, 291, 291, 291, - 305, 291, 291, 306, 46, 307, 291, 308, 291, 309, - 291, 310, 291, 291, 311, 300, 291, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 291, 291, - 301, 302, 303, 302, 302, 312, 303, 291, 291, 304, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - - 291, 291, 305, 291, 306, 291, 291, 307, 291, 308, - 291, 309, 291, 310, 291, 291, 311, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 312, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 300, 300, 311, 300, 300, 300, - 300, 300, 300, 300, 300, 300, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 300, 300, 311, 311, 300, - 300, 311, 311, 300, 300, 300, 291, 291, 291, 291, - - 291, 291, 291, 291, 291, 300, 300, 311, 311, 300, - 300, 311, 311, 311, 300, 311, 311, 291, 291, 291, - 300, 311, 300, 300, 311, 311, 311, 300, 311, 311, - 291, 300, 311, 311, 300, 311, 311, 311, 311, 311, - 311, 300, 311, 311, 311, 311, 311, 311, 311, 311, - 300, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 0, 291, 291, 291, 291, 291, 291, 291, 291, 291, - - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291 + 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 } ; -static yyconst flex_uint32_t yy_nxt[697] = +static yyconst flex_uint32_t yy_nxt[724] = { 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, 52, 36, 37, - 40, 40, 40, 40, 65, 55, 55, 65, 52, 59, - 59, 41, 65, 41, 59, 59, 61, 61, 61, 61, - 79, 79, 65, 65, 117, 72, 70, 65, 68, 53, - 49, 49, 50, 50, 69, 38, 38, 38, 43, 44, - 53, 45, 65, 65, 74, 65, 46, 76, 118, 47, - - 48, 65, 71, 73, 65, 75, 79, 79, 80, 80, - 80, 82, 82, 111, 111, 161, 77, 85, 85, 113, - 113, 49, 83, 50, 43, 44, 65, 45, 86, 65, - 78, 65, 46, 88, 88, 47, 48, 104, 104, 104, - 104, 106, 116, 116, 89, 65, 64, 65, 65, 122, - 291, 65, 119, 65, 107, 65, 121, 49, 65, 50, - 91, 124, 120, 129, 79, 79, 125, 65, 65, 92, - 93, 94, 123, 95, 65, 126, 127, 96, 88, 88, - 97, 80, 80, 80, 98, 99, 100, 101, 65, 128, - 82, 82, 85, 85, 291, 291, 85, 85, 82, 82, - - 136, 83, 65, 86, 140, 291, 131, 86, 65, 83, - 88, 88, 65, 132, 159, 141, 104, 104, 104, 104, - 158, 137, 146, 147, 155, 148, 111, 111, 65, 149, - 113, 113, 132, 116, 116, 65, 150, 151, 152, 65, - 65, 65, 65, 65, 180, 156, 65, 65, 65, 65, - 65, 160, 162, 163, 65, 181, 65, 166, 65, 65, - 65, 194, 208, 65, 206, 65, 164, 165, 190, 187, - 195, 65, 186, 196, 65, 191, 65, 65, 212, 65, - 65, 210, 65, 207, 211, 213, 65, 65, 65, 65, - 215, 221, 65, 65, 65, 224, 223, 65, 222, 65, - - 225, 65, 226, 235, 227, 65, 232, 237, 236, 65, - 65, 65, 228, 65, 65, 233, 65, 65, 238, 241, - 65, 240, 65, 65, 65, 245, 65, 242, 247, 246, - 65, 65, 65, 65, 65, 65, 249, 250, 243, 255, - 254, 251, 65, 253, 65, 65, 252, 259, 256, 65, - 260, 65, 65, 65, 257, 65, 65, 65, 65, 262, - 258, 65, 263, 261, 65, 269, 265, 264, 267, 270, - 266, 271, 268, 65, 272, 273, 65, 65, 274, 65, - 65, 65, 275, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 278, 65, 65, 284, 65, 276, 277, 286, - - 282, 65, 283, 65, 248, 279, 280, 281, 288, 65, - 289, 244, 285, 287, 290, 39, 39, 39, 39, 39, + 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, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 66, 66, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 84, 84, - - 84, 84, 84, 84, 84, 84, 84, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 90, 90, 239, 90, - 234, 90, 90, 103, 103, 103, 231, 103, 103, 103, - 103, 103, 105, 105, 105, 105, 105, 105, 105, 108, - 108, 108, 108, 108, 108, 108, 230, 108, 110, 229, - 110, 110, 110, 110, 110, 110, 110, 112, 65, 112, - 112, 112, 112, 112, 112, 112, 114, 114, 114, 114, - 114, 114, 114, 65, 114, 130, 130, 130, 130, 130, - 130, 220, 130, 130, 219, 218, 217, 216, 214, 209, - 205, 204, 203, 202, 201, 200, 199, 198, 197, 65, - - 193, 192, 189, 188, 185, 184, 183, 182, 179, 178, - 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, - 167, 86, 157, 65, 154, 153, 136, 145, 144, 143, - 142, 139, 138, 135, 134, 133, 86, 65, 115, 109, - 102, 64, 67, 65, 64, 291, 63, 63, 57, 57, - 19, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291 - + 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 } ; -static yyconst flex_int32_t yy_chk[697] = +static yyconst flex_int32_t yy_chk[724] = { 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, 28, 9, 10, 25, 8, 13, - 13, 3, 26, 4, 14, 14, 15, 15, 16, 16, - 34, 34, 30, 32, 311, 28, 26, 68, 25, 7, - 9, 10, 9, 10, 25, 2, 2, 2, 5, 5, - 8, 5, 27, 29, 30, 31, 5, 32, 68, 5, - - 5, 124, 27, 29, 33, 31, 35, 35, 38, 38, - 38, 39, 39, 59, 59, 124, 33, 40, 40, 61, - 61, 5, 39, 5, 6, 6, 69, 6, 40, 290, - 33, 72, 6, 41, 41, 6, 6, 52, 52, 52, - 52, 55, 64, 64, 41, 71, 64, 70, 74, 72, - 55, 73, 69, 78, 55, 75, 71, 6, 76, 6, - 46, 74, 70, 78, 79, 79, 75, 77, 286, 46, - 46, 46, 73, 46, 285, 75, 76, 46, 88, 88, - 46, 80, 80, 80, 46, 46, 46, 46, 122, 77, - 81, 81, 82, 82, 83, 83, 85, 85, 87, 87, - - 95, 81, 118, 82, 98, 83, 91, 85, 121, 87, - 89, 89, 279, 91, 122, 98, 104, 104, 104, 104, - 121, 95, 106, 106, 118, 106, 111, 111, 119, 106, - 113, 113, 106, 116, 116, 123, 106, 106, 106, 126, - 125, 127, 129, 128, 150, 119, 155, 156, 160, 164, - 159, 123, 125, 126, 186, 150, 165, 129, 166, 187, - 188, 164, 188, 194, 186, 206, 127, 128, 159, 156, - 165, 190, 155, 166, 191, 160, 209, 210, 192, 211, - 213, 190, 212, 187, 191, 192, 214, 215, 221, 224, - 194, 206, 222, 225, 226, 211, 210, 227, 209, 229, - - 212, 230, 213, 224, 214, 232, 221, 226, 225, 233, - 236, 237, 215, 240, 238, 222, 241, 244, 227, 230, - 242, 229, 243, 247, 246, 236, 245, 232, 238, 237, - 248, 249, 252, 250, 253, 254, 240, 241, 233, 246, - 245, 242, 258, 244, 255, 259, 243, 250, 247, 257, - 252, 262, 260, 261, 248, 263, 265, 264, 267, 254, - 249, 269, 255, 253, 268, 262, 258, 257, 260, 263, - 259, 264, 261, 270, 265, 267, 272, 271, 268, 273, - 275, 277, 269, 278, 280, 281, 282, 284, 288, 283, - 287, 276, 272, 289, 274, 281, 266, 270, 271, 283, - - 278, 256, 280, 251, 239, 273, 275, 277, 287, 235, - 288, 234, 282, 284, 289, 292, 292, 292, 292, 292, - 292, 292, 292, 292, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 294, 294, 294, 294, 294, 294, 294, - 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, - 295, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 300, 300, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, - - 302, 302, 302, 302, 302, 302, 302, 303, 303, 303, - 303, 303, 303, 303, 303, 303, 304, 304, 228, 304, - 223, 304, 304, 305, 305, 305, 218, 305, 305, 305, - 305, 305, 306, 306, 306, 306, 306, 306, 306, 307, - 307, 307, 307, 307, 307, 307, 217, 307, 308, 216, - 308, 308, 308, 308, 308, 308, 308, 309, 208, 309, - 309, 309, 309, 309, 309, 309, 310, 310, 310, 310, - 310, 310, 310, 207, 310, 312, 312, 312, 312, 312, - 312, 205, 312, 312, 200, 198, 196, 195, 193, 189, - 185, 183, 182, 181, 180, 171, 169, 168, 167, 163, - - 162, 161, 158, 157, 154, 153, 152, 151, 149, 148, - 147, 146, 143, 142, 141, 140, 139, 137, 133, 132, - 131, 130, 120, 117, 115, 109, 107, 102, 101, 100, - 99, 97, 96, 94, 93, 92, 84, 66, 63, 57, - 47, 37, 24, 23, 22, 19, 18, 17, 12, 11, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291 - + 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 } ; static yy_state_type yy_last_accepting_state; @@ -746,22 +752,22 @@ char *gabc_score_determination_text; * This file implements the score lexer. * * Gregorio score determination in gabc input. - * Copyright (C) 2006-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. - * + * * 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 should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. */ #include "config.h" @@ -777,9 +783,35 @@ char *gabc_score_determination_text; #include "gabc-score-determination.h" #include "gabc-score-determination-y.h" -static unsigned char style_stack = 0; static bool eof_found = false; +#define START_STYLE(STYLE) \ + if (*styles & SB_ ## STYLE) { \ + gregorio_messagef("gabc_score_determination_lex", VERBOSITY_ERROR, 0, \ + _("style already started: %s"), gabc_score_determination_text); \ + } else { \ + *styles ^= SB_ ## STYLE; \ + return STYLE ## _BEGIN; \ + } + +#define END_STYLE(STYLE) \ + if (*styles & SB_ ## STYLE) { \ + *styles ^= SB_ ## STYLE; \ + return STYLE ## _END; \ + } else { \ + gregorio_messagef("gabc_score_determination_lex", VERBOSITY_ERROR, 0, \ + _("style not started: %s"), gabc_score_determination_text); \ + } + +#define RETURN_CHARACTERS \ + gabc_score_determination_lval.text = \ + gregorio_strdup(gabc_score_determination_text); \ + return CHARACTERS + +#define RETURN_SPACE \ + gabc_score_determination_lval.text = gregorio_strdup(" "); \ + return CHARACTERS + #define YY_NO_INPUT #define YY_INPUT(buf,result,max_size) \ @@ -827,13 +859,13 @@ static bool eof_found = false; for (a) single-line values, ending with a semicolon at end of line or a double semicolon, (b) multi-line values, which end at a double semicolon. */ -#line 831 "gabc/gabc-score-determination-l.c" +#line 863 "gabc/gabc-score-determination-l.c" #define INITIAL 0 #define attribute 1 #define score 2 #define notes 3 -#define style 4 +#define sp 4 #define verb 5 #define comments 6 #define inicomments 7 @@ -1058,9 +1090,9 @@ YY_DECL } { -#line 108 "gabc/gabc-score-determination.l" +#line 134 "gabc/gabc-score-determination.l" -#line 1064 "gabc/gabc-score-determination-l.c" +#line 1096 "gabc/gabc-score-determination-l.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1088,13 +1120,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 >= 292 ) + if ( yy_current_state >= 296 ) 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] != 651 ); + while ( yy_base[yy_current_state] != 678 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1120,7 +1152,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 109 "gabc/gabc-score-determination.l" +#line 135 "gabc/gabc-score-determination.l" { /* BOM written by a lot of windows softwares when they write UTF-8 */ } @@ -1128,14 +1160,14 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 112 "gabc/gabc-score-determination.l" +#line 138 "gabc/gabc-score-determination.l" { /* ignoring empty lines */ } YY_BREAK case 3: YY_RULE_SETUP -#line 115 "gabc/gabc-score-determination.l" +#line 141 "gabc/gabc-score-determination.l" { BEGIN(inicomments); } @@ -1143,21 +1175,21 @@ YY_RULE_SETUP case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 118 "gabc/gabc-score-determination.l" +#line 144 "gabc/gabc-score-determination.l" { BEGIN(INITIAL); } YY_BREAK case 5: YY_RULE_SETUP -#line 121 "gabc/gabc-score-determination.l" +#line 147 "gabc/gabc-score-determination.l" { /* ignored */ } YY_BREAK case 6: YY_RULE_SETUP -#line 124 "gabc/gabc-score-determination.l" +#line 150 "gabc/gabc-score-determination.l" { BEGIN(attribute); return COLON; @@ -1166,7 +1198,7 @@ YY_RULE_SETUP case 7: /* rule 7 can match eol */ YY_RULE_SETUP -#line 128 "gabc/gabc-score-determination.l" +#line 154 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1176,7 +1208,7 @@ YY_RULE_SETUP case 8: /* rule 8 can match eol */ YY_RULE_SETUP -#line 133 "gabc/gabc-score-determination.l" +#line 159 "gabc/gabc-score-determination.l" { BEGIN(INITIAL); return SEMICOLON; @@ -1184,7 +1216,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 137 "gabc/gabc-score-determination.l" +#line 163 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.character = gabc_score_determination_text[5]; return DEF_MACRO; @@ -1192,7 +1224,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 141 "gabc/gabc-score-determination.l" +#line 167 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1201,7 +1233,7 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 146 "gabc/gabc-score-determination.l" +#line 172 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1210,7 +1242,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 151 "gabc/gabc-score-determination.l" +#line 177 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1219,15 +1251,15 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 156 "gabc/gabc-score-determination.l" +#line 182 "gabc/gabc-score-determination.l" { - /* DEPRECATED by 4.1 */ + /* DEPRECATED for removal in 5.0 */ return INITIAL_STYLE; } YY_BREAK case 14: YY_RULE_SETUP -#line 160 "gabc/gabc-score-determination.l" +#line 186 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1236,7 +1268,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 165 "gabc/gabc-score-determination.l" +#line 191 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1245,7 +1277,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 170 "gabc/gabc-score-determination.l" +#line 196 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1254,7 +1286,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 175 "gabc/gabc-score-determination.l" +#line 201 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1263,7 +1295,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 180 "gabc/gabc-score-determination.l" +#line 206 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1272,7 +1304,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 185 "gabc/gabc-score-determination.l" +#line 211 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1281,7 +1313,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 190 "gabc/gabc-score-determination.l" +#line 216 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1290,7 +1322,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 195 "gabc/gabc-score-determination.l" +#line 221 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1299,7 +1331,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 200 "gabc/gabc-score-determination.l" +#line 226 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1308,7 +1340,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 205 "gabc/gabc-score-determination.l" +#line 231 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); @@ -1318,7 +1350,7 @@ YY_RULE_SETUP case 24: /* rule 24 can match eol */ YY_RULE_SETUP -#line 210 "gabc/gabc-score-determination.l" +#line 236 "gabc/gabc-score-determination.l" { BEGIN(score); return END_OF_DEFINITIONS; @@ -1326,7 +1358,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 214 "gabc/gabc-score-determination.l" +#line 240 "gabc/gabc-score-determination.l" { gregorio_messagef("det_score", VERBOSITY_ERROR, 0, _("unrecognized character: \"%c\" in definition part"), @@ -1336,377 +1368,323 @@ YY_RULE_SETUP case 26: /* rule 26 can match eol */ YY_RULE_SETUP -#line 219 "gabc/gabc-score-determination.l" +#line 245 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; + RETURN_SPACE; } YY_BREAK case 27: YY_RULE_SETUP -#line 224 "gabc/gabc-score-determination.l" +#line 248 "gabc/gabc-score-determination.l" { - return HYPHEN; + RETURN_CHARACTERS; } YY_BREAK case 28: YY_RULE_SETUP -#line 227 "gabc/gabc-score-determination.l" +#line 251 "gabc/gabc-score-determination.l" { - return NLBA_B; + return HYPHEN; } YY_BREAK case 29: YY_RULE_SETUP -#line 230 "gabc/gabc-score-determination.l" +#line 254 "gabc/gabc-score-determination.l" { - return NLBA_E; + return NLBA_B; } YY_BREAK case 30: YY_RULE_SETUP -#line 233 "gabc/gabc-score-determination.l" +#line 257 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return I_BEGIN; + return NLBA_E; } YY_BREAK case 31: YY_RULE_SETUP -#line 238 "gabc/gabc-score-determination.l" +#line 260 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return I_END; + START_STYLE(I); } YY_BREAK case 32: YY_RULE_SETUP -#line 245 "gabc/gabc-score-determination.l" +#line 263 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return TT_BEGIN; + END_STYLE(I); } YY_BREAK case 33: YY_RULE_SETUP -#line 250 "gabc/gabc-score-determination.l" +#line 266 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return TT_END; + START_STYLE(TT); } YY_BREAK case 34: YY_RULE_SETUP -#line 257 "gabc/gabc-score-determination.l" +#line 269 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return UL_BEGIN; + END_STYLE(TT); } YY_BREAK case 35: YY_RULE_SETUP -#line 262 "gabc/gabc-score-determination.l" +#line 272 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return UL_END; + START_STYLE(UL); } YY_BREAK case 36: YY_RULE_SETUP -#line 269 "gabc/gabc-score-determination.l" +#line 275 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return C_BEGIN; + END_STYLE(UL); } YY_BREAK case 37: YY_RULE_SETUP -#line 274 "gabc/gabc-score-determination.l" +#line 278 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return C_END; + START_STYLE(C); } YY_BREAK case 38: YY_RULE_SETUP #line 281 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return B_BEGIN; + END_STYLE(C); } YY_BREAK case 39: YY_RULE_SETUP -#line 286 "gabc/gabc-score-determination.l" +#line 284 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return B_END; + START_STYLE(B); } YY_BREAK case 40: YY_RULE_SETUP -#line 293 "gabc/gabc-score-determination.l" +#line 287 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return SC_BEGIN; + END_STYLE(B); } YY_BREAK case 41: YY_RULE_SETUP -#line 298 "gabc/gabc-score-determination.l" +#line 290 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return SC_END; + START_STYLE(SC); } YY_BREAK case 42: YY_RULE_SETUP -#line 305 "gabc/gabc-score-determination.l" +#line 293 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return ELISION_BEGIN; + END_STYLE(SC); } YY_BREAK case 43: YY_RULE_SETUP -#line 310 "gabc/gabc-score-determination.l" +#line 296 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return ELISION_END; + START_STYLE(ELISION); } YY_BREAK case 44: YY_RULE_SETUP -#line 317 "gabc/gabc-score-determination.l" +#line 299 "gabc/gabc-score-determination.l" { - BEGIN(style); - style_stack ++; - return SP_BEGIN; + END_STYLE(ELISION); } YY_BREAK case 45: YY_RULE_SETUP -#line 322 "gabc/gabc-score-determination.l" +#line 302 "gabc/gabc-score-determination.l" { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return SP_END; + BEGIN(sp); + return SP_BEGIN; } YY_BREAK case 46: -/* rule 46 can match eol */ YY_RULE_SETUP -#line 329 "gabc/gabc-score-determination.l" +#line 306 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; + BEGIN(score); + return SP_END; } YY_BREAK case 47: +/* rule 47 can match eol */ YY_RULE_SETUP -#line 334 "gabc/gabc-score-determination.l" +#line 310 "gabc/gabc-score-determination.l" { - BEGIN(comments); + RETURN_SPACE; } YY_BREAK case 48: -/* rule 48 can match eol */ YY_RULE_SETUP -#line 337 "gabc/gabc-score-determination.l" +#line 313 "gabc/gabc-score-determination.l" { - BEGIN(score); + RETURN_CHARACTERS; } YY_BREAK case 49: YY_RULE_SETUP -#line 340 "gabc/gabc-score-determination.l" +#line 316 "gabc/gabc-score-determination.l" { - /* ignored */ + BEGIN(comments); } YY_BREAK case 50: +/* rule 50 can match eol */ YY_RULE_SETUP -#line 343 "gabc/gabc-score-determination.l" +#line 319 "gabc/gabc-score-determination.l" { - BEGIN(verb); - return VERB_BEGIN; + BEGIN(score); } YY_BREAK case 51: YY_RULE_SETUP -#line 347 "gabc/gabc-score-determination.l" +#line 322 "gabc/gabc-score-determination.l" { - if (style_stack == 0) { - BEGIN(score); - } else { - BEGIN(style); - } - return VERB_END; + /* ignored */ } YY_BREAK case 52: -/* rule 52 can match eol */ YY_RULE_SETUP -#line 355 "gabc/gabc-score-determination.l" +#line 325 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; + BEGIN(verb); + return VERB_BEGIN; } YY_BREAK case 53: YY_RULE_SETUP -#line 360 "gabc/gabc-score-determination.l" +#line 329 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; + BEGIN(score); + return VERB_END; } YY_BREAK case 54: +/* rule 54 can match eol */ YY_RULE_SETUP -#line 365 "gabc/gabc-score-determination.l" +#line 333 "gabc/gabc-score-determination.l" { - return CENTER_BEGIN; + RETURN_CHARACTERS; } YY_BREAK case 55: YY_RULE_SETUP -#line 368 "gabc/gabc-score-determination.l" +#line 336 "gabc/gabc-score-determination.l" { - return CENTER_END; + RETURN_CHARACTERS; } YY_BREAK case 56: YY_RULE_SETUP -#line 371 "gabc/gabc-score-determination.l" +#line 339 "gabc/gabc-score-determination.l" { - BEGIN(alt); - return ALT_BEGIN; + return CENTER_BEGIN; } YY_BREAK case 57: -/* rule 57 can match eol */ YY_RULE_SETUP -#line 375 "gabc/gabc-score-determination.l" +#line 342 "gabc/gabc-score-determination.l" { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; + return CENTER_END; } YY_BREAK case 58: YY_RULE_SETUP -#line 380 "gabc/gabc-score-determination.l" +#line 345 "gabc/gabc-score-determination.l" +{ + BEGIN(alt); + return ALT_BEGIN; + } + YY_BREAK +case 59: +YY_RULE_SETUP +#line 349 "gabc/gabc-score-determination.l" { BEGIN(score); return ALT_END; } YY_BREAK -case 59: +case 60: YY_RULE_SETUP -#line 384 "gabc/gabc-score-determination.l" +#line 353 "gabc/gabc-score-determination.l" { return EUOUAE_B; } YY_BREAK -case 60: +case 61: YY_RULE_SETUP -#line 387 "gabc/gabc-score-determination.l" +#line 356 "gabc/gabc-score-determination.l" { return EUOUAE_E; } YY_BREAK -case 61: +case 62: YY_RULE_SETUP -#line 390 "gabc/gabc-score-determination.l" +#line 359 "gabc/gabc-score-determination.l" { return TRANSLATION_CENTER_END; } YY_BREAK -case 62: +case 63: YY_RULE_SETUP -#line 393 "gabc/gabc-score-determination.l" +#line 362 "gabc/gabc-score-determination.l" { return TRANSLATION_BEGIN; } YY_BREAK -case 63: +case 64: YY_RULE_SETUP -#line 396 "gabc/gabc-score-determination.l" +#line 365 "gabc/gabc-score-determination.l" { return TRANSLATION_END; } YY_BREAK -case 64: +case 65: YY_RULE_SETUP -#line 399 "gabc/gabc-score-determination.l" +#line 368 "gabc/gabc-score-determination.l" { BEGIN(notes); return OPENING_BRACKET; } YY_BREAK -case 65: -/* rule 65 can match eol */ +case 66: +/* rule 66 can match eol */ YY_RULE_SETUP -#line 403 "gabc/gabc-score-determination.l" +#line 372 "gabc/gabc-score-determination.l" { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); return NOTES; } YY_BREAK -case 66: +case 67: YY_RULE_SETUP -#line 408 "gabc/gabc-score-determination.l" +#line 377 "gabc/gabc-score-determination.l" { return NABC_CUT; } YY_BREAK -case 67: +case 68: YY_RULE_SETUP -#line 411 "gabc/gabc-score-determination.l" +#line 380 "gabc/gabc-score-determination.l" { BEGIN(score); return CLOSING_BRACKET; } YY_BREAK -case 68: -/* rule 68 can match eol */ +case 69: +/* rule 69 can match eol */ YY_RULE_SETUP -#line 415 "gabc/gabc-score-determination.l" +#line 384 "gabc/gabc-score-determination.l" { BEGIN(score); return CLOSING_BRACKET_WITH_SPACE; @@ -1716,12 +1694,12 @@ case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(attribute): case YY_STATE_EOF(score): case YY_STATE_EOF(notes): -case YY_STATE_EOF(style): +case YY_STATE_EOF(sp): case YY_STATE_EOF(verb): case YY_STATE_EOF(comments): case YY_STATE_EOF(inicomments): case YY_STATE_EOF(alt): -#line 419 "gabc/gabc-score-determination.l" +#line 388 "gabc/gabc-score-determination.l" { if (!eof_found) { eof_found = true; @@ -1731,22 +1709,22 @@ case YY_STATE_EOF(alt): } } YY_BREAK -case 69: -/* rule 69 can match eol */ +case 70: +/* rule 70 can match eol */ YY_RULE_SETUP -#line 427 "gabc/gabc-score-determination.l" +#line 396 "gabc/gabc-score-determination.l" { gregorio_messagef("gabc_score_determination_lex", VERBOSITY_ERROR, 0, _("unrecognized character: \"%c\""), gabc_score_determination_text[0]); } YY_BREAK -case 70: +case 71: YY_RULE_SETUP -#line 432 "gabc/gabc-score-determination.l" +#line 401 "gabc/gabc-score-determination.l" ECHO; YY_BREAK -#line 1750 "gabc/gabc-score-determination-l.c" +#line 1728 "gabc/gabc-score-determination-l.c" case YY_END_OF_BUFFER: { @@ -2038,7 +2016,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 >= 292 ) + if ( yy_current_state >= 296 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2066,11 +2044,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 >= 292 ) + if ( yy_current_state >= 296 ) 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 == 291); + yy_is_jam = (yy_current_state == 295); return yy_is_jam ? 0 : yy_current_state; } @@ -2719,7 +2697,7 @@ void gabc_score_determination_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 432 "gabc/gabc-score-determination.l" +#line 401 "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 9991c67f3e0..411b56732a4 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 @@ -225,7 +225,7 @@ extern char *gabc_score_determination_text; #define attribute 1 #define score 2 #define notes 3 -#define style 4 +#define sp 4 #define verb 5 #define comments 6 #define inicomments 7 @@ -338,7 +338,7 @@ extern int gabc_score_determination_lex (void); #undef YY_DECL #endif -#line 432 "gabc/gabc-score-determination.l" +#line 401 "gabc/gabc-score-determination.l" #line 345 "gabc/gabc-score-determination-l.h" diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c index c4704c95811..82e4d2dc37a 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 @@ -77,8 +77,8 @@ * Gregorio is a program that translates gabc files to GregorioTeX * This file implements the score parser. * - * Gregorio score determination in gabc input. - * Copyright (C) 2006-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Gregorio score determination from gabc. + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -134,6 +134,12 @@ #include "gabc-score-determination.h" #include "gabc-score-determination-l.h" +/* workaround for bison issue passing pointer to a "local" variable */ +#define STYLE_BITS &styles + +/* forward declaration of the flex/bison process function */ +static int gabc_score_determination_parse(void); + /* uncomment it if you want to have an interactive shell to understand the * details on how bison works for a certain input */ /* int gabc_score_determination_debug=1; */ @@ -152,8 +158,6 @@ static gregorio_element **elements; gregorio_element *current_element; /* a table containing the macros to use in gabc file */ static char *macros[10]; -/* forward declaration of the flex/bison process function */ -static int gabc_score_determination_parse(void); /* other variables that we will have to use */ static gregorio_character *current_character; static gregorio_character *first_text_character; @@ -169,10 +173,28 @@ static gregorio_center_determination center_is_determined; /* current_key is... the current key... updated by each notes determination * (for key changes) */ static int current_key; -static bool got_language = false; -static bool got_staff_lines = false; -static bool started_first_word = false; +static bool got_language; +static bool got_staff_lines; +static bool started_first_word; static struct sha1_ctx digester; +static gabc_style_bits styles; + +/* punctum_inclinatum_orientation maintains the running punctum inclinatum + * orientation in order to decide if the glyph needs to be cut when a punctum + * inclinatum with forced orientation is encountered. This should be set to + * the shape of a non-liquescent punctum inclinatum with forced orientation + * when one is encountered, be left alone when a non-liquescent punctum + * inclinatum with undetermined orientation is encountered, or be reset to + * S_PUNCTUM_INCLINATUM_UNDETERMINED otherwise (because such ends any previous + * run of punctum inclinatum notes). Based on the assumption that a punctum + * inclinatum with forced orientation changes all the punctum inclinatum shapes + * with undetermined orientation in the same run of notes before and after it + * unless influenced by an earlier punctum inclinatum with forced orientation, + * the value of punctum_inclinatum_orientation can be used to determine if a + * punctum inclinatum with a forced orientation will have a different + * orientation than the punctum inclinatum immediately before it, which would + * require a cut of the glyph. */ +static gregorio_shape punctum_inclinatum_orientation; static __inline void check_multiple(const char *name, bool exists) { if (exists) { @@ -188,128 +210,6 @@ static void gabc_score_determination_error(const char *error_str) VERBOSITY_ERROR, 0); } -static void fix_custos(gregorio_score *score_to_check) -{ - gregorio_syllable *current_syllable; - gregorio_element *current_element; - gregorio_element *custo_element; - char pitch = 0; - char pitch_difference = 0; - 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); - 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; - } - } - if (current_element) { - if (current_element->type == GRE_CLEF) { - current_key = gregorio_calculate_new_key( - current_element->u.misc.clef); - } - current_element = current_element->next; - } - } - current_syllable = current_syllable->next_syllable; - } -} - -/* - * A function that checks the score integrity. - */ - -static bool check_score_integrity(gregorio_score *score_to_check) -{ - bool good = true; - - gregorio_assert(score_to_check, check_score_integrity, "score is NULL", - return false); - - if (score_to_check->first_syllable - && score_to_check->first_syllable->elements - && *(score_to_check->first_syllable->elements)) { - gregorio_character *ch; - if ((score_to_check->first_syllable->elements)[0]->type - == GRE_END_OF_LINE) { - gregorio_message( - "line break is not supported on the first syllable", - "check_score_integrity", VERBOSITY_ERROR, 0); - good = false; - } - if (gregorio_get_clef_change(score_to_check->first_syllable)) { - gregorio_message( - "clef change is not supported on the first syllable", - "check_score_integrity", VERBOSITY_ERROR, 0); - good = false; - } - /* check first syllable for elision at the beginning */ - for (ch = score_to_check->first_syllable->text; ch; - ch = ch->next_character) { - if (ch->is_character) { - break; - } else if (ch->cos.s.style == ST_VERBATIM - || ch->cos.s.style == ST_SPECIAL_CHAR) { - break; - } else if (ch->cos.s.style == ST_ELISION) { - gregorio_message( - _("score initial may not be in an elision"), - "check_score_integrity", VERBOSITY_ERROR, 0); - break; - } - } - } - - return good; -} - -/* - * Another function to be improved: this one checks the validity of the voice_infos. - */ - -static bool check_infos_integrity(gregorio_score *score_to_check) -{ - if (!score_to_check->name) { - gregorio_message(_("no name specified, put `name:...;' at the " - "beginning of the file, can be dangerous with some output " - "formats"), "det_score", VERBOSITY_WARNING, 0); - } - return true; -} - /* * The function that will initialize the variables. */ @@ -340,6 +240,8 @@ static void initialize_variables(void) got_language = false; got_staff_lines = false; started_first_word = false; + styles = 0; + punctum_inclinatum_orientation = S_PUNCTUM_INCLINATUM_UNDETERMINED; } /* @@ -586,13 +488,51 @@ static void end_translation(void) } /* - * gregorio_gabc_add_text is the function called when lex returns a char *. In + * + * 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(¤t_character, style); +} + +static void end_style(unsigned char style) +{ + gregorio_end_style(¤t_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 gregorio_gabc_add_text(char *mbcharacters) +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); @@ -607,140 +547,11 @@ static void gregorio_gabc_add_text(char *mbcharacters) free(mbcharacters); } -/* - * - * 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 gregorio_gabc_add_style(unsigned char style) -{ - gregorio_begin_style(¤t_character, style); -} - -static void gregorio_gabc_end_style(unsigned char style) -{ - gregorio_end_style(¤t_character, style); -} - void gabc_digest(const void *const buf, const size_t size) { sha1_process_bytes(buf, size, &digester); } -static void determine_oriscus_orientation(gregorio_score *score) { - gregorio_syllable *syllable; - gregorio_element *element; - gregorio_glyph *glyph; - gregorio_note *note; - gregorio_note *oriscus = NULL; - - for (syllable = score->first_syllable; syllable; - syllable = syllable->next_syllable) { - for (element = syllable->elements[0]; element; - element = element->next) { - if (element->type == GRE_ELEMENT) { - for (glyph = element->u.first_glyph; glyph; - glyph = glyph->next) { - if (glyph->type == GRE_GLYPH) { - for (note = glyph->u.notes.first_note; note; - note = note->next) { - if (note->type == GRE_NOTE) { - if (oriscus) { - if (note->u.note.pitch - < oriscus->u.note.pitch) { - 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( - determine_oriscus_orientation, - "bad_shape"); - break; - /* LCOV_EXCL_STOP */ - } - } else { /* ascending or the same */ - 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( - determine_oriscus_orientation, - "bad_shape"); - break; - /* LCOV_EXCL_STOP */ - } - } - oriscus = NULL; - } - - switch (note->u.note.shape) { - case S_ORISCUS_UNDETERMINED: - case S_ORISCUS_SCAPUS_UNDETERMINED: - case S_ORISCUS_CAVUM_UNDETERMINED: - oriscus = note; - break; - - default: - break; - } - } - } - } - } - } - } - } - - if (oriscus) { - /* oriscus at the end of the score */ - 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(determine_oriscus_orientation, "bad_shape"); - break; - /* LCOV_EXCL_STOP */ - } - } -} - /* * The "main" function. It is the function that is called when we have to read * a gabc file. It takes a file descriptor, that is to say a file that is @@ -765,6 +576,7 @@ gregorio_score *gabc_read_score(FILE *f_in) if (!score->legacy_oriscus_orientation) { determine_oriscus_orientation(score); } + determine_punctum_inclinatum_orientation(score); gregorio_fix_initial_keys(score, gregorio_default_clef); rebuild_score_characters(); fix_custos(score); @@ -785,12 +597,13 @@ size_t nabc_lines = 0; static void gabc_y_add_notes(char *notes, YYLTYPE loc) { if (nabc_state == 0) { if (!elements[voice]) { - elements[voice] = gabc_det_elements_from_string(notes, - ¤t_key, macros, &loc, score); + elements[voice] = gabc_det_elements_from_string(notes, ¤t_key, + macros, &loc, &punctum_inclinatum_orientation, score); current_element = elements[voice]; } else { gregorio_element *new_elements = gabc_det_elements_from_string( - notes, ¤t_key, macros, &loc, score); + notes, ¤t_key, macros, &loc, + &punctum_inclinatum_orientation, score); gregorio_element *last_element = elements[voice]; while (last_element->next) { last_element = last_element->next; @@ -816,7 +629,7 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) { } } -#line 820 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */ +#line 633 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -1001,7 +814,7 @@ int gabc_score_determination_parse (void); /* Copy the second part of user declarations. */ -#line 1005 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */ +#line 818 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */ #ifdef short # undef short @@ -1306,15 +1119,15 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 782, 782, 786, 791, 792, 796, 800, 806, 811, - 820, 826, 831, 836, 841, 846, 851, 859, 867, 877, - 886, 891, 895, 900, 901, 905, 910, 916, 927, 931, - 939, 940, 941, 945, 948, 951, 954, 957, 960, 963, - 966, 969, 972, 981, 984, 987, 990, 993, 996, 999, - 1002, 1005, 1008, 1017, 1020, 1026, 1029, 1035, 1036, 1039, - 1040, 1041, 1042, 1046, 1049, 1054, 1055, 1056, 1060, 1066, - 1069, 1075, 1081, 1086, 1094, 1097, 1106, 1109, 1115, 1116, - 1119, 1120 + 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 }; #endif @@ -2096,7 +1909,7 @@ yyparse (void) yychar = YYEMPTY; /* Cause a token to be read. */ /* User initialization code. */ -#line 746 "gabc/gabc-score-determination.y" /* yacc.c:1429 */ +#line 559 "gabc/gabc-score-determination.y" /* yacc.c:1429 */ { yylloc.first_line = 1; yylloc.first_column = 0; @@ -2106,7 +1919,7 @@ yyparse (void) yylloc.last_offset = 0; } -#line 2110 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */ +#line 1923 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */ yylsp[0] = yylloc; goto yysetstate; @@ -2213,7 +2026,7 @@ yybackup: if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - yychar = yylex (); + yychar = yylex (STYLE_BITS); } if (yychar <= YYEOF) @@ -2293,41 +2106,41 @@ yyreduce: switch (yyn) { case 3: -#line 786 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 601 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { end_definitions(); } -#line 2301 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2114 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 6: -#line 796 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 611 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { (yyval).text = (yyvsp[-1]).text; } -#line 2309 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2122 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 7: -#line 800 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 615 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { (yyval).text = NULL; } -#line 2317 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2130 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 8: -#line 806 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 621 "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 2327 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2140 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 9: -#line 811 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 626 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if ((yyvsp[0]).text == NULL) { gregorio_message("name can't be empty","det_score", @@ -2337,72 +2150,72 @@ yyreduce: gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); score->name = (yyvsp[0]).text; } -#line 2341 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2154 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 10: -#line 820 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 635 "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 2352 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2165 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 11: -#line 826 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 641 "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 2362 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2175 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 12: -#line 831 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 646 "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 2372 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2185 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 13: -#line 836 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 651 "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 2382 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2195 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 14: -#line 841 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 656 "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 2392 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2205 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 15: -#line 846 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 661 "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 2402 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2215 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 16: -#line 851 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 666 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("staff-lines", got_staff_lines); if ((yyvsp[0]).text) { @@ -2411,11 +2224,11 @@ yyreduce: got_staff_lines = true; } } -#line 2415 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2228 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 17: -#line 859 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 674 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { check_multiple("nabc lines", score->nabc_lines != 0); if ((yyvsp[0]).text) { @@ -2424,14 +2237,14 @@ yyreduce: score->nabc_lines=nabc_lines; } } -#line 2428 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2241 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 18: -#line 867 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 682 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if ((yyvsp[0]).text) { - /* DEPRECATED by 4.1 */ + /* 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); @@ -2439,11 +2252,11 @@ yyreduce: free((yyvsp[0]).text); } } -#line 2443 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2256 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 19: -#line 877 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 692 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if (score->annotation [MAX_ANNOTATIONS - 1]) { gregorio_messagef("det_score", VERBOSITY_WARNING, 0, @@ -2453,59 +2266,59 @@ yyreduce: gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); gregorio_set_score_annotation(score, (yyvsp[0]).text); } -#line 2457 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2270 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 20: -#line 886 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 701 "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 2467 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2280 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 21: -#line 891 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 706 "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 2476 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2289 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 22: -#line 895 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 710 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text); } -#line 2484 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2297 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 25: -#line 905 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 720 "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 2494 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2307 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 26: -#line 910 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 725 "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 2505 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2318 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 27: -#line 916 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 731 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if (!nabc_lines) { gregorio_message(_("You used character \"|\" in gabc without " @@ -2517,342 +2330,342 @@ yyreduce: free((yyvsp[-1]).text); nabc_state = (nabc_state + 1) % (nabc_lines+1); } -#line 2521 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2334 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 28: -#line 927 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 742 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { elements[voice]=NULL; nabc_state=0; } -#line 2530 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2343 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 29: -#line 931 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 746 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { elements[voice]=NULL; nabc_state=0; update_position_with_space(); } -#line 2540 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2353 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 33: -#line 945 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 760 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_ITALIC); + add_style(ST_ITALIC); } -#line 2548 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2361 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 34: -#line 948 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 763 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_TT); + add_style(ST_TT); } -#line 2556 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2369 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 35: -#line 951 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 766 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_UNDERLINED); + add_style(ST_UNDERLINED); } -#line 2564 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2377 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 36: -#line 954 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 769 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_COLORED); + add_style(ST_COLORED); } -#line 2572 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2385 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 37: -#line 957 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 772 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_BOLD); + add_style(ST_BOLD); } -#line 2580 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2393 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 38: -#line 960 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 775 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_SMALL_CAPS); + add_style(ST_SMALL_CAPS); } -#line 2588 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2401 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 39: -#line 963 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 778 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_VERBATIM); + add_style(ST_VERBATIM); } -#line 2596 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2409 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 40: -#line 966 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 781 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_SPECIAL_CHAR); + add_style(ST_SPECIAL_CHAR); } -#line 2604 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2417 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 41: -#line 969 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 784 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_ELISION); + add_style(ST_ELISION); } -#line 2612 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2425 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 42: -#line 972 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 787 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if (!center_is_determined) { - gregorio_gabc_add_style(ST_FORCED_CENTER); + add_style(ST_FORCED_CENTER); center_is_determined=CENTER_HALF_DETERMINED; } } -#line 2623 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2436 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 43: -#line 981 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 796 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_ITALIC); + end_style(ST_ITALIC); } -#line 2631 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2444 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 44: -#line 984 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 799 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_TT); + end_style(ST_TT); } -#line 2639 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2452 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 45: -#line 987 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 802 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_UNDERLINED); + end_style(ST_UNDERLINED); } -#line 2647 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2460 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 46: -#line 990 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 805 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_COLORED); + end_style(ST_COLORED); } -#line 2655 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2468 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 47: -#line 993 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 808 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_BOLD); + end_style(ST_BOLD); } -#line 2663 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2476 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 48: -#line 996 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 811 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_SMALL_CAPS); + end_style(ST_SMALL_CAPS); } -#line 2671 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2484 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 49: -#line 999 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 814 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_VERBATIM); + end_style(ST_VERBATIM); } -#line 2679 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2492 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 50: -#line 1002 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 817 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_SPECIAL_CHAR); + end_style(ST_SPECIAL_CHAR); } -#line 2687 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2500 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 51: -#line 1005 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 820 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_end_style(ST_ELISION); + end_style(ST_ELISION); } -#line 2695 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2508 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 52: -#line 1008 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 823 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { if (center_is_determined==CENTER_HALF_DETERMINED) { - gregorio_gabc_end_style(ST_FORCED_CENTER); + end_style(ST_FORCED_CENTER); center_is_determined=CENTER_FULLY_DETERMINED; } } -#line 2706 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2519 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 53: -#line 1017 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 832 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { euouae = EUOUAE_BEGINNING; } -#line 2714 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2527 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 54: -#line 1020 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 835 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { euouae = EUOUAE_END; } -#line 2722 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2535 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 55: -#line 1026 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 841 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { no_linebreak_area = NLBA_BEGINNING; } -#line 2730 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2543 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 56: -#line 1029 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 844 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { no_linebreak_area = NLBA_END; } -#line 2738 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2551 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 58: -#line 1036 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 851 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_text((yyvsp[0]).text); + add_text((yyvsp[0]).text); } -#line 2746 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2559 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 63: -#line 1046 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 861 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_text(gregorio_strdup("-")); + add_text(gregorio_strdup("-")); } -#line 2754 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2567 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 64: -#line 1049 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 864 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_text(gregorio_strdup("-")); + add_text(gregorio_strdup("-")); } -#line 2762 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2575 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 68: -#line 1060 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 875 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { start_translation(TR_NORMAL); } -#line 2770 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2583 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 69: -#line 1066 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 881 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { end_translation(); } -#line 2778 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2591 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 70: -#line 1069 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 884 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { start_translation(TR_WITH_CENTER_END); } -#line 2786 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2599 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 71: -#line 1075 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 890 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { abovelinestext = (yyvsp[-1]).text; } -#line 2794 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2607 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 72: -#line 1081 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 896 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { ready_characters(); first_text_character = current_character; close_syllable(&(yylsp[-2])); } -#line 2804 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2617 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 73: -#line 1086 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 901 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_VERBATIM); - gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen")); - gregorio_gabc_end_style(ST_VERBATIM); + add_style(ST_VERBATIM); + add_text(gregorio_strdup("\\GreForceHyphen")); + end_style(ST_VERBATIM); ready_characters(); first_text_character = current_character; close_syllable(&(yylsp[-3])); } -#line 2817 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2630 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 74: -#line 1094 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 909 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { close_syllable(&(yylsp[-3])); } -#line 2825 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2638 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 75: -#line 1097 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 912 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { - gregorio_gabc_add_style(ST_VERBATIM); - gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen")); - gregorio_gabc_end_style(ST_VERBATIM); + add_style(ST_VERBATIM); + add_text(gregorio_strdup("\\GreForceHyphen")); + end_style(ST_VERBATIM); close_syllable(&(yylsp[-4])); } -#line 2836 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2649 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 76: -#line 1106 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 921 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { close_syllable(NULL); } -#line 2844 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2657 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; case 77: -#line 1109 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ +#line 924 "gabc/gabc-score-determination.y" /* yacc.c:1646 */ { close_syllable(NULL); } -#line 2852 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2665 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ break; -#line 2856 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */ +#line 2669 "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.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c new file mode 100644 index 00000000000..b6659c18499 --- /dev/null +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c @@ -0,0 +1,373 @@ +/* + * Gregorio is a program that translates gabc files to GregorioTeX + * This file implements the score parser. + * + * Gregorio score determination from gabc utilities. + * Copyright (C) 2016 The Gregorio Project (see CONTRIBUTORS.md) + * + * This file is part of Gregorio. + * + * 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/>. + */ + +#include "config.h" +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include "bool.h" +#include "struct.h" +#include "struct_iter.h" +#include "gabc.h" +#include "gabc-score-determination.h" +#include "messages.h" + +void fix_custos(gregorio_score *score_to_check) +{ + gregorio_syllable *current_syllable; + gregorio_element *current_element; + gregorio_element *custo_element; + char pitch = 0; + char pitch_difference = 0; + 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; + } + } + if (current_element) { + if (current_element->type == GRE_CLEF) { + current_key = gregorio_calculate_new_key( + current_element->u.misc.clef); + } + current_element = current_element->next; + } + } + current_syllable = current_syllable->next_syllable; + } +} + +/* + * A function that checks the score integrity. + */ + +bool check_score_integrity(gregorio_score *score_to_check) +{ + bool good = true; + + gregorio_assert(score_to_check, check_score_integrity, "score is NULL", + return false); + + if (score_to_check->first_syllable + && score_to_check->first_syllable->elements + && *(score_to_check->first_syllable->elements)) { + gregorio_character *ch; + if ((score_to_check->first_syllable->elements)[0]->type + == GRE_END_OF_LINE) { + gregorio_message( + "line break is not supported on the first syllable", + "check_score_integrity", VERBOSITY_ERROR, 0); + good = false; + } + if (gregorio_get_clef_change(score_to_check->first_syllable)) { + gregorio_message( + "clef change is not supported on the first syllable", + "check_score_integrity", VERBOSITY_ERROR, 0); + good = false; + } + /* check first syllable for elision at the beginning */ + for (ch = score_to_check->first_syllable->text; ch; + ch = ch->next_character) { + if (ch->is_character) { + break; + } else if (ch->cos.s.style == ST_VERBATIM + || ch->cos.s.style == ST_SPECIAL_CHAR) { + break; + } else if (ch->cos.s.style == ST_ELISION) { + gregorio_message( + _("score initial may not be in an elision"), + "check_score_integrity", VERBOSITY_ERROR, 0); + break; + } + } + } + + return good; +} + +/* + * Another function to be improved: this one checks the validity of the voice_infos. + */ + +bool check_infos_integrity(gregorio_score *score_to_check) +{ + if (!score_to_check->name) { + gregorio_message(_("no name specified, put `name:...;' at the " + "beginning of the file, can be dangerous with some output " + "formats"), "det_score", VERBOSITY_WARNING, 0); + } + return true; +} + +/* data must be (gregorio_note **) */ +static void oriscus_orientation_visit( + const gregorio_note_iter_position *const p, void *const data) +{ + 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 */ + } + } + *oriscus_ptr = NULL; + } + + switch (note->u.note.shape) { + case S_ORISCUS_UNDETERMINED: + case S_ORISCUS_SCAPUS_UNDETERMINED: + case S_ORISCUS_CAVUM_UNDETERMINED: + *oriscus_ptr = note; + break; + + default: + break; + } +} + +void determine_oriscus_orientation(const gregorio_score *const score) +{ + gregorio_note *oriscus = NULL; + + gregorio_for_each_note(score, oriscus_orientation_visit, &oriscus); + + if (oriscus) { + /* oriscus at the end of the score */ + 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(determine_oriscus_orientation, "bad_shape"); + break; + /* LCOV_EXCL_STOP */ + } + } +} + +typedef struct { + gregorio_note_iter_position first, previous; + gregorio_shape orientation; + int running; +} punctum_inclinatum_vars; + +/* data must be (gregorio_shape *) */ +static void set_shape(const gregorio_note_iter_position *const p, + void *const data) +{ + p->note->u.note.shape = *((gregorio_shape *)data); +} + +/* data must be (punctum_inclinatum_vars *) */ +static void punctum_inclinatum_orientation_visit( + const gregorio_note_iter_position *const p, void *const data) +{ + const gregorio_shape shape = p->note->u.note.shape; + punctum_inclinatum_vars *const v = (punctum_inclinatum_vars *)data; + if (shape == S_PUNCTUM_INCLINATUM_UNDETERMINED) { + if (v->orientation) { + p->note->u.note.shape = v->orientation; + } else { + /* any cases not covered here will not change running */ + if (v->previous.note + && (v->first.note || v->previous.syllable == p->syllable)) { + if (v->previous.note->u.note.pitch + < p->note->u.note.pitch) { + ++ v->running; + } else if (v->previous.note->u.note.pitch + > p->note->u.note.pitch) { + -- v->running; + } + } + if (!v->first.note) { + v->first = *p; + } + } + } else { /* non-inclinatum or determined inclinatum */ + bool is_punctum_inclinatum; + + /* shape can't be S_PUNCTUM_INCLINATUM_UNDETERMINED here */ + switch (shape) { + case S_PUNCTUM_INCLINATUM_ASCENDENS: + v->orientation = S_PUNCTUM_INCLINATUM_ASCENDENS; + is_punctum_inclinatum = true; + break; + 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; + default: + is_punctum_inclinatum = false; + break; + } + + if (v->first.note) { + if (!is_punctum_inclinatum) { + /* if v->first.note is not null, + * then v->previous.note is not null */ + if (v->previous.note->u.note.pitch + < p->note->u.note.pitch + && v->previous.syllable == p->syllable) { + ++ v->running; + } else if (v->previous.note->u.note.pitch + > p->note->u.note.pitch) { + -- v->running; + } + 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); + v->first.syllable = NULL; + v->first.element = NULL; + v->first.glyph = NULL; + v->first.note = NULL; + v->running = 0; + } + + if (!is_punctum_inclinatum) { + v->orientation = S_UNDETERMINED; + } /* otherwise, leave orientation alone */ + } + + v->previous = *p; +} + +void determine_punctum_inclinatum_orientation( + const gregorio_score *const score) +{ + punctum_inclinatum_vars v = { + /* .first = */ { + /* .syllable = */ NULL, + /* .element = */ NULL, + /* .glyph = */ NULL, + /* .note = */ NULL + }, + /* .previous = */ { + /* .syllable = */ NULL, + /* .element = */ NULL, + /* .glyph = */ NULL, + /* .note = */ NULL + }, + /* .orientation = */ S_UNDETERMINED, /* because it's 0 */ + /* .running = */ 0, + }; + + gregorio_for_each_note(score, punctum_inclinatum_orientation_visit, &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); + } +} 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 3098ec17766..3400e100465 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 @@ -2,8 +2,8 @@ * Gregorio is a program that translates gabc files to GregorioTeX * This header shares definitions between the score parser and lexer. * - * Gregorio score determination in gabc input. - * Copyright (C) 2006-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Gregorio score determination from gabc. + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -21,8 +21,24 @@ * this program. If not, see <http://www.gnu.org/licenses/>. */ +#ifndef GABC_SCORE_DETERMINATION_H +#define GABC_SCORE_DETERMINATION_H + +#include "bool.h" +#include "struct.h" #include "gabc.h" +/* The bits in this enum are named to correspond with the _BEGIN/_END tokens */ +typedef enum { + SB_I = 0x01, + SB_B = 0x02, + SB_TT = 0x04, + SB_SC = 0x08, + SB_UL = 0x10, + SB_C = 0x20, + SB_ELISION = 0x40 +} gabc_style_bits; + typedef union gabc_score_determination_lval_t { char *text; char character; @@ -31,7 +47,16 @@ typedef union gabc_score_determination_lval_t { #define YYSTYPE gabc_score_determination_lval_t #define YYSTYPE_IS_DECLARED 1 -int gabc_score_determination_lex(void); -#define YY_DECL int gabc_score_determination_lex(void) +#define YY_DECL \ + int gabc_score_determination_lex(gabc_style_bits *const styles) +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); + +#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 a660443dc8d..e35fc27fff6 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,22 +4,22 @@ * This file implements the score lexer. * * Gregorio score determination in gabc input. - * Copyright (C) 2006-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. - * + * * 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 should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. */ #include "config.h" @@ -35,9 +35,35 @@ #include "gabc-score-determination.h" #include "gabc-score-determination-y.h" -static unsigned char style_stack = 0; static bool eof_found = false; +#define START_STYLE(STYLE) \ + if (*styles & SB_ ## STYLE) { \ + gregorio_messagef("gabc_score_determination_lex", VERBOSITY_ERROR, 0, \ + _("style already started: %s"), gabc_score_determination_text); \ + } else { \ + *styles ^= SB_ ## STYLE; \ + return STYLE ## _BEGIN; \ + } + +#define END_STYLE(STYLE) \ + if (*styles & SB_ ## STYLE) { \ + *styles ^= SB_ ## STYLE; \ + return STYLE ## _END; \ + } else { \ + gregorio_messagef("gabc_score_determination_lex", VERBOSITY_ERROR, 0, \ + _("style not started: %s"), gabc_score_determination_text); \ + } + +#define RETURN_CHARACTERS \ + gabc_score_determination_lval.text = \ + gregorio_strdup(gabc_score_determination_text); \ + return CHARACTERS + +#define RETURN_SPACE \ + gabc_score_determination_lval.text = gregorio_strdup(" "); \ + return CHARACTERS + #define YY_NO_INPUT #define YY_INPUT(buf,result,max_size) \ @@ -78,7 +104,7 @@ static bool eof_found = false; %x attribute %x score %x notes -%x style +%x sp %x verb %x comments %x inicomments @@ -106,7 +132,7 @@ double semicolon, (b) multi-line values, which end at a double semicolon. */ %% -<INITIAL>^(\xBB|\xEF|\xBF)* { +<INITIAL>^(\xBB|\xEF|\xBF)+ { /* BOM written by a lot of windows softwares when they write UTF-8 */ } <INITIAL>^[\n\r]+ { @@ -118,7 +144,7 @@ semicolon. */ <inicomments>(\n|\r)+ { BEGIN(INITIAL); } -<inicomments>[^\n\r]* { +<inicomments>[^\n\r]+ { /* ignored */ } <INITIAL>:(\ )? { @@ -154,7 +180,7 @@ semicolon. */ return GABC_COPYRIGHT; } <INITIAL>initial-style { - /* DEPRECATED by 4.1 */ + /* DEPRECATED for removal in 5.0 */ return INITIAL_STYLE; } <INITIAL>mode { @@ -216,120 +242,76 @@ semicolon. */ _("unrecognized character: \"%c\" in definition part"), gabc_score_determination_text[0]); } -<score>[^-\{\}\(\[\]<%]+ { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; +<score>[\n\r][\n\r \t]* { + RETURN_SPACE; + } +<score,sp>[^-\{\}\(\[\]<%\n\r]+ { + RETURN_CHARACTERS; } <score>- { return HYPHEN; } -<score,style><nlba> { +<score><nlba> { return NLBA_B; } -<score,style><\/nlba> { +<score><\/nlba> { return NLBA_E; } -<score,style><i> { - BEGIN(style); - style_stack ++; - return I_BEGIN; +<score><i> { + START_STYLE(I); } -<style><\/i> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return I_END; +<score><\/i> { + END_STYLE(I); } -<score,style><tt> { - BEGIN(style); - style_stack ++; - return TT_BEGIN; +<score><tt> { + START_STYLE(TT); } -<style><\/tt> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return TT_END; +<score><\/tt> { + END_STYLE(TT); } -<score,style><ul> { - BEGIN(style); - style_stack ++; - return UL_BEGIN; +<score><ul> { + START_STYLE(UL); } -<style><\/ul> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return UL_END; +<score><\/ul> { + END_STYLE(UL); } -<score,style><c> { - BEGIN(style); - style_stack ++; - return C_BEGIN; +<score><c> { + START_STYLE(C); } -<style><\/c> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return C_END; +<score><\/c> { + END_STYLE(C); } -<score,style><b> { - BEGIN(style); - style_stack ++; - return B_BEGIN; +<score><b> { + START_STYLE(B); } -<style><\/b> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return B_END; +<score><\/b> { + END_STYLE(B); } -<score,style><sc> { - BEGIN(style); - style_stack ++; - return SC_BEGIN; +<score><sc> { + START_STYLE(SC); } -<style><\/sc> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return SC_END; +<score><\/sc> { + END_STYLE(SC); } -<score,style><e> { - BEGIN(style); - style_stack ++; - return ELISION_BEGIN; +<score><e> { + START_STYLE(ELISION); } -<style><\/e> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } - return ELISION_END; +<score><\/e> { + END_STYLE(ELISION); } -<score,style><sp> { - BEGIN(style); - style_stack ++; +<score><sp> { + BEGIN(sp); return SP_BEGIN; } -<style><\/sp> { - style_stack --; - if (style_stack == 0) { - BEGIN(score); - } +<sp><\/sp> { + BEGIN(score); return SP_END; } -<style>[^<\{\}]* { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; +<sp>[\n\r][\n\r \t]* { + RETURN_SPACE; + } +<sp>[^<\{\}\n\r]+ { + RETURN_CHARACTERS; } <score>\% { BEGIN(comments); @@ -337,46 +319,33 @@ semicolon. */ <comments>(\n|\r)+ { BEGIN(score); } -<comments>[^\n\r]* { +<comments>[^\n\r]+ { /* ignored */ } -<style,score><v> { +<score><v> { BEGIN(verb); return VERB_BEGIN; } <verb><\/v> { - if (style_stack == 0) { - BEGIN(score); - } else { - BEGIN(style); - } + BEGIN(score); return VERB_END; } -<verb>[^<]* { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; +<verb,alt>[^<]+ { + RETURN_CHARACTERS; } -<verb,style,score,alt>< { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; +<verb,sp,score,alt>< { + RETURN_CHARACTERS; } -<score,style>\{ { +<score>\{ { return CENTER_BEGIN; } -<score,style>\} { +<score>\} { return CENTER_END; } <score><alt> { BEGIN(alt); return ALT_BEGIN; } -<alt>[^<]* { - gabc_score_determination_lval.text = - gregorio_strdup(gabc_score_determination_text); - return CHARACTERS; - } <alt><\/alt> { BEGIN(score); return ALT_END; @@ -400,7 +369,7 @@ semicolon. */ BEGIN(notes); return OPENING_BRACKET; } -<notes>[^|\)]* { +<notes>[^|\)]+ { gabc_score_determination_lval.text = gregorio_strdup(gabc_score_determination_text); return NOTES; 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 0cd8db317fb..71642f23bc3 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 @@ -3,8 +3,8 @@ * Gregorio is a program that translates gabc files to GregorioTeX * This file implements the score parser. * - * Gregorio score determination in gabc input. - * Copyright (C) 2006-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Gregorio score determination from gabc. + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -60,6 +60,12 @@ #include "gabc-score-determination.h" #include "gabc-score-determination-l.h" +/* workaround for bison issue passing pointer to a "local" variable */ +#define STYLE_BITS &styles + +/* forward declaration of the flex/bison process function */ +static int gabc_score_determination_parse(void); + /* uncomment it if you want to have an interactive shell to understand the * details on how bison works for a certain input */ /* int gabc_score_determination_debug=1; */ @@ -78,8 +84,6 @@ static gregorio_element **elements; gregorio_element *current_element; /* a table containing the macros to use in gabc file */ static char *macros[10]; -/* forward declaration of the flex/bison process function */ -static int gabc_score_determination_parse(void); /* other variables that we will have to use */ static gregorio_character *current_character; static gregorio_character *first_text_character; @@ -95,10 +99,28 @@ static gregorio_center_determination center_is_determined; /* current_key is... the current key... updated by each notes determination * (for key changes) */ static int current_key; -static bool got_language = false; -static bool got_staff_lines = false; -static bool started_first_word = false; +static bool got_language; +static bool got_staff_lines; +static bool started_first_word; static struct sha1_ctx digester; +static gabc_style_bits styles; + +/* punctum_inclinatum_orientation maintains the running punctum inclinatum + * orientation in order to decide if the glyph needs to be cut when a punctum + * inclinatum with forced orientation is encountered. This should be set to + * the shape of a non-liquescent punctum inclinatum with forced orientation + * when one is encountered, be left alone when a non-liquescent punctum + * inclinatum with undetermined orientation is encountered, or be reset to + * S_PUNCTUM_INCLINATUM_UNDETERMINED otherwise (because such ends any previous + * run of punctum inclinatum notes). Based on the assumption that a punctum + * inclinatum with forced orientation changes all the punctum inclinatum shapes + * with undetermined orientation in the same run of notes before and after it + * unless influenced by an earlier punctum inclinatum with forced orientation, + * the value of punctum_inclinatum_orientation can be used to determine if a + * punctum inclinatum with a forced orientation will have a different + * orientation than the punctum inclinatum immediately before it, which would + * require a cut of the glyph. */ +static gregorio_shape punctum_inclinatum_orientation; static __inline void check_multiple(const char *name, bool exists) { if (exists) { @@ -114,128 +136,6 @@ static void gabc_score_determination_error(const char *error_str) VERBOSITY_ERROR, 0); } -static void fix_custos(gregorio_score *score_to_check) -{ - gregorio_syllable *current_syllable; - gregorio_element *current_element; - gregorio_element *custo_element; - char pitch = 0; - char pitch_difference = 0; - 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); - 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; - } - } - if (current_element) { - if (current_element->type == GRE_CLEF) { - current_key = gregorio_calculate_new_key( - current_element->u.misc.clef); - } - current_element = current_element->next; - } - } - current_syllable = current_syllable->next_syllable; - } -} - -/* - * A function that checks the score integrity. - */ - -static bool check_score_integrity(gregorio_score *score_to_check) -{ - bool good = true; - - gregorio_assert(score_to_check, check_score_integrity, "score is NULL", - return false); - - if (score_to_check->first_syllable - && score_to_check->first_syllable->elements - && *(score_to_check->first_syllable->elements)) { - gregorio_character *ch; - if ((score_to_check->first_syllable->elements)[0]->type - == GRE_END_OF_LINE) { - gregorio_message( - "line break is not supported on the first syllable", - "check_score_integrity", VERBOSITY_ERROR, 0); - good = false; - } - if (gregorio_get_clef_change(score_to_check->first_syllable)) { - gregorio_message( - "clef change is not supported on the first syllable", - "check_score_integrity", VERBOSITY_ERROR, 0); - good = false; - } - /* check first syllable for elision at the beginning */ - for (ch = score_to_check->first_syllable->text; ch; - ch = ch->next_character) { - if (ch->is_character) { - break; - } else if (ch->cos.s.style == ST_VERBATIM - || ch->cos.s.style == ST_SPECIAL_CHAR) { - break; - } else if (ch->cos.s.style == ST_ELISION) { - gregorio_message( - _("score initial may not be in an elision"), - "check_score_integrity", VERBOSITY_ERROR, 0); - break; - } - } - } - - return good; -} - -/* - * Another function to be improved: this one checks the validity of the voice_infos. - */ - -static bool check_infos_integrity(gregorio_score *score_to_check) -{ - if (!score_to_check->name) { - gregorio_message(_("no name specified, put `name:...;' at the " - "beginning of the file, can be dangerous with some output " - "formats"), "det_score", VERBOSITY_WARNING, 0); - } - return true; -} - /* * The function that will initialize the variables. */ @@ -266,6 +166,8 @@ static void initialize_variables(void) got_language = false; got_staff_lines = false; started_first_word = false; + styles = 0; + punctum_inclinatum_orientation = S_PUNCTUM_INCLINATUM_UNDETERMINED; } /* @@ -512,13 +414,51 @@ static void end_translation(void) } /* - * gregorio_gabc_add_text is the function called when lex returns a char *. In + * + * 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(¤t_character, style); +} + +static void end_style(unsigned char style) +{ + gregorio_end_style(¤t_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 gregorio_gabc_add_text(char *mbcharacters) +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); @@ -533,140 +473,11 @@ static void gregorio_gabc_add_text(char *mbcharacters) free(mbcharacters); } -/* - * - * 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 gregorio_gabc_add_style(unsigned char style) -{ - gregorio_begin_style(¤t_character, style); -} - -static void gregorio_gabc_end_style(unsigned char style) -{ - gregorio_end_style(¤t_character, style); -} - void gabc_digest(const void *const buf, const size_t size) { sha1_process_bytes(buf, size, &digester); } -static void determine_oriscus_orientation(gregorio_score *score) { - gregorio_syllable *syllable; - gregorio_element *element; - gregorio_glyph *glyph; - gregorio_note *note; - gregorio_note *oriscus = NULL; - - for (syllable = score->first_syllable; syllable; - syllable = syllable->next_syllable) { - for (element = syllable->elements[0]; element; - element = element->next) { - if (element->type == GRE_ELEMENT) { - for (glyph = element->u.first_glyph; glyph; - glyph = glyph->next) { - if (glyph->type == GRE_GLYPH) { - for (note = glyph->u.notes.first_note; note; - note = note->next) { - if (note->type == GRE_NOTE) { - if (oriscus) { - if (note->u.note.pitch - < oriscus->u.note.pitch) { - 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( - determine_oriscus_orientation, - "bad_shape"); - break; - /* LCOV_EXCL_STOP */ - } - } else { /* ascending or the same */ - 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( - determine_oriscus_orientation, - "bad_shape"); - break; - /* LCOV_EXCL_STOP */ - } - } - oriscus = NULL; - } - - switch (note->u.note.shape) { - case S_ORISCUS_UNDETERMINED: - case S_ORISCUS_SCAPUS_UNDETERMINED: - case S_ORISCUS_CAVUM_UNDETERMINED: - oriscus = note; - break; - - default: - break; - } - } - } - } - } - } - } - } - - if (oriscus) { - /* oriscus at the end of the score */ - 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(determine_oriscus_orientation, "bad_shape"); - break; - /* LCOV_EXCL_STOP */ - } - } -} - /* * The "main" function. It is the function that is called when we have to read * a gabc file. It takes a file descriptor, that is to say a file that is @@ -691,6 +502,7 @@ gregorio_score *gabc_read_score(FILE *f_in) if (!score->legacy_oriscus_orientation) { determine_oriscus_orientation(score); } + determine_punctum_inclinatum_orientation(score); gregorio_fix_initial_keys(score, gregorio_default_clef); rebuild_score_characters(); fix_custos(score); @@ -711,12 +523,13 @@ size_t nabc_lines = 0; static void gabc_y_add_notes(char *notes, YYLTYPE loc) { if (nabc_state == 0) { if (!elements[voice]) { - elements[voice] = gabc_det_elements_from_string(notes, - ¤t_key, macros, &loc, score); + elements[voice] = gabc_det_elements_from_string(notes, ¤t_key, + macros, &loc, &punctum_inclinatum_orientation, score); current_element = elements[voice]; } else { gregorio_element *new_elements = gabc_det_elements_from_string( - notes, ¤t_key, macros, &loc, score); + notes, ¤t_key, macros, &loc, + &punctum_inclinatum_orientation, score); gregorio_element *last_element = elements[voice]; while (last_element->next) { last_element = last_element->next; @@ -752,11 +565,13 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) { @$.last_offset = 0; } +%lex-param { gabc_style_bits *STYLE_BITS } + %token NAME AUTHOR GABC_COPYRIGHT SCORE_COPYRIGHT %token LANGUAGE STAFF_LINES ORISCUS_ORIENTATION %token DEF_MACRO OTHER_HEADER %token ANNOTATION MODE MODE_MODIFIER MODE_DIFFERENTIA -%token INITIAL_STYLE /* DEPRECATED by 4.1 */ +%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 OPENING_BRACKET CLOSING_BRACKET CLOSING_BRACKET_WITH_SPACE @@ -866,7 +681,7 @@ definition: } | INITIAL_STYLE attribute { if ($2.text) { - /* DEPRECATED by 4.1 */ + /* 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); @@ -943,35 +758,35 @@ closing_bracket_with_space: style_beginning: I_BEGIN { - gregorio_gabc_add_style(ST_ITALIC); + add_style(ST_ITALIC); } | TT_BEGIN { - gregorio_gabc_add_style(ST_TT); + add_style(ST_TT); } | UL_BEGIN { - gregorio_gabc_add_style(ST_UNDERLINED); + add_style(ST_UNDERLINED); } | C_BEGIN { - gregorio_gabc_add_style(ST_COLORED); + add_style(ST_COLORED); } | B_BEGIN { - gregorio_gabc_add_style(ST_BOLD); + add_style(ST_BOLD); } | SC_BEGIN { - gregorio_gabc_add_style(ST_SMALL_CAPS); + add_style(ST_SMALL_CAPS); } | VERB_BEGIN { - gregorio_gabc_add_style(ST_VERBATIM); + add_style(ST_VERBATIM); } | SP_BEGIN { - gregorio_gabc_add_style(ST_SPECIAL_CHAR); + add_style(ST_SPECIAL_CHAR); } | ELISION_BEGIN { - gregorio_gabc_add_style(ST_ELISION); + add_style(ST_ELISION); } | CENTER_BEGIN { if (!center_is_determined) { - gregorio_gabc_add_style(ST_FORCED_CENTER); + add_style(ST_FORCED_CENTER); center_is_determined=CENTER_HALF_DETERMINED; } } @@ -979,35 +794,35 @@ style_beginning: style_end: I_END { - gregorio_gabc_end_style(ST_ITALIC); + end_style(ST_ITALIC); } | TT_END { - gregorio_gabc_end_style(ST_TT); + end_style(ST_TT); } | UL_END { - gregorio_gabc_end_style(ST_UNDERLINED); + end_style(ST_UNDERLINED); } | C_END { - gregorio_gabc_end_style(ST_COLORED); + end_style(ST_COLORED); } | B_END { - gregorio_gabc_end_style(ST_BOLD); + end_style(ST_BOLD); } | SC_END { - gregorio_gabc_end_style(ST_SMALL_CAPS); + end_style(ST_SMALL_CAPS); } | VERB_END { - gregorio_gabc_end_style(ST_VERBATIM); + end_style(ST_VERBATIM); } | SP_END { - gregorio_gabc_end_style(ST_SPECIAL_CHAR); + end_style(ST_SPECIAL_CHAR); } | ELISION_END { - gregorio_gabc_end_style(ST_ELISION); + end_style(ST_ELISION); } | CENTER_END { if (center_is_determined==CENTER_HALF_DETERMINED) { - gregorio_gabc_end_style(ST_FORCED_CENTER); + end_style(ST_FORCED_CENTER); center_is_determined=CENTER_FULLY_DETERMINED; } } @@ -1034,7 +849,7 @@ linebreak_area: character: above_line_text | CHARACTERS { - gregorio_gabc_add_text($1.text); + add_text($1.text); } | style_beginning | style_end @@ -1044,10 +859,10 @@ character: text_hyphen: HYPHEN { - gregorio_gabc_add_text(gregorio_strdup("-")); + add_text(gregorio_strdup("-")); } | text_hyphen HYPHEN { - gregorio_gabc_add_text(gregorio_strdup("-")); + add_text(gregorio_strdup("-")); } ; @@ -1084,9 +899,9 @@ syllable_with_notes: close_syllable(&@1); } | text HYPHEN OPENING_BRACKET notes { - gregorio_gabc_add_style(ST_VERBATIM); - gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen")); - gregorio_gabc_end_style(ST_VERBATIM); + add_style(ST_VERBATIM); + add_text(gregorio_strdup("\\GreForceHyphen")); + end_style(ST_VERBATIM); ready_characters(); first_text_character = current_character; close_syllable(&@1); @@ -1095,9 +910,9 @@ syllable_with_notes: close_syllable(&@1); } | text HYPHEN translation OPENING_BRACKET notes { - gregorio_gabc_add_style(ST_VERBATIM); - gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen")); - gregorio_gabc_end_style(ST_VERBATIM); + add_style(ST_VERBATIM); + add_text(gregorio_strdup("\\GreForceHyphen")); + end_style(ST_VERBATIM); 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 e29a5be4602..31e75ccce3c 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -480,8 +480,11 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note, fprintf(f, "%c", pitch_letter(note->u.note.pitch)); } break; - case S_PUNCTUM_INCLINATUM: - fprintf(f, "%c", toupper((unsigned char)pitch_letter(note->u.note.pitch))); + case S_PUNCTUM_INCLINATUM_ASCENDENS: + fprintf(f, "%c1", toupper((unsigned char)pitch_letter(note->u.note.pitch))); + break; + case S_PUNCTUM_INCLINATUM_DESCENDENS: + fprintf(f, "%c0", toupper((unsigned char)pitch_letter(note->u.note.pitch))); break; case S_PUNCTUM_INCLINATUM_DEMINUTUS: if (note->next) { 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 fcb672e7bb4..d2375a5fdde 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -23,8 +23,6 @@ #ifndef GABC_H #define GABC_H -#define GABC_CURRENT_VERSION "0.9.3" - #include "struct.h" /* functions to read gabc */ @@ -33,9 +31,11 @@ gregorio_note *gabc_det_notes_from_string(char *str, char *macros[10], void gabc_det_notes_finish(void); gregorio_element *gabc_det_elements_from_string(char *str, int *current_key, char *macros[10], gregorio_scanner_location *loc, + gregorio_shape *punctum_inclinatum_orientation, const gregorio_score *const score); gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note, - int *current_key, const gregorio_score *score); + int *current_key, gregorio_shape *punctum_inclinatum_orientation, + const gregorio_score *score); void gabc_digest(const void *buf, size_t size); int gabc_score_determination_lex_destroy(void); int gabc_notes_determination_lex_destroy(void); 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 d143fe50590..18ef2f945b2 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -139,8 +139,8 @@ static char *get_base_filename(char *fbasename) int l; char *ret; p = strrchr(fbasename, '.'); - if (!p) { - return NULL; + if (!p || strchr(p, '/') || strchr(p, '\\')) { + return gregorio_strdup(fbasename); } l = strlen(fbasename) - strlen(p); ret = (char *) gregorio_malloc(l + 1); @@ -202,6 +202,7 @@ printf(_(" -f, --input-format FORMAT\n\ -L, --license print licence\n\ -v, --verbose verbose mode\n\ -W, --all-warnings output warnings\n\ + -D, --deprecation-errors treat deprecation warnings as errors\n\ -d, --debug output debug information\n\ \n\ Formats:\n\ @@ -324,6 +325,7 @@ int main(int argc, char **argv) gregorio_file_format input_format = FORMAT_UNSET; gregorio_file_format output_format = FORMAT_UNSET; gregorio_verbosity verb_mode = 0; + bool deprecation_errors = false; bool point_and_click = false; char *point_and_click_filename = NULL; bool debug = false; @@ -341,6 +343,7 @@ int main(int argc, char **argv) {"licence", 0, 0, 'L'}, {"verbose", 0, 0, 'v'}, {"all-warnings", 0, 0, 'W'}, + {"deprecation-errors", 0, 0, 'D'}, {"point-and-click", 0, 0, 'p'}, {"debug", 0, 0, 'd'}, }; @@ -356,7 +359,7 @@ int main(int argc, char **argv) setlocale(LC_CTYPE, "C"); while (1) { - c = getopt_long(argc, argv, "o:SF:l:f:shOLVvWpd", + c = getopt_long(argc, argv, "o:SF:l:f:shOLVvWDpd", long_options, &option_index); if (c == -1) break; @@ -481,6 +484,15 @@ int main(int argc, char **argv) verb_mode = VERBOSITY_WARNING; } break; + case 'D': + if (deprecation_errors) { + fprintf(stderr, "warning: deprecation-errors option passed " + "several times\n"); + must_print_short_usage = true; + break; + } + deprecation_errors = true; + break; case 'L': print_licence(); gregorio_exit(0); @@ -548,6 +560,7 @@ int main(int argc, char **argv) } gregorio_set_debug_messages(debug); + gregorio_set_deprecation_errors(deprecation_errors); if (!input_format) { input_format = DEFAULT_INPUT_FORMAT; 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 151cae35f49..3d21580727d 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -909,7 +909,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph, note->gtex_offset_case = FinalInclinatumDeminutus; break; case S_PUNCTUM_INCLINATUM_AUCTUS: - case S_PUNCTUM_INCLINATUM: + 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; @@ -1336,7 +1337,8 @@ static __inline bool is_connectable_interglyph_ambitus( static __inline bool has_space_to_left(const gregorio_note *const note) { switch (note->u.note.shape) { - case S_PUNCTUM_INCLINATUM: + case S_PUNCTUM_INCLINATUM_ASCENDENS: + case S_PUNCTUM_INCLINATUM_DESCENDENS: case S_PUNCTUM_INCLINATUM_DEMINUTUS: case S_PUNCTUM_INCLINATUM_AUCTUS: return !is_connectable_interglyph_ambitus(note->previous, note); @@ -1610,51 +1612,33 @@ static __inline int compute_fused_shift(const gregorio_glyph *glyph) return 0; } - /* the FLEXA check below checks for a porrectus-like flexus, which is not - * fusible from above */ - if (shift < 0 && ((next_is_fused && glyph->u.notes.glyph_type == G_FLEXA) - || glyph->u.notes.glyph_type == G_PORRECTUS - || (glyph->u.notes.glyph_type == G_PODATUS - && !(glyph->u.notes.liquescentia & L_DEMINUTUS)) - || (previous->u.notes.glyph_type == G_PUNCTUM - && is_initio_debilis(previous->u.notes.liquescentia)))) { - /* may not be fused from above */ - return 0; - } - - /* Special cases for oriscus */ - switch (first_note->u.note.shape) { - gregorio_note *next_note; - const gregorio_glyph *next_glyph; - case S_ORISCUS_ASCENDENS: - case S_ORISCUS_DESCENDENS: - case S_ORISCUS_SCAPUS_ASCENDENS: - case S_ORISCUS_SCAPUS_DESCENDENS: - next_note = first_note->next; - if (!next_note && (next_glyph = gregorio_next_non_texverb_glyph(glyph)) - && next_glyph->type == GRE_GLYPH - && is_fused(next_glyph->u.notes.liquescentia)) { - next_note = next_glyph->u.notes.first_note; - } - if (next_note) { - if (next_note->u.note.pitch < first_note->u.note.pitch) { - /* then this note should be an down-up-down oriscus */ - if (shift > 0) { - /* down-up-down oricus cannot be fused from below */ - return 0; - } - } else { - /* then this note should be an up-down-up oriscus */ - if (shift < 0) { - /* up-down-up oricus cannot be fused from above */ - return 0; - } + if (shift < 0) { + if (glyph->u.notes.glyph_type == G_PODATUS) { + if (glyph->u.notes.liquescentia & L_DEMINUTUS) { + /* podatus deminutus may be fused from above */ + return shift; + } + switch (first_note->u.note.shape) { + case S_ORISCUS_ASCENDENS: + case S_ORISCUS_DESCENDENS: + case S_ORISCUS_SCAPUS_ASCENDENS: + case S_ORISCUS_SCAPUS_DESCENDENS: + return shift; + default: + /* otherwise, podatus may not be fused from above */ + return 0; } } - break; - default: - break; + /* the FLEXA check below checks for a porrectus-like flexus, which is + * not fusible from above */ + if ((next_is_fused && glyph->u.notes.glyph_type == G_FLEXA) + || glyph->u.notes.glyph_type == G_PORRECTUS + || (previous->u.notes.glyph_type == G_PUNCTUM + && is_initio_debilis(previous->u.notes.liquescentia))) { + /* may not be fused from above */ + return 0; + } } return shift; 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 c221d903e39..d34af2eaade 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -72,38 +72,49 @@ static const char *tex_ambitus[] = { #define SHAPE(NAME) static const char *const SHAPE_##NAME = #NAME SHAPE(Ancus); SHAPE(AncusLongqueue); +SHAPE(AscendensOriscus); +SHAPE(AscendensOriscusCavum); +SHAPE(AscendensOriscusLineBL); +SHAPE(AscendensOriscusLineTL); +SHAPE(AscendensOriscusScapus); +SHAPE(AscendensOriscusScapusLongqueue); +SHAPE(AscendensOriscusScapusOpenqueue); +SHAPE(AscendensPunctumInclinatum); +SHAPE(DescendensOriscus); +SHAPE(DescendensOriscusCavum); +SHAPE(DescendensOriscusLineBL); +SHAPE(DescendensOriscusLineTL); +SHAPE(DescendensOriscusScapus); +SHAPE(DescendensOriscusScapusLongqueue); +SHAPE(DescendensOriscusScapusOpenqueue); +SHAPE(DescendensPunctumInclinatum); SHAPE(Flat); SHAPE(Flexus); SHAPE(FlexusLongqueue); SHAPE(FlexusNobar); SHAPE(FlexusOpenqueue); SHAPE(FlexusOriscus); +SHAPE(FlexusOriscusInusitatus); SHAPE(FlexusOriscusScapus); +SHAPE(FlexusOriscusScapusInusitatus); +SHAPE(FlexusOriscusScapusInusitatusLongqueue); +SHAPE(FlexusOriscusScapusInusitatusOpenqueue); SHAPE(FlexusOriscusScapusLongqueue); SHAPE(FlexusOriscusScapusOpenqueue); SHAPE(Linea); SHAPE(LineaPunctum); SHAPE(LineaPunctumCavum); SHAPE(Natural); -SHAPE(Oriscus); -SHAPE(OriscusCavum); -SHAPE(OriscusCavumAuctus); SHAPE(OriscusCavumDeminutus); SHAPE(OriscusDeminutus); -SHAPE(OriscusLineBL); -SHAPE(OriscusReversus); -SHAPE(OriscusReversusLineTL); -SHAPE(OriscusScapus); -SHAPE(OriscusScapusLongqueue); -SHAPE(OriscusScapusOpenqueue); -SHAPE(OriscusScapusReversus); -SHAPE(OriscusScapusReversusLongqueue); -SHAPE(OriscusScapusReversusOpenqueue); SHAPE(Pes); SHAPE(PesQuadratum); SHAPE(PesQuadratumLongqueue); SHAPE(PesQuadratumOpenqueue); SHAPE(PesQuassus); +SHAPE(PesQuassusInusitatus); +SHAPE(PesQuassusInusitatusLongqueue); +SHAPE(PesQuassusInusitatusOpenqueue); SHAPE(PesQuassusLongqueue); SHAPE(PesQuassusOpenqueue); SHAPE(PesQuilisma); @@ -123,7 +134,6 @@ SHAPE(PunctumCavumInclinatum); SHAPE(PunctumCavumInclinatumAuctus); SHAPE(PunctumDeminutus); SHAPE(PunctumDescendens); -SHAPE(PunctumInclinatum); SHAPE(PunctumInclinatumAuctus); SHAPE(PunctumInclinatumDeminutus); SHAPE(PunctumLineBL); @@ -169,7 +179,9 @@ LIQ(Nothing); #define FUSE(NAME) static const char *const FUSE_##NAME = #NAME FUSE(Lower); +FUSE(LowerOblatus); FUSE(Upper); +FUSE(UpperOblatus); FUSE(Down); FUSE(Up); @@ -312,7 +324,7 @@ static const char *compute_glyph_name(const gregorio_glyph *const glyph, static char buf[BUFSIZE]; const char *liquescentia = gregoriotex_determine_liquescentia(ltype, glyph); - gregorio_note *current_note; + const gregorio_note *current_note; int ambitus1, ambitus2, ambitus3, fuse_ambitus = 0; const char *fuse_head = "", *fuse_tail = ""; const gregorio_glyph *previous = gregorio_previous_non_texverb_glyph(glyph); @@ -330,33 +342,33 @@ static const char *compute_glyph_name(const gregorio_glyph *const glyph, switch (glyph->u.notes.glyph_type) { case G_PODATUS: - gregorio_assert(is_tail_liquescentia(glyph->u.notes.liquescentia) - || fuse_from_previous_note >= 0, compute_glyph_name, - "unexpected fusible podatus", break); - /* else fall through */ case G_PUNCTUM: case G_FLEXA: /* directionally head-fusible */ - if (fuse_from_previous_note < -1 - && glyph->u.notes.first_note->u.note.shape != S_QUILISMA + if (fuse_from_previous_note < 0) { + if (glyph->u.notes.first_note->u.note.shape != S_QUILISMA && glyph->u.notes.first_note->u.note.shape != S_QUILISMA_QUADRATUM) { - fuse_head = FUSE_Lower; - } else if (fuse_from_previous_note < 0) { - gregorio_note *previous_note = gregorio_glyph_last_note( - gregorio_previous_non_texverb_glyph(glyph)); - switch (previous_note->u.note.shape) { - case S_ORISCUS_ASCENDENS: - case S_ORISCUS_DESCENDENS: - case S_ORISCUS_SCAPUS_ASCENDENS: - case S_ORISCUS_SCAPUS_DESCENDENS: - fuse_head = FUSE_Lower; - break; - default: - break; + if (fuse_from_previous_note < -1) { + fuse_head = FUSE_Lower; + } else if (glyph->u.notes.first_note->u.note.shape + == S_ORISCUS_DESCENDENS + || glyph->u.notes.first_note->u.note.shape + == S_ORISCUS_SCAPUS_DESCENDENS) { + /* fuse_from_previous_note will be -1 here */ + fuse_head = FUSE_LowerOblatus; + } + } + } else if (fuse_from_previous_note > 0) { + if (fuse_from_previous_note > 1) { + fuse_head = FUSE_Upper; + } else if (glyph->u.notes.first_note->u.note.shape + == S_ORISCUS_ASCENDENS + || glyph->u.notes.first_note->u.note.shape + == S_ORISCUS_SCAPUS_ASCENDENS) { + /* fuse_from_previous_note will be 1 here */ + fuse_head = FUSE_UpperOblatus; } - } else if (fuse_from_previous_note > 1) { - fuse_head = FUSE_Upper; } break; @@ -393,29 +405,23 @@ static const char *compute_glyph_name(const gregorio_glyph *const glyph, break; } - if ((*fuse_tail && shape == SHAPE_OriscusReversus) - || ((shape == SHAPE_OriscusReversus || shape == SHAPE_OriscusScapus - || shape == SHAPE_OriscusScapusLongqueue - || shape == SHAPE_OriscusScapusOpenqueue) - && is_fused(glyph->u.notes.liquescentia))) { - shape = SHAPE_Oriscus; - } - - if (*fuse_tail) { - if (is_fused(glyph->u.notes.liquescentia)) { - if (shape == SHAPE_OriscusScapusReversus - || shape == SHAPE_OriscusScapusReversusLongqueue - || shape == SHAPE_OriscusScapusReversusOpenqueue) { - shape = SHAPE_Oriscus; - } - } else { - if (shape == SHAPE_OriscusScapusReversus) { - shape = SHAPE_OriscusScapus; - } else if (shape == SHAPE_OriscusScapusReversusLongqueue) { - shape = SHAPE_OriscusScapusLongqueue; - } else if (shape == SHAPE_OriscusScapusReversusOpenqueue) { - shape = SHAPE_OriscusScapusOpenqueue; - } + if (is_fused(glyph->u.notes.liquescentia)) { + if (shape == SHAPE_AscendensOriscusScapus + || shape == SHAPE_AscendensOriscusScapusLongqueue + || shape == SHAPE_AscendensOriscusScapusOpenqueue) { + shape = SHAPE_AscendensOriscus; + } else if (shape == SHAPE_DescendensOriscusScapus + || shape == SHAPE_DescendensOriscusScapusLongqueue + || shape == SHAPE_DescendensOriscusScapusOpenqueue) { + shape = SHAPE_DescendensOriscus; + } else if (shape == SHAPE_FlexusOriscusScapus + || shape == SHAPE_FlexusOriscusScapusLongqueue + || shape == SHAPE_FlexusOriscusScapusOpenqueue) { + shape = SHAPE_FlexusOriscus; + } else if (shape == SHAPE_FlexusOriscusScapusInusitatus + || shape == SHAPE_FlexusOriscusScapusInusitatusLongqueue + || shape == SHAPE_FlexusOriscusScapusInusitatusOpenqueue) { + shape = SHAPE_FlexusOriscusInusitatus; } } @@ -424,19 +430,24 @@ static const char *compute_glyph_name(const gregorio_glyph *const glyph, if (liquescentia == LIQ_Nothing) { liquescentia = ""; } - if (!(*fuse_tail)) { + if (!(*fuse_tail) && fuse_head != FUSE_UpperOblatus + && fuse_head != FUSE_LowerOblatus) { /* single note fused shapes have weird names */ if (fuse_head == FUSE_Upper) { if (shape == SHAPE_Punctum) { shape = SHAPE_PunctumLineBL; - } else if (shape == SHAPE_Oriscus) { - shape = SHAPE_OriscusLineBL; + } else if (shape == SHAPE_AscendensOriscus) { + shape = SHAPE_AscendensOriscusLineBL; + } else if (shape == SHAPE_DescendensOriscus) { + shape = SHAPE_DescendensOriscusLineBL; } } else if (fuse_head == FUSE_Lower) { if (shape == SHAPE_Punctum) { shape = SHAPE_PunctumLineTL; - } else if (shape == SHAPE_Oriscus) { - shape = SHAPE_OriscusReversusLineTL; + } else if (shape == SHAPE_AscendensOriscus) { + shape = SHAPE_AscendensOriscusLineTL; + } else if (shape == SHAPE_DescendensOriscus) { + shape = SHAPE_DescendensOriscusLineTL; } } fuse_head = ""; @@ -567,20 +578,23 @@ static const char *fusible_queued_shape(const gregorio_note *const note, return compute_glyph_name(glyph, name, LG_NONE, true); } -static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note, - gregorio_glyph *glyph, gtex_alignment *type) +static const char *determine_note_glyph_name(const gregorio_note *const note, + const gregorio_glyph *glyph, gtex_alignment *type) { static char buf[128]; const char *name = ""; - gregorio_assert(note, gregoriotex_determine_note_glyph_name, - "called with NULL pointer", return ""); + gregorio_assert(note, determine_note_glyph_name, "called with NULL pointer", + return ""); *type = AT_ONE_NOTE; switch (note->u.note.shape) { - case S_PUNCTUM_INCLINATUM: + case S_PUNCTUM_INCLINATUM_ASCENDENS: *type = AT_PUNCTUM_INCLINATUM; - return SHAPE_PunctumInclinatum; + return SHAPE_AscendensPunctumInclinatum; + case S_PUNCTUM_INCLINATUM_DESCENDENS: + *type = AT_PUNCTUM_INCLINATUM; + return SHAPE_DescendensPunctumInclinatum; case S_PUNCTUM_INCLINATUM_DEMINUTUS: return SHAPE_PunctumInclinatumDeminutus; case S_PUNCTUM_INCLINATUM_AUCTUS: @@ -649,10 +663,10 @@ static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note, } case S_ORISCUS_ASCENDENS: *type = AT_ORISCUS; - return compute_glyph_name(glyph, SHAPE_Oriscus, LG_NONE, true); + return compute_glyph_name(glyph, SHAPE_AscendensOriscus, LG_NONE, true); case S_ORISCUS_DESCENDENS: *type = AT_ORISCUS; - return compute_glyph_name(glyph, SHAPE_OriscusReversus, LG_NONE, true); + return compute_glyph_name(glyph, SHAPE_DescendensOriscus, LG_NONE, true); case S_ORISCUS_DEMINUTUS: *type = AT_ORISCUS; return SHAPE_OriscusDeminutus; @@ -660,12 +674,13 @@ static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note, *type = AT_QUILISMA; return compute_glyph_name(glyph, SHAPE_Quilisma, LG_NONE, true); case S_ORISCUS_SCAPUS_ASCENDENS: - return fusible_queued_shape(note, glyph, SHAPE_OriscusScapus, - SHAPE_OriscusScapusLongqueue, SHAPE_OriscusScapusOpenqueue); + return fusible_queued_shape(note, glyph, SHAPE_AscendensOriscusScapus, + SHAPE_AscendensOriscusScapusLongqueue, + SHAPE_AscendensOriscusScapusOpenqueue); case S_ORISCUS_SCAPUS_DESCENDENS: - return fusible_queued_shape(note, glyph, SHAPE_OriscusScapusReversus, - SHAPE_OriscusScapusReversusLongqueue, - SHAPE_OriscusScapusReversusOpenqueue); + return fusible_queued_shape(note, glyph, SHAPE_DescendensOriscusScapus, + SHAPE_DescendensOriscusScapusLongqueue, + SHAPE_DescendensOriscusScapusOpenqueue); case S_STROPHA: *type = AT_STROPHA; if (!(note->u.note.liquescentia & @@ -691,10 +706,10 @@ static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note, return SHAPE_PunctumCavumInclinatumAuctus; case S_ORISCUS_CAVUM_ASCENDENS: *type = AT_ORISCUS; - return SHAPE_OriscusCavum; + return SHAPE_AscendensOriscusCavum; case S_ORISCUS_CAVUM_DESCENDENS: *type = AT_ORISCUS; - return SHAPE_OriscusCavumAuctus; + return SHAPE_DescendensOriscusCavum; case S_ORISCUS_CAVUM_DEMINUTUS: *type = AT_ORISCUS; return SHAPE_OriscusCavumDeminutus; @@ -707,7 +722,7 @@ static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note, default: /* not reachable unless there's a programming error */ /* LCOV_EXCL_START */ - gregorio_fail2(gregoriotex_determine_note_glyph_name, + gregorio_fail2(determine_note_glyph_name, "called with unknown shape: %s", gregorio_shape_to_string(note->u.note.shape)); return ""; @@ -853,7 +868,7 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph, const char *shape = NULL; gtex_glyph_liquescentia ltype; signed char ambitus; - gregorio_note *second_note; + const gregorio_note *second_note; gregorio_assert(glyph, gregoriotex_determine_glyph_name, "called with NULL pointer", return ""); gregorio_assert(glyph->u.notes.first_note, gregoriotex_determine_glyph_name, @@ -877,15 +892,22 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph, ltype = LG_NO_INITIO; break; case S_ORISCUS_ASCENDENS: - case S_ORISCUS_DESCENDENS: case S_ORISCUS_SCAPUS_ASCENDENS: - case S_ORISCUS_SCAPUS_DESCENDENS: *type = AT_ORISCUS; *gtype = T_PESQUASSUS; shape = quadratum_shape(glyph, SHAPE_PesQuassus, SHAPE_PesQuassusLongqueue, SHAPE_PesQuassusOpenqueue); ltype = LG_NO_INITIO; break; + case S_ORISCUS_DESCENDENS: + case S_ORISCUS_SCAPUS_DESCENDENS: + *type = AT_ORISCUS; + *gtype = T_PESQUASSUS; + shape = quadratum_shape(glyph, SHAPE_PesQuassusInusitatus, + SHAPE_PesQuassusInusitatusLongqueue, + SHAPE_PesQuassusInusitatusOpenqueue); + ltype = LG_NO_INITIO; + break; default: *type = AT_ONE_NOTE; if (glyph->u.notes.liquescentia @@ -938,6 +960,11 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph, } switch (glyph->u.notes.first_note->u.note.shape) { case S_ORISCUS_ASCENDENS: + *gtype = T_FLEXUS_ORISCUS; + shape = SHAPE_FlexusOriscusInusitatus; + ltype = LG_NO_INITIO; + break; + case S_ORISCUS_DESCENDENS: *gtype = T_FLEXUS_ORISCUS; shape = SHAPE_FlexusOriscus; @@ -945,6 +972,14 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph, break; case S_ORISCUS_SCAPUS_ASCENDENS: + *gtype = T_FLEXUS_ORISCUS_SCAPUS; + shape = flexus_shape(glyph, ambitus, + SHAPE_FlexusOriscusScapusInusitatus, + SHAPE_FlexusOriscusScapusInusitatusLongqueue, + SHAPE_FlexusOriscusScapusInusitatusOpenqueue); + ltype = LG_NO_INITIO; + break; + case S_ORISCUS_SCAPUS_DESCENDENS: *gtype = T_FLEXUS_ORISCUS_SCAPUS; shape = flexus_shape(glyph, ambitus, SHAPE_FlexusOriscusScapus, @@ -1146,43 +1181,6 @@ static bool is_last_of_line(gregorio_syllable *syllable) return false; } -static __inline bool has_notes(const gregorio_element *const element) -{ - if (element->type == GRE_CUSTOS) { - return true; - } - if (element->type == GRE_ELEMENT) { - const gregorio_glyph *glyph; - for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) { - if (glyph->type == GRE_GLYPH) { - return true; - } - } - } - return false; -} - -/* determines if there are more GRE_GLYPHs */ -static __inline bool has_more_notes(const gregorio_element *element) -{ - for (element = element->next; element; element = element->next) { - if (has_notes(element)) { - return true; - } - } - return false; -} - -static __inline void handle_last_of_score(FILE *const f, - const gregorio_syllable *const syllable, - const gregorio_element *const element) -{ - if (!syllable->next_syllable && !has_more_notes(element) - && has_notes(element)) { - fprintf(f, "\\GreLastOfScore"); - } -} - /* * ! @brief Prints the beginning of each text style */ @@ -1599,13 +1597,25 @@ static char clef_flat_height(gregorio_clef clef, signed char line, bool flatted) return pitch_value(LOWEST_PITCH + offset); } +static __inline bool is_manual_custos(const gregorio_element *const element) +{ + return element->type == GRE_CUSTOS && element->u.misc.pitched.force_pitch; +} + OFFSET_CASE(BarStandard); OFFSET_CASE(BarVirgula); OFFSET_CASE(BarDivisioFinalis); -static void write_bar(FILE *f, gregorio_bar type, - gregorio_sign signs, bool is_inside_bar, bool has_text, unsigned char first_of_disc) +static void write_bar(FILE *f, const gregorio_score *const score, + const gregorio_syllable *const syllable, + const gregorio_element *const element, + const unsigned char first_of_disc) { + const gregorio_bar type = element->u.misc.unpitched.info.bar; + const gregorio_sign signs = element->u.misc.unpitched.special_sign; + const bool is_inside_bar = element->next && !is_manual_custos(element->next) + && element->next->type != GRE_END_OF_LINE; + const bool has_text = !element->previous && syllable->text; /* the type number of function vepisemaorrare */ const char *offset_case = BarStandard; /* don't use "In" version of bars in the first argument of a GreDiscretionary */ @@ -1666,20 +1676,98 @@ static void write_bar(FILE *f, gregorio_bar type, fprintf(f, "{%c}", has_text? '1' : '0'); switch (signs) { case _V_EPISEMA: - fprintf(f, "{\\GreBarVEpisema{\\GreOCase%s}}%%\n", offset_case); + fprintf(f, "{\\GreBarVEpisema{\\GreOCase%s}}", offset_case); break; case _BAR_H_EPISEMA: - fprintf(f, "{\\GreBarBrace{\\GreOCase%s}}%%\n", offset_case); + fprintf(f, "{\\GreBarBrace{\\GreOCase%s}}", offset_case); break; case _V_EPISEMA_BAR_H_EPISEMA: fprintf(f, "{\\GreBarBrace{\\GreOCase%s}" - "\\GreBarVEpisema{\\GreOCase%s}}%%\n", + "\\GreBarVEpisema{\\GreOCase%s}}", offset_case, offset_case); break; default: - fprintf(f, "{}%%\n"); + fprintf(f, "{}"); break; } + if (type == B_VIRGULA || type == B_DIVISIO_MINIMA) { + char result = '0'; + const gregorio_element *e; + const gregorio_syllable *s; + const gregorio_glyph *g; + const gregorio_note *n; + signed char pitch; + /* find the prior element */ + e = element->previous; + if (!e) { + for (s = syllable->previous_syllable; s; s = s->previous_syllable) { + /* loop to find the previous syllable with elements */ + if (s->elements && *s->elements) { + for (e = *s->elements; e->next; e = e->next) { + /* just loop to find the last element */ + } + break; + } + } + } + if (e && e->type == GRE_ELEMENT) { + g = e->u.first_glyph; + if (g) { + while (g->next) { + /* loop to find the last glyph in the prior element */ + g = g->next; + } + } + if (g && g->type == GRE_GLYPH && (n = g->u.notes.first_note)) { + while (n->next) { + /* loop to find the last note */ + n = n->next; + } + pitch = n->u.note.pitch; + if (g->u.notes.liquescentia & L_DEMINUTUS && n->previous + && n->previous->u.note.pitch > pitch) { + pitch = n->previous->u.note.pitch; + } + if (pitch < score->virgula_far_pitch) { + /* find next element */ + e = element->next; + if (!e) { + for (s = syllable->next_syllable; s; + s = s->next_syllable) { + /* loop to find the next syllable with elements */ + if (s->elements && *s->elements) { + e = *s->elements; + break; + } + } + } + if (e) { + if (e->type == GRE_END_OF_LINE) { + result = '1'; + } else if (e->type == GRE_ELEMENT) { + g = e->u.first_glyph; + if (g && g->type == GRE_GLYPH) { + n = g->u.notes.first_note; + if (n) { + if (g->u.notes.glyph_type == G_PODATUS + && n->next) { + n = n->next; + } + if (n->u.note.pitch + < score->virgula_far_pitch) { + result = '1'; + } + } + } + } + } + } + } + } + fprintf(f, "{%c}%%\n", result); + } else { + fprintf(f, "%%\n"); + } } static __inline char *suppose_high_ledger_line(const gregorio_note *const note) @@ -1700,8 +1788,8 @@ static __inline char *suppose_low_ledger_line(const gregorio_note *const note) * glyph, which would be weird but sure why not, we just typeset two puncta * spaced of 2. */ -static void gregoriotex_write_auctum_duplex(FILE *f, - gregorio_note *current_note) +static void write_auctum_duplex(FILE *f, + const gregorio_note *const current_note) { char pitch = current_note->u.note.pitch; char previous_pitch = 0; @@ -1748,8 +1836,8 @@ static void gregoriotex_write_auctum_duplex(FILE *f, * Writes \c \\GrePunctumMora in the gtex file, with the appropriate arguments. You might think this function * more straightforward than it actually is... */ -static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph, - gregorio_note *current_note, int fuse_to_next_note) +static void write_punctum_mora(FILE *f, const gregorio_glyph *glyph, + const gregorio_note *current_note, const int fuse_to_next_note) { /* in this if we consider that the puncta are only on the last two notes * (maybe it would be useful to consider it more entirely, but it would be @@ -1767,7 +1855,7 @@ static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph, /* a variable to know if we are on a punctum inclinatum or not */ unsigned char punctum_inclinatum = 0; /* a temp variable */ - gregorio_note *tmpnote; + const gregorio_note *tmpnote; /* we go into this switch only if it is the note before the last note */ if (current_note->next) { switch (glyph->u.notes.glyph_type) { @@ -1847,7 +1935,8 @@ static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph, break; } switch (current_note->u.note.shape) { - case S_PUNCTUM_INCLINATUM: + case S_PUNCTUM_INCLINATUM_ASCENDENS: + case S_PUNCTUM_INCLINATUM_DESCENDENS: case S_PUNCTUM_INCLINATUM_DEMINUTUS: punctum_inclinatum = 1; break; @@ -1935,7 +2024,31 @@ static __inline int get_punctum_inclinatum_space_case( char temp; switch (note->u.note.shape) { - case S_PUNCTUM_INCLINATUM: + case S_PUNCTUM_INCLINATUM_ASCENDENS: + if (note->previous) { + /* means that it is the first note of the puncta inclinata + * sequence */ + temp = note->previous->u.note.pitch - note->u.note.pitch; + /* negative values = ascending ambitus */ + /* not sure we ever need to consider a larger ambitus here */ + switch (temp) { + case 1: + case 2: + case 3: + case 4: + return 25; + case -1: + default: + return 12; + case -2: + return 14; + case -3: + case -4: + return 15; + } + } + 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 @@ -1953,12 +2066,10 @@ static __inline int get_punctum_inclinatum_space_case( case 4: return 11; case -1: - return 12; case -2: - return 14; case -3: case -4: - return 15; + return 24; } } break; @@ -2033,7 +2144,7 @@ static __inline int get_punctum_inclinatum_to_nobar_space_case( || (next->u.notes.glyph_type == G_FLEXA && !next->u.notes.fuse_to_next_glyph))) { int descent; - gregorio_note *note = gregorio_glyph_last_note(glyph); + const gregorio_note *note = gregorio_glyph_last_note(glyph); descent = note->u.note.pitch - glyph->next->u.notes.first_note->u.note.pitch; /* a negative descent is an ascent */ @@ -2114,7 +2225,10 @@ static __inline void write_single_hepisema(FILE *const f, int hepisema_case, suppose_low_ledger_line(note), adj->nudge? adj->nudge : "", adj->vbasepos); } else if (note->next - && (note->next->u.note.shape == S_PUNCTUM_INCLINATUM + && (note->next->u.note.shape + == S_PUNCTUM_INCLINATUM_ASCENDENS + || note->next->u.note.shape + == S_PUNCTUM_INCLINATUM_DESCENDENS || note->next->u.note.shape == S_PUNCTUM_INCLINATUM_DEMINUTUS || note->next->u.note.shape @@ -2176,7 +2290,7 @@ static void gregoriotex_write_hepisema(FILE *const f, /* a macro to write an additional line */ static void write_additional_line(FILE *f, int i, gtex_type type, bool bottom, - gregorio_note *current_note, const gregorio_score *const score) + const gregorio_note *current_note, const gregorio_score *const score) { char ambitus = 0; gregorio_assert(current_note, write_additional_line, "called with no note", @@ -2260,7 +2374,7 @@ static void write_additional_line(FILE *f, int i, gtex_type type, bool bottom, * */ -static void gregoriotex_write_vepisema(FILE *f, gregorio_note *note) +static void write_vepisema(FILE *f, const gregorio_note *const note) { fprintf(f, "\\GreVEpisema{%d}{\\GreOCase%s}%%\n", pitch_value(note->v_episema_height), note->gtex_offset_case); @@ -2270,8 +2384,8 @@ static void gregoriotex_write_vepisema(FILE *f, gregorio_note *note) * a function that writes the rare signs in GregorioTeX. i is the position of * the note in the glyph */ -static void gregoriotex_write_rare(FILE *f, gregorio_note *current_note, - gregorio_sign rare) +static void write_rare_sign(FILE *f, const gregorio_note *const current_note, + const gregorio_sign rare) { switch (rare) { case _ACCENTUS: @@ -2310,19 +2424,47 @@ static void gregoriotex_write_rare(FILE *f, gregorio_note *current_note, } } +static __inline const char *alteration_name( + const gregorio_shape next_note_alteration) +{ + switch (next_note_alteration) { + case S_FLAT: + return "Flat"; + case S_SHARP: + return "Sharp"; + case S_NATURAL: + return "Natural"; + default: + return ""; + } +} + +static const char *next_custos(const signed char next_note_pitch, + const gregorio_shape next_note_alteration) +{ + static char buf[30]; + + gregorio_snprintf(buf, sizeof buf, "\\GreNextCustos{%d}{%s}", + pitch_value(next_note_pitch), + alteration_name(next_note_alteration)); + + return buf; +} + /* * function used when the glyph is only one note long */ -static void gregoriotex_write_note(FILE *f, gregorio_note *note, - gregorio_glyph *glyph, 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) { unsigned int initial_shape = note->u.note.shape; const char *shape; int space_case; /* type in the sense of GregorioTeX alignment type */ gtex_alignment type = AT_ONE_NOTE; - gregorio_assert(note, gregoriotex_write_note, "called with NULL pointer", + gregorio_assert(note, write_note, "called with NULL pointer", return); if (note->u.note.shape == S_PUNCTUM) { switch (note->u.note.liquescentia) { @@ -2347,7 +2489,7 @@ static void gregoriotex_write_note(FILE *f, gregorio_note *note, break; } } - shape = gregoriotex_determine_note_glyph_name(note, glyph, &type); + shape = determine_note_glyph_name(note, glyph, &type); note->u.note.shape = initial_shape; /* special things for puncta inclinata */ space_case = get_punctum_inclinatum_space_case(note); @@ -2357,43 +2499,43 @@ static void gregoriotex_write_note(FILE *f, gregorio_note *note, switch (note->u.note.shape) { case S_PUNCTUM_CAVUM: - fprintf(f, "\\GrePunctumCavum{%d}{%d}{%d}", - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + 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}{%d}{%d}", - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + 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}{%d}{%d}", - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + 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, "\\GreOriscusCavum{%d}{%d}{%d}", - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + 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, "\\GreOriscusCavumAuctus{%d}{%d}{%d}", - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + 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}{%d}{%d}", - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + 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}{%d}{%d}", - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + 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}{%d}{%d}", pitch_value(note->u.note.pitch), - pitch_value(next_note_pitch), type); + 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)); @@ -2405,9 +2547,9 @@ static void gregoriotex_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}{%d}{%d}", shape, - pitch_value(note->u.note.pitch), pitch_value(next_note_pitch), - type); + fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%s}{%d}", shape, + pitch_value(note->u.note.pitch), + next_custos(next_note_pitch, next_note_alteration), type); break; } } @@ -2510,7 +2652,7 @@ static int gregoriotex_syllable_first_type(gregorio_syllable *syllable) case G_TRISTROPHA_AUCTA: case G_BIVIRGA: case G_TRIVIRGA: - gregoriotex_determine_note_glyph_name + determine_note_glyph_name (glyph->u.notes.first_note, glyph, &type); break; default: @@ -2561,8 +2703,8 @@ static __inline void write_high_choral_sign(FILE *const f, } } -static void gregoriotex_write_choral_sign(FILE *f, gregorio_glyph *glyph, - gregorio_note *current_note, bool low) +static void write_choral_sign(FILE *f, const gregorio_glyph *glyph, + const gregorio_note *current_note, bool low) { bool kind_of_pes; /* false in the normal case (sign above the note), true in the case of it's @@ -2676,14 +2818,14 @@ static __inline void fixup_height_extrema(signed char *const top_height, } } -static void gregoriotex_write_signs(FILE *f, gtex_type type, - gregorio_glyph *glyph, gregorio_note *note, +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, const gregorio_score *const score) { /* i is the number of the note for which we are typesetting the sign. */ int i; - gregorio_note *current_note; + const gregorio_note *current_note; signed char high_pitch = UNDETERMINED_HEIGHT; signed char low_pitch = UNDETERMINED_HEIGHT; bool found = false; @@ -2716,7 +2858,7 @@ static void gregoriotex_write_signs(FILE *f, gtex_type type, current_note = current_note->next, ++i) { if (current_note->choral_sign) { found = _found(f, found); - gregoriotex_write_choral_sign(f, glyph, current_note, false); + write_choral_sign(f, glyph, current_note, false); } if (type == T_ONE_NOTE) { break; @@ -2730,10 +2872,10 @@ static void gregoriotex_write_signs(FILE *f, gtex_type type, found = _found(f, found); gregoriotex_write_hepisema(f, current_note, i, type, glyph); } - /* write_rare also writes the vepisema */ + /* write_rare_sign also writes the vepisema */ if (current_note->special_sign) { found = _found(f, found); - gregoriotex_write_rare(f, current_note, current_note->special_sign); + write_rare_sign(f, current_note, current_note->special_sign); } if (current_note->signs != _NO_SIGN) { found = _found(f, found); @@ -2742,7 +2884,7 @@ static void gregoriotex_write_signs(FILE *f, gtex_type type, case _V_EPISEMA: case _V_EPISEMA_PUNCTUM_MORA: case _V_EPISEMA_AUCTUM_DUPLEX: - gregoriotex_write_vepisema(f, current_note); + write_vepisema(f, current_note); break; default: /* do nothing */ @@ -2758,19 +2900,18 @@ static void gregoriotex_write_signs(FILE *f, gtex_type type, switch (current_note->signs) { case _PUNCTUM_MORA: case _V_EPISEMA_PUNCTUM_MORA: - gregoriotex_write_punctum_mora(f, glyph, current_note, - fuse_to_next_note); + write_punctum_mora(f, glyph, current_note, fuse_to_next_note); break; case _AUCTUM_DUPLEX: case _V_EPISEMA_AUCTUM_DUPLEX: - gregoriotex_write_auctum_duplex(f, current_note); + write_auctum_duplex(f, current_note); break; default: break; } if (current_note->choral_sign) { found = _found(f, found); - gregoriotex_write_choral_sign(f, glyph, current_note, true); + write_choral_sign(f, glyph, current_note, true); } if (type == T_ONE_NOTE) { break; @@ -2814,6 +2955,31 @@ static char *determine_leading_shape(gregorio_glyph *glyph) return buf; } +static __inline void write_composed_multinote_glyph(FILE *const f, + gregorio_note *current_note, const gregorio_glyph *glyph, + const signed char next_note_pitch, + const gregorio_shape next_note_alteration, + const int fuse_to_next_note, gregoriotex_status *const status, + const gregorio_score *const score, const char *glyph_end_between_notes) +{ + while (current_note) { + 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); + } else { + write_note(f, current_note, glyph, next_note_pitch, + next_note_alteration); + } + write_signs(f, T_ONE_NOTE, glyph, current_note, + has_next ? 0 : fuse_to_next_note, status, score); + current_note = current_note->next; + if (current_note && glyph_end_between_notes) { + fputs(glyph_end_between_notes, f); + } + } +} + static void write_glyph(FILE *f, gregorio_syllable *syllable, gregorio_element *element, gregorio_glyph *glyph, gregoriotex_status *const status, const gregorio_score *const score) @@ -2834,6 +3000,7 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable, int fuse_to_next_note, fuse_from_previous_note = (prev_glyph && prev_glyph->type == GRE_GLYPH) ? prev_glyph->u.notes.fuse_to_next_glyph : 0; + gregorio_shape next_note_alteration; gregorio_assert(glyph, write_glyph, "called with NULL pointer", return); gregorio_assert(glyph->type == GRE_GLYPH && glyph->u.notes.first_note, write_glyph, "called with glyph without note", return); @@ -2841,7 +3008,8 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable, if (fuse_from_previous_note) { fprintf(f, "\\GreFuse"); } - next_note_pitch = gregorio_determine_next_pitch(syllable, element, glyph); + next_note_pitch = gregorio_determine_next_pitch(syllable, element, glyph, + &next_note_alteration); current_note = glyph->u.notes.first_note; /* first we check if it is really a unique glyph in gregoriotex... the * glyphs that are not a unique glyph are : trigonus and pucta inclinata @@ -2857,48 +3025,34 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable, case G_3_PUNCTA_INCLINATA_ASCENDENS: case G_4_PUNCTA_INCLINATA_ASCENDENS: case G_5_PUNCTA_INCLINATA_ASCENDENS: - while (current_note) { - gregoriotex_write_note(f, current_note, glyph, next_note_pitch); - gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, - current_note->next ? 0 : fuse_to_next_note, status, score); - current_note = current_note->next; - } - /* TODO: handle fusion to next note */ + write_composed_multinote_glyph(f, current_note, glyph, + next_note_pitch, next_note_alteration, fuse_to_next_note, + status, score, NULL); break; case G_SCANDICUS: if ((glyph->u.notes.liquescentia & L_DEMINUTUS) || glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA || glyph->u.notes.liquescentia == L_FUSED) { shape = gregoriotex_determine_glyph_name(glyph, &type, >ype); - fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%d}{%d}", shape, + fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%s}{%d}", shape, pitch_value(glyph->u.notes.first_note->u.note.pitch), - pitch_value(next_note_pitch), type); - gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note, + next_custos(next_note_pitch, next_note_alteration), type); + write_signs(f, gtype, glyph, glyph->u.notes.first_note, fuse_to_next_note, status, score); } else { - while (current_note) { - if (current_note->next) { - gregoriotex_write_note(f, current_note, glyph, - current_note->next->u.note.pitch); - } else { - gregoriotex_write_note(f, current_note, glyph, - next_note_pitch); - } - gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, - current_note->next ? 0 : fuse_to_next_note, status, - score); - current_note = current_note->next; - } + write_composed_multinote_glyph(f, current_note, glyph, + next_note_pitch, next_note_alteration, fuse_to_next_note, + status, score, NULL); } break; case G_ANCUS: gregorio_assert(glyph->u.notes.liquescentia & L_DEMINUTUS, write_glyph, "encountered a non-deminutus ancus", break); shape = gregoriotex_determine_glyph_name(glyph, &type, >ype); - fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%d}{%d}", shape, + fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%s}{%d}", shape, pitch_value(glyph->u.notes.first_note->u.note.pitch), - pitch_value(next_note_pitch), type); - gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note, + next_custos(next_note_pitch, next_note_alteration), type); + write_signs(f, gtype, glyph, glyph->u.notes.first_note, fuse_to_next_note, status, score); break; case G_TORCULUS_RESUPINUS_FLEXUS: @@ -2909,40 +3063,28 @@ 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, >ype); - fprintf(f, "\\GreGlyph{\\GreFuseTwo{\\GreCP%s}{\\GreCP%s}}{%d}{%d}{%d}", - leading_shape, shape, + fprintf(f, "\\GreGlyph{\\GreFuseTwo{\\GreCP%s}{\\GreCP%s}}{%d}" + "{%s}{%d}", leading_shape, shape, pitch_value(glyph->u.notes.first_note->u.note.pitch), - pitch_value(next_note_pitch), type); + next_custos(next_note_pitch, next_note_alteration), type); glyph->u.notes.first_note = current_note; glyph->u.notes.glyph_type = G_TORCULUS_RESUPINUS_FLEXUS; - gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note, + write_signs(f, gtype, glyph, glyph->u.notes.first_note, fuse_to_next_note, status, score); break; case G_BIVIRGA: case G_TRIVIRGA: - while (current_note) { - gregoriotex_write_note(f, current_note, glyph, next_note_pitch); - gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, - current_note->next ? 0 : fuse_to_next_note, status, score); - current_note = current_note->next; - if (current_note) { - fprintf(f, "\\GreEndOfGlyph{4}%%\n"); - } - } + write_composed_multinote_glyph(f, current_note, glyph, + next_note_pitch, next_note_alteration, fuse_to_next_note, + status, score, "\\GreEndOfGlyph{4}%%\n"); break; case G_TRISTROPHA: case G_TRISTROPHA_AUCTA: case G_DISTROPHA: case G_DISTROPHA_AUCTA: - while (current_note) { - gregoriotex_write_note(f, current_note, glyph, next_note_pitch); - gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, - current_note->next ? 0 : fuse_to_next_note, status, score); - current_note = current_note->next; - if (current_note) { - fprintf(f, "\\GreEndOfGlyph{5}%%\n"); - } - } + write_composed_multinote_glyph(f, current_note, glyph, + next_note_pitch, next_note_alteration, fuse_to_next_note, + status, score, "\\GreEndOfGlyph{5}%%\n"); break; case G_PUNCTUM: @@ -2988,10 +3130,10 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable, case G_STROPHA: case G_STROPHA_AUCTA: case G_ALTERATION: - gregoriotex_write_note(f, glyph->u.notes.first_note, glyph, - next_note_pitch); - gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, - fuse_to_next_note, status, score); + write_note(f, glyph->u.notes.first_note, glyph, next_note_pitch, + next_note_alteration); + write_signs(f, T_ONE_NOTE, glyph, current_note, fuse_to_next_note, + status, score); break; default: /* we retain this "old-style" fusion as it does look marginally better @@ -3007,33 +3149,46 @@ static void write_glyph(FILE *f, gregorio_syllable *syllable, glyph->u.notes.first_note = current_note->next; shape = gregoriotex_determine_glyph_name(glyph, &type, >ype); fprintf(f, "\\GreGlyph{\\GreFuseTwo{\\GreCP%s}{\\GreCP%s}}" - "{%d}{%d}{%d}", leading_shape, shape, + "{%d}{%s}{%d}", leading_shape, shape, pitch_value(glyph->u.notes.first_note->u.note.pitch), - pitch_value(next_note_pitch), type); + next_custos(next_note_pitch, next_note_alteration), type); glyph->u.notes.first_note = current_note; glyph->u.notes.glyph_type = G_TORCULUS_RESUPINUS; - gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note, + write_signs(f, gtype, glyph, glyph->u.notes.first_note, fuse_to_next_note, status, score); break; } else { shape = gregoriotex_determine_glyph_name(glyph, &type, >ype); - fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%d}{%d}", shape, - pitch_value(glyph->u.notes.first_note->u.note.pitch), - pitch_value(next_note_pitch), type); - gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note, + 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); + write_signs(f, gtype, glyph, glyph->u.notes.first_note, fuse_to_next_note, status, score); break; } } } +static __inline unsigned int glyph_note_units(const gregorio_glyph *glyph) +{ + unsigned int count = 0; + const gregorio_note *note; + if (glyph->u.notes.glyph_type != G_ALTERATION) { + for (note = glyph->u.notes.first_note; note; note = note->next) { + ++count; + } + } + return count; +} + /* 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 void write_element(FILE *f, gregorio_syllable *syllable, +static unsigned int write_element(FILE *f, gregorio_syllable *syllable, gregorio_element *element, gregoriotex_status *status, const gregorio_score *const score) { + unsigned int note_unit_count = 0; if (element->type == GRE_ELEMENT) { gregorio_glyph *glyph; for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) { @@ -3070,6 +3225,7 @@ static void write_element(FILE *f, gregorio_syllable *syllable, /* at this point glyph->type is GRE_GLYPH */ assert(glyph->type == GRE_GLYPH); write_glyph(f, syllable, element, glyph, status, score); + note_unit_count += glyph_note_units(glyph); if (glyph->next && glyph->next->type == GRE_GLYPH && glyph->next->u.notes.glyph_type != G_ALTERATION) { if (is_fused(glyph->next->u.notes.liquescentia)) { @@ -3083,9 +3239,18 @@ static void write_element(FILE *f, gregorio_syllable *syllable, } } else if (is_puncta_inclinata( glyph->next->u.notes.glyph_type) - || glyph->next->u.notes.glyph_type == - G_PUNCTA_INCLINATA) { - fprintf(f, "\\GreEndOfGlyph{9}%%\n"); + || glyph->next->u.notes.glyph_type + == G_PUNCTA_INCLINATA) { + if ((is_puncta_inclinata(glyph->u.notes.glyph_type) + || glyph->u.notes.glyph_type + == G_PUNCTA_INCLINATA) + && glyph->next->u.notes.first_note->u.note.pitch + == gregorio_glyph_last_note(glyph)->u.note.pitch) { + /* special case for unison puncta inclinata */ + fprintf(f, "\\GreEndOfGlyph{23}%%\n"); + } else { + fprintf(f, "\\GreEndOfGlyph{9}%%\n"); + } } else if (glyph->u.notes.glyph_type != G_ALTERATION || !glyph->next) { fprintf(f, "\\GreEndOfGlyph{0}%%\n"); @@ -3095,6 +3260,7 @@ static void write_element(FILE *f, gregorio_syllable *syllable, } } } + return note_unit_count; } static void write_fixed_text_styles(FILE *f, gregorio_character *syllable_text, @@ -3165,11 +3331,6 @@ static void gregoriotex_print_change_line_clef(FILE *f, } } -static __inline bool is_manual_custos(const gregorio_element *const element) -{ - return element->type == GRE_CUSTOS && element->u.misc.pitched.force_pitch; -} - static __inline bool next_is_bar(const gregorio_syllable *syllable, const gregorio_element *element) { @@ -3239,10 +3400,14 @@ static void handle_final_bar(FILE *f, const char *type, gregorio_syllable *sylla case GRE_CUSTOS: assert(element->u.misc.pitched.force_pitch); - fprintf(f, "\\GreFinalCustos{%d}%%\n", + fprintf(f, "\\GreFinalCustos{%d}{}%%\n", pitch_value(element->u.misc.pitched.pitch)); break; + case GRE_END_OF_LINE: + fprintf(f, "\\GreFinalNewLine%%\n"); + break; + default: /* do nothing */ break; @@ -3380,7 +3545,6 @@ static __inline void anticipate_event(gregorio_syllable *syllable, char *const euouae_follows, char *const eol_forces_custos, unsigned short *const next_euouae_id) { - static unsigned short euouae_id = 0; bool has_intervening_linebreak = false; *euouae_follows = '\0'; @@ -3400,7 +3564,7 @@ static __inline void anticipate_event(gregorio_syllable *syllable, scan_syllable_for_eol(syllable, eol_forces_custos); if (syllable->euouae == EUOUAE_BEGINNING) { - *next_euouae_id = syllable->euouae_id = ++euouae_id; + *next_euouae_id = syllable->euouae_id = ++tex_position_id; *euouae_follows = has_intervening_linebreak? '1' : '0'; } } @@ -3420,6 +3584,50 @@ static __inline void write_anticipated_event(FILE *f, const char euouae_follows, } } +static __inline unsigned int count_note_units(const gregorio_element *element) +{ + unsigned int count = 0; + for (; element; element = element->next) { + if (element->type == GRE_ELEMENT) { + const gregorio_glyph *glyph; + for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) { + if (glyph->type == GRE_GLYPH) { + count += glyph_note_units(glyph); + } + } + } + } + return count; +} + +static __inline void handle_last_of_voice(FILE *const f, + const gregorio_syllable *syllable, + const gregorio_element *const element, + const gregorio_element *const last_of_voice) +{ + if (element == last_of_voice) { + if (syllable->next_syllable) { + /* check for no-element syllables that follow */ + for (syllable = syllable->next_syllable; + syllable && (!syllable->elements || !*(syllable->elements)); + syllable = syllable->next_syllable) { + /* just loop */ + } + /* if syllable is NULL here, then all syllables that follow + * have no elements */ + } + /* emit GreLastOfScore if we are either on the last syllable (and + * thus the loop above is not executed, leaving syllable at the + * current syllable) or if a syllable which follows the current + * syllable has an element of some sort (and thus the loop above + * stopped before running out of syllables); in any case, the check + * is that syllable, at this point, is not NULL */ + if (syllable) { + fprintf(f, "\\GreLastOfScore"); + } + } +} + /* * 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 @@ -3436,6 +3644,7 @@ static __inline void write_anticipated_event(FILE *f, const char euouae_follows, static void write_syllable(FILE *f, gregorio_syllable *syllable, unsigned char first_of_disc, gregoriotex_status *const status, 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)) { @@ -3447,6 +3656,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, char euouae_follows; char eol_forces_custos; unsigned short next_euouae_id; + unsigned int note_unit_count; gregorio_not_null(syllable, write_syllable, return); end_of_word = syllable->position == WORD_END @@ -3498,10 +3708,10 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, */ gregoriotex_print_change_line_clef(f, clef_change_element); fprintf(f, "\\GreDiscretionary{0}{%%\n"); - write_syllable(f, syllable, 1, status, score, + write_syllable(f, syllable, 1, status, score, last_of_voice, write_syllable_text); fprintf(f, "}{%%\n"); - write_syllable(f, syllable, 2, status, score, + 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, @@ -3534,7 +3744,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, * bar syllable */ syllable_type = "\\GreBarSyllable"; } else { - if (first_of_disc == 1) { + if (first_of_disc != 0) { syllable_type = "\\GreBarSyllable"; } else { syllable_type = "\\GreSyllable"; @@ -3561,7 +3771,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, syllable->next_syllable->forced_center? "\\GreGABCNextForceCenters" : ""); write_text(f, syllable->next_syllable->text); - if (end_of_line) { + if (end_of_line || first_of_disc == 1) { fprintf(f, "\\GreLastOfLine"); } else if (euouae_follows) { fprintf(f, "\\GreLastSyllableBeforeEUOUAE{%hu}{%c}", @@ -3573,7 +3783,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, gregoriotex_syllable_first_type(syllable->next_syllable)); } else { fprintf(f, "{\\GreSetNextSyllable{}{}{}{}{}"); - if (end_of_line) { + if (end_of_line || first_of_disc == 1) { fprintf(f, "\\GreLastOfLine"); } fprintf(f, "}{"); @@ -3599,6 +3809,10 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, } fprintf(f, "}{%%\n"); + fprintf(f, "\\GreSyllableNoteCount{%u}%%\n", syllable->elements? + count_note_units(*syllable->elements) : 0); + + note_unit_count = 0; if (syllable->elements) { for (element = *syllable->elements; element; element = element->next) { if (element->nabc_lines && element->nabc) { @@ -3615,30 +3829,38 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, case GRE_SPACE: switch (element->u.misc.unpitched.info.space) { case SP_LARGER_SPACE: - fprintf(f, "\\GreEndOfElement{1}{0}%%\n"); + fprintf(f, "\\GreEndOfElement{1}{0}{%u}%%\n", + note_unit_count); break; case SP_GLYPH_SPACE: - fprintf(f, "\\GreEndOfElement{2}{0}%%\n"); + fprintf(f, "\\GreEndOfElement{2}{0}{%u}%%\n", + note_unit_count); break; case SP_NEUMATIC_CUT: - fprintf(f, "\\GreEndOfElement{0}{0}%%\n"); + fprintf(f, "\\GreEndOfElement{0}{0}{%u}%%\n", + note_unit_count); break; case SP_AD_HOC_SPACE: - fprintf(f, "\\GreAdHocSpaceEndOfElement{%s}{0}%%\n", - element->u.misc.unpitched.info.ad_hoc_space_factor); + fprintf(f, "\\GreAdHocSpaceEndOfElement{%s}{0}{%u}%%\n", + element->u.misc.unpitched.info.ad_hoc_space_factor, + note_unit_count); break; case SP_GLYPH_SPACE_NB: - fprintf(f, "\\GreEndOfElement{2}{1}%%\n"); + fprintf(f, "\\GreEndOfElement{2}{1}{%u}%%\n", + note_unit_count); break; case SP_LARGER_SPACE_NB: - fprintf(f, "\\GreEndOfElement{1}{1}%%\n"); + fprintf(f, "\\GreEndOfElement{1}{1}{%u}%%\n", + note_unit_count); break; case SP_NEUMATIC_CUT_NB: - fprintf(f, "\\GreEndOfElement{0}{1}%%\n"); + fprintf(f, "\\GreEndOfElement{0}{1}{%u}%%\n", + note_unit_count); break; case SP_AD_HOC_SPACE_NB: - fprintf(f, "\\GreAdHocSpaceEndOfElement{%s}{1}%%\n", - element->u.misc.unpitched.info.ad_hoc_space_factor); + fprintf(f, "\\GreAdHocSpaceEndOfElement{%s}{1}{%u}%%\n", + element->u.misc.unpitched.info.ad_hoc_space_factor, + note_unit_count); break; default: /* not reachable unless there's a programming error */ @@ -3680,7 +3902,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, 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 + (!element->previous || element->previous->type == GRE_BAR)? '0' : '1', clef_flat_height(element->u.misc.clef.clef, element->u.misc.clef.line, @@ -3696,25 +3918,29 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, case GRE_CUSTOS: if (first_of_disc != 1) { + 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 */ - handle_last_of_score(f, syllable, element); - fprintf(f, "\\GreEndOfElement{1}{1}%%\n\\GreCustos{%d}" - "\\GreNextCustos{%d}%%\n", - pitch_value(element->u.misc.pitched.pitch), - pitch_value(gregorio_determine_next_pitch(syllable, - element, NULL))); + handle_last_of_voice(f, syllable, element, *last_of_voice); + next_note_pitch = gregorio_determine_next_pitch(syllable, + element, NULL, &next_note_alteration); + if (!element->u.misc.pitched.force_pitch) { + alteration = alteration_name(next_note_alteration); + } + fprintf(f, "\\GreCustos{%d}{%s}%s%%\n", + pitch_value(element->u.misc.pitched.pitch), alteration, + next_custos(next_note_pitch, next_note_alteration)); + ++note_unit_count; } break; case GRE_BAR: - write_bar(f, element->u.misc.unpitched.info.bar, - element->u.misc.unpitched.special_sign, - element->next && !is_manual_custos(element->next) - && element->next->type != GRE_END_OF_LINE, - !element->previous && syllable->text, first_of_disc); + handle_last_of_voice(f, syllable, element, *last_of_voice); + write_bar(f, score, syllable, element, first_of_disc); break; case GRE_END_OF_LINE: @@ -3735,14 +3961,16 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable, default: /* here current_element->type is GRE_ELEMENT */ assert(element->type == GRE_ELEMENT); - handle_last_of_score(f, syllable, element); - write_element(f, syllable, element, status, score); + handle_last_of_voice(f, syllable, element, *last_of_voice); + note_unit_count += write_element(f, syllable, element, status, + score); if (element->next && (element->next->type == GRE_ELEMENT || (element->next->next && element->next->type == GRE_ALT && element->next->next->type == GRE_ELEMENT))) { - fprintf(f, "\\GreEndOfElement{0}{0}%%\n"); + fprintf(f, "\\GreEndOfElement{0}{0}{%u}%%\n", + note_unit_count); } break; } @@ -3782,7 +4010,8 @@ static char *digest_to_hex(const unsigned char digest[SHA1_DIGEST_SIZE]) } static void initialize_score(gregoriotex_status *const status, - gregorio_score *score, const bool point_and_click) + gregorio_score *score, const bool point_and_click, + const gregorio_element **const last_of_voice) { gregorio_syllable *syllable; @@ -3814,6 +4043,8 @@ static void initialize_score(gregoriotex_status *const status, status->abovelinestext = true; } + /* simultaneously compute height extrema and determine the last "real" + * element in each voice */ for (voice = 0; voice < score->number_of_voices; ++voice) { gregorio_element *element; @@ -3826,10 +4057,15 @@ static void initialize_score(gregoriotex_status *const status, status->abovelinestext = true; break; + case GRE_CUSTOS: + last_of_voice[voice] = element; + break; + case GRE_ELEMENT: for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) { if (glyph->type == GRE_GLYPH) { + last_of_voice[voice] = element; compute_height_extrema(glyph, glyph->u.notes.first_note, &(status->top_height), @@ -3838,6 +4074,10 @@ static void initialize_score(gregoriotex_status *const status, } break; + case GRE_BAR: + last_of_voice[voice] = element; + break; + default: /* to eliminate the warning */ break; @@ -3888,6 +4128,50 @@ static void suppress_expansion(FILE *const f, const char *text) } } +static int first_note_near_clef(const gregorio_score *const score) { + gregorio_clef_info clef = gregorio_default_clef; + if (score->first_voice_info) { + clef = score->first_voice_info->initial_clef; + if (!clef.secondary_line && !clef.flatted && score->first_syllable + && score->first_syllable->elements) { + const gregorio_element *element = score->first_syllable->elements[0]; + if (element && element->type == GRE_ELEMENT) { + const gregorio_glyph *glyph = element->u.first_glyph; + if (glyph && glyph->type == GRE_GLYPH) { + const signed char clef_pitch = LOW_LINE_PITCH + + ((clef.line - 1) * 2); + const gregorio_note *low_note = glyph->u.notes.first_note; + const gregorio_note *high_note = low_note; + switch (glyph->u.notes.glyph_type) { + case G_PODATUS: + /* next note is above the previous */ + if (low_note->next) { + high_note = low_note->next; + } + break; + case G_FLEXA: + case G_PORRECTUS: + case G_PORRECTUS_FLEXUS: + /* there is a stem the size of the ambitus */ + if (high_note->next) { + low_note = high_note->next; + } + break; + default: + /* to prevent the enum warning */ + break; + } + if (high_note->u.note.pitch < clef_pitch - 3 + || low_note->u.note.pitch > clef_pitch + 3) { + return 0; + } + } + } + } + } + return 1; +} + void gregoriotex_write_score(FILE *const f, gregorio_score *const score, const char *const point_and_click_filename) { @@ -3895,8 +4179,11 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score, gregorio_syllable *current_syllable; int annotation_num; gregoriotex_status status; + const gregorio_element *last_of_voice[MAX_NUMBER_OF_VOICES]; - initialize_score(&status, score, point_and_click_filename != NULL); + memset(last_of_voice, 0, sizeof last_of_voice); + initialize_score(&status, score, point_and_click_filename != NULL, + last_of_voice); gregorio_assert(f, gregoriotex_write_score, "call with NULL file", return); @@ -3960,10 +4247,10 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score, fprintf(f, "}%%\n"); } - /* DEPRECATED by 4.1 */ + /* DEPRECATED for removal in 5.0 */ /* LCOV_EXCL_START */ - if (score->initial_style != INITIAL_NOT_SPECIFIED) { /* DEPRECATED by 4.1 */ - fprintf(f, "\\GreSetInitialStyle{%d}%%\n", score->initial_style); /* DEPRECATED by 4.1 */ + 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 */ @@ -3975,16 +4262,17 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score, if (score->first_voice_info) { clef = score->first_voice_info->initial_clef; } - fprintf(f, "\\GreSetInitialClef{%c}{%d}{%d}{%c}{%d}{%d}%%\n", + 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), gregorio_clef_to_char(clef.secondary_clef), clef.secondary_line, clef_flat_height(clef.secondary_clef, clef.secondary_line, - clef.secondary_flatted)); + clef.secondary_flatted), + first_note_near_clef(score)); fprintf(f, "}{%%\n"); /* GreScoreOpening#3 */ current_syllable = score->first_syllable; if (current_syllable) { - write_syllable(f, current_syllable, 0, &status, score, + write_syllable(f, current_syllable, 0, &status, score, last_of_voice, write_first_syllable_text); current_syllable = current_syllable->next_syllable; } else { @@ -3992,7 +4280,7 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score, fprintf(f, "}{}{\\GreSetNoFirstSyllableText}%%\n"); } while (current_syllable) { - write_syllable(f, current_syllable, 0, &status, score, + write_syllable(f, current_syllable, 0, &status, score, last_of_voice, write_syllable_text); current_syllable = current_syllable->next_syllable; } 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 65c2caaeb6c..3a2ca07bde5 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * diff --git a/Build/source/texk/gregorio/gregorio-src/src/messages.c b/Build/source/texk/gregorio/gregorio-src/src/messages.c index 0aada3b802f..5033a9e7152 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2009-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -31,6 +31,7 @@ static FILE *error_out; static gregorio_verbosity verbosity_mode = 0; static bool debug_messages = false; +static bool deprecation_is_warning = true; static int return_value = 0; int gregorio_get_return_value(void) @@ -53,6 +54,11 @@ void gregorio_set_debug_messages(bool debug) debug_messages = debug; } +void gregorio_set_deprecation_errors(bool deprecation_errors) +{ + deprecation_is_warning = !deprecation_errors; +} + static const char *verbosity_to_str(const gregorio_verbosity verbosity) { const char *str; @@ -132,6 +138,11 @@ void gregorio_messagef(const char *function_name, fprintf(error_out, "\n"); switch (verbosity) { + case VERBOSITY_DEPRECATION: + if (deprecation_is_warning) { + break; + } + /* else fall through */ case VERBOSITY_ERROR: case VERBOSITY_ASSERTION: return_value = 1; diff --git a/Build/source/texk/gregorio/gregorio-src/src/messages.h b/Build/source/texk/gregorio/gregorio-src/src/messages.h index 7b0282946b8..0939b6beff3 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2009-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -54,6 +54,7 @@ void gregorio_messagef(const char *function_name, __attribute__ ((__format__ (__printf__, 4, 5))); void gregorio_set_verbosity_mode(gregorio_verbosity verbosity); void gregorio_set_debug_messages(bool debug); +void gregorio_set_deprecation_errors(bool deprecation_errors); void gregorio_set_error_out(FILE *f); int gregorio_get_return_value(void); diff --git a/Build/source/texk/gregorio/gregorio-src/src/plugins.h b/Build/source/texk/gregorio/gregorio-src/src/plugins.h index 3363d491b22..bdfb4fa0566 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct.c b/Build/source/texk/gregorio/gregorio-src/src/struct.c index cd260b4886c..f7ec4f2db0e 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -53,6 +53,8 @@ #include "characters.h" #include "support.h" +unsigned short tex_position_id = 0; + gregorio_clef_info gregorio_default_clef = { /*.line =*/ 3, /*.secondary_line =*/ 0, @@ -430,7 +432,9 @@ void gregorio_change_shape(gregorio_note *const note, case S_PUNCTUM_CAVUM: /* S_PUNCTUM_CAVUM morphs other shapes */ switch (old_shape) { - case S_PUNCTUM_INCLINATUM: + 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; @@ -1260,6 +1264,11 @@ void gregorio_set_score_staff_lines(gregorio_score *const score, score->staff_lines = staff_lines; score->highest_pitch = LOWEST_PITCH + 4 + (2 * staff_lines); score->high_ledger_line_pitch = score->highest_pitch - 1; + score->virgula_far_pitch = score->highest_pitch - 6; + + gregorio_assert(score->highest_pitch <= MAX_PITCH, + gregorio_set_score_staff_lines, "highest pitch exceeds MAX_PITCH", + return); } void gregorio_add_score_header(gregorio_score *score, char *name, char *value) @@ -1317,11 +1326,52 @@ int gregorio_calculate_new_key(gregorio_clef_info clef) } } -static signed char gregorio_syllable_first_note(gregorio_syllable *syllable) +/* shape is an output parameter */ +static __inline signed char next_pitch_from_glyph(const gregorio_glyph *glyph, + gregorio_shape *const alterations, gregorio_shape *const shape) +{ + while (glyph) { + if (glyph->type == GRE_GLYPH) { + if (glyph->u.notes.glyph_type == G_ALTERATION) { + const gregorio_note *note; + for (note = glyph->u.notes.first_note; note; + note = note->next) { + switch (note->u.note.shape) { + case S_FLAT: + case S_SHARP: + case S_NATURAL: + if (note->u.note.pitch >= LOWEST_PITCH && + note->u.note.pitch <= MAX_PITCH) { + alterations[note->u.note.pitch] = + note->u.note.shape; + } + break; + default: + break; + } + } + } else if (glyph->u.notes.first_note) { + assert(glyph->u.notes.first_note->type == GRE_NOTE); + if (shape) { + *shape = alterations[ + glyph->u.notes.first_note->u.note.pitch]; + } + return glyph->u.notes.first_note->u.note.pitch; + } + } + glyph = glyph->next; + } + return 0; +} + +/* shape is an output parameter */ +static signed char syllable_first_note(const gregorio_syllable *syllable, + gregorio_shape *const alterations, gregorio_shape *const shape) { gregorio_element *element; gregorio_glyph *glyph; - gregorio_not_null(syllable, gregorio_syllable_first_note, return 0); + signed char pitch; + gregorio_not_null(syllable, syllable_first_note, return 0); element = syllable->elements[0]; while (element) { if (element->type == GRE_CUSTOS) { @@ -1329,14 +1379,9 @@ static signed char gregorio_syllable_first_note(gregorio_syllable *syllable) } if (element->type == GRE_ELEMENT && element->u.first_glyph) { glyph = element->u.first_glyph; - while (glyph) { - if (glyph->type == GRE_GLYPH - && glyph->u.notes.glyph_type != G_ALTERATION - && glyph->u.notes.first_note) { - assert(glyph->u.notes.first_note->type == GRE_NOTE); - return glyph->u.notes.first_note->u.note.pitch; - } - glyph = glyph->next; + pitch = next_pitch_from_glyph(glyph, alterations, shape); + if (pitch) { + return pitch; } } element = element->next; @@ -1344,10 +1389,19 @@ static signed char gregorio_syllable_first_note(gregorio_syllable *syllable) return 0; } -signed char gregorio_determine_next_pitch(gregorio_syllable *syllable, - gregorio_element *element, gregorio_glyph *glyph) +/* shape is an output parameter */ +signed char gregorio_determine_next_pitch(const gregorio_syllable *syllable, + const gregorio_element *element, const gregorio_glyph *glyph, + gregorio_shape *const shape) { - signed char temp; + signed char pitch; + gregorio_shape alterations[MAX_PITCH + 1]; + + memset(alterations, 0, sizeof alterations); + + if (shape) { + *shape = S_UNDETERMINED; + } gregorio_not_null(element, gregorio_determine_next_pitch, return DUMMY_PITCH); gregorio_not_null(syllable, gregorio_determine_next_pitch, @@ -1355,14 +1409,9 @@ signed char gregorio_determine_next_pitch(gregorio_syllable *syllable, /* we first explore the next glyphs to find a note, if there is one */ if (glyph) { glyph = glyph->next; - while (glyph) { - if (glyph->type == GRE_GLYPH - && glyph->u.notes.glyph_type != G_ALTERATION - && glyph->u.notes.first_note) { - assert(glyph->u.notes.first_note->type == GRE_NOTE); - return glyph->u.notes.first_note->u.note.pitch; - } - glyph = glyph->next; + pitch = next_pitch_from_glyph(glyph, alterations, shape); + if (pitch) { + return pitch; } } /* then we do the same with the elements */ @@ -1373,14 +1422,9 @@ signed char gregorio_determine_next_pitch(gregorio_syllable *syllable, } if (element->type == GRE_ELEMENT && element->u.first_glyph) { glyph = element->u.first_glyph; - while (glyph) { - if (glyph->type == GRE_GLYPH - && glyph->u.notes.glyph_type != G_ALTERATION - && glyph->u.notes.first_note) { - assert(glyph->u.notes.first_note->type == GRE_NOTE); - return glyph->u.notes.first_note->u.note.pitch; - } - glyph = glyph->next; + pitch = next_pitch_from_glyph(glyph, alterations, shape); + if (pitch) { + return pitch; } } /* I think this is optimized out; LCOV_EXCL_LINE */ element = element->next; @@ -1391,14 +1435,17 @@ signed char gregorio_determine_next_pitch(gregorio_syllable *syllable, while (syllable) { /* we call another function that will return the pitch of the first * note if syllable has a note, and 0 else */ - temp = gregorio_syllable_first_note(syllable); - if (temp) { - return temp; + pitch = syllable_first_note(syllable, alterations, shape); + if (pitch) { + return pitch; } syllable = syllable->next_syllable; } /* here it means that there is no next note, so we return a stupid value, * but it won' t be used */ + if (shape) { + *shape = S_UNDETERMINED; + } return DUMMY_PITCH; } diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct.h b/Build/source/texk/gregorio/gregorio-src/src/struct.h index 2511375dfba..d634fe59b9c 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -98,7 +98,8 @@ ENUM(gregorio_clef, GREGORIO_CLEF); A(S_UNDETERMINED, 0) \ E(S_PUNCTUM) \ E(S_PUNCTUM_END_OF_GLYPH) \ - E(S_PUNCTUM_INCLINATUM) \ + E(S_PUNCTUM_INCLINATUM_ASCENDENS) \ + E(S_PUNCTUM_INCLINATUM_DESCENDENS) \ E(S_PUNCTUM_INCLINATUM_DEMINUTUS) \ E(S_PUNCTUM_INCLINATUM_AUCTUS) \ E(S_VIRGA) \ @@ -134,6 +135,7 @@ ENUM(gregorio_clef, GREGORIO_CLEF); 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 */ \ E(S_QUILISMA_QUADRATUM) \ E(S_PUNCTUM_AUCTUS_ASCENDENS) \ @@ -283,7 +285,6 @@ ENUM(gregorio_vposition, GREGORIO_VPOSITION); E(G_SALICUS_FLEXUS) \ E(G_VIRGA_STRATA) \ E(G_TORCULUS_LIQUESCENS) \ - E(G_PES_QUILISMA) \ /* additional glyph types, necessary for determination */ \ E(G_PORRECTUS_NO_BAR) \ E(G_PORRECTUS_FLEXUS_NO_BAR) \ @@ -403,7 +404,7 @@ typedef union gregorio_misc_element_info { struct { /* The pitch of the glyph. */ signed char pitch; - /* boolean indicating a clef with a B-flat */ + /* boolean indicating whether the pitch is forced */ bool force_pitch:1; } pitched; /* clef is used for GRE_CLEF */ @@ -692,7 +693,7 @@ 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 */ + signed char initial_style; /* DEPRECATED for removal in 5.0 */ size_t nabc_lines; char *user_notes; /* the determination method (maximal ambitus, etc.) */ @@ -705,6 +706,7 @@ typedef struct gregorio_score { unsigned char staff_lines; signed char highest_pitch; signed char high_ledger_line_pitch; + signed char virgula_far_pitch; bool legacy_oriscus_orientation; } gregorio_score; @@ -739,11 +741,12 @@ typedef struct gregorio_hepisema_adjustment { #define F_KEY 'f' #define NO_KEY -5 +extern unsigned short tex_position_id; extern gregorio_clef_info gregorio_default_clef; #define MONOPHONY 0 -/* the different initial styles - DEPRECATED by 4.1 */ +/* the different initial styles - DEPRECATED for removal in 5.0 */ #define INITIAL_NOT_SPECIFIED -1 #define USELESS_VALUE 0 @@ -779,6 +782,8 @@ static __inline bool is_fused(char liquescentia) #define LOWEST_PITCH 3 #define DUMMY_PITCH (LOWEST_PITCH + 6) #define LOW_LEDGER_LINE_PITCH (LOWEST_PITCH + 1) +#define LOW_LINE_PITCH (LOWEST_PITCH + 3) +#define MAX_PITCH (LOWEST_PITCH + 4 + (2 * 5)) #define NO_PITCH -128 @@ -880,8 +885,9 @@ void gregorio_begin_style(gregorio_character **current_character, void gregorio_end_style(gregorio_character **current_character, grestyle_style style); gregorio_character *gregorio_clone_characters(const gregorio_character *source); -signed char gregorio_determine_next_pitch(gregorio_syllable *syllable, - gregorio_element *element, gregorio_glyph *glyph); +signed char gregorio_determine_next_pitch(const gregorio_syllable *syllable, + const gregorio_element *element, const gregorio_glyph *glyph, + gregorio_shape *next_pitch_alteration); const char *gregorio_unknown(int value); gregorio_element *gregorio_get_clef_change(gregorio_syllable *syllable); unsigned short gregorio_add_hepisema_adjustment( diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct_iter.h b/Build/source/texk/gregorio/gregorio-src/src/struct_iter.h new file mode 100644 index 00000000000..33ed7ec924e --- /dev/null +++ b/Build/source/texk/gregorio/gregorio-src/src/struct_iter.h @@ -0,0 +1,101 @@ +/* + * 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) + * + * This file is part of Gregorio. + * + * Gregorio 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. + * + * Gregorio 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 Gregorio. If not, see <http://www.gnu.org/licenses/>. + */ + +/** + * @file + * The file starts by the definition of all the structures used in + * gregorio. As it is certainly the most important file for + * understanding, read it carefully. + */ + +#ifndef STRUCT_ITER_H +#define STRUCT_ITER_H + +#include "struct.h" + +typedef struct { + gregorio_syllable *syllable; + gregorio_element *element; + gregorio_glyph *glyph; + gregorio_note *note; +} gregorio_note_iter_position; + +static __inline void gregorio_from_note_to_note( + const gregorio_note_iter_position *const start, + const gregorio_note_iter_position *const end, + void (*const visit)(const gregorio_note_iter_position *, void *), + void *data) +{ + gregorio_note_iter_position p = *start; + + while (p.syllable) { + if (!p.element) { + p.element = p.syllable->elements[0]; + } + while (p.element) { + if (p.element->type == GRE_ELEMENT) { + if (!p.glyph) { + p.glyph = p.element->u.first_glyph; + } + while (p.glyph) { + if (p.glyph->type == GRE_GLYPH) { + if (!p.note) { + p.note = p.glyph->u.notes.first_note; + } + while (p.note) { + if (p.note->type == GRE_NOTE) { + visit(&p, data); + } + + if (end && p.note == end->note) { + return; + } + + p.note = p.note->next; + } /* note */ + } + p.glyph = p.glyph->next; + } /* glyph */ + } + p.element = p.element->next; + } /* element */ + 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) +{ + gregorio_note_iter_position p = { + /* .syllable = */ NULL, + /* .element = */ NULL, + /* .glyph = */ NULL, + /* .note = */ NULL + }; + + p.syllable = score->first_syllable; + + gregorio_from_note_to_note(&p, NULL, visit, data); +} + +#endif diff --git a/Build/source/texk/gregorio/gregorio-src/src/unicode.c b/Build/source/texk/gregorio/gregorio-src/src/unicode.c index 82b581eea0e..1cc381d2a4d 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2016 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 7af434a28fb..0d0d5aac1ba 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-2015 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2016 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * |