From c9707ee735a075455b28b233ea5373f2d90ebef2 Mon Sep 17 00:00:00 2001 From: Bastian Kleineidam Date: Sat, 28 May 2011 13:39:04 +0200 Subject: [PATCH] Handle stray < before end tags. --- doc/changelog.txt | 4 + linkcheck/HtmlParser/htmllex.c | 1687 ++++++++++++++++---------------- linkcheck/HtmlParser/htmllex.l | 21 +- tests/test_parser.py | 4 +- 4 files changed, 891 insertions(+), 825 deletions(-) diff --git a/doc/changelog.txt b/doc/changelog.txt index 967322a0..1bacd363 100644 --- a/doc/changelog.txt +++ b/doc/changelog.txt @@ -1,5 +1,9 @@ 7.1 "" (released xx.xx.2011) +Fixes: +- checking: HTML parser detects and handles stray "<" characters before + end tags. + 7.0 "Plots with a View" (released 28.5.2011) diff --git a/linkcheck/HtmlParser/htmllex.c b/linkcheck/HtmlParser/htmllex.c index 9fbe0884..f84fddb4 100644 --- a/linkcheck/HtmlParser/htmllex.c +++ b/linkcheck/HtmlParser/htmllex.c @@ -964,10 +964,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, -73, -73, -73, -73, -73 + 55, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 159, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158 }, { @@ -979,25 +979,25 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 158, -75, -75, -75, -75, 158, 158, 158, 158, - 158, 158, 158, 158, -75, 158, -75, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158 + 55, 160, -75, -75, -75, -75, 160, 160, 160, 160, + 160, 160, 160, 160, -75, 160, -75, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160 }, { - 55, -76, 159, 159, 159, 159, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, 160, -76, -76, -76, + 55, -76, 161, 161, 161, 161, -76, -76, -76, -76, + -76, -76, -76, -76, -76, -76, 162, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76 }, { - 55, -77, 161, 161, 161, 161, -77, -77, -77, -77, - -77, 162, -77, -77, -77, -77, -77, -77, 163, 163, + 55, -77, 163, 163, 163, 163, -77, -77, -77, -77, + -77, 164, -77, -77, -77, -77, -77, -77, 165, 165, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, -77, -77, -77, -77, 163, 163, 163 + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, -77, -77, -77, -77, 165, 165, 165 }, { @@ -1008,18 +1008,18 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, -79, 164, -79, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164 + 55, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, -79, 166, -79, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166 }, { - 55, -80, 165, 165, 165, 165, -80, -80, -80, -80, - -80, 166, -80, -80, -80, -80, -80, -80, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, -80, -80, -80, -80, 167, 167, 167 + 55, -80, 167, 167, 167, 167, -80, -80, -80, -80, + -80, 168, -80, -80, -80, -80, -80, -80, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, -80, -80, -80, -80, 169, 169, 169 }, { @@ -1030,11 +1030,11 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 168, 168, 168, 168, 168, 168, -82, -82, 168, - 168, -82, 168, 168, -82, 168, 168, 168, 168, 168, + 55, 170, 170, 170, 170, 170, 170, -82, -82, 170, + 170, -82, 170, 170, -82, 170, 170, 170, 170, 170, - 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, + 170, 170, 170, 170, 170, 170, 170, 170 }, { @@ -1053,25 +1053,25 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 169, 169, 169, 169, 169, 169, 169, 169, 170, - 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 + 55, 171, 171, 171, 171, 171, 171, 171, 171, 172, + 171, 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 }, { - 55, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 173, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172 + 55, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 175, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174 }, { - 55, 174, 174, 174, 174, 174, 174, 174, -87, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 55, 176, 176, 176, 176, 176, 176, 176, -87, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, -87, 174, 174, 174, 174, 174 + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, -87, 176, 176, 176, 176, 176 }, { @@ -1097,10 +1097,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 175, 175, 175, 175, 175, 175, -91, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, -91, 175, 175, 175, 175, 175 + 55, 177, 177, 177, 177, 177, 177, -91, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 177, -91, 177, 177, 177, 177, 177 }, { @@ -1127,10 +1127,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 176, 176, -95, -95, 176, 176, 176, 176, 176, - 176, 176, 176, 176, -95, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 176, 176 + 55, 178, 178, -95, -95, 178, 178, 178, 178, 178, + 178, 178, 178, 178, -95, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178 }, { @@ -1141,40 +1141,40 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 173, 172, 172, 172, 172, 172, 172, 172, 172, + 55, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 175, 174, 174, 174, 174, 174, 174, 174, 174, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172 + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 174, 174 }, { - 55, 177, 177, 177, 177, 177, 177, 177, 177, -98, - 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 + 55, 179, 179, 179, 179, 179, 179, 179, 179, -98, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179 }, { 55, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, 178, -99, -99, -99, -99, -99, -99, -99, -99, + -99, 180, -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 }, { - 55, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, -100, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179 + 55, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, -100, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181 }, { - 55, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 181, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180 + 55, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 183, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182 }, { @@ -1186,10 +1186,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 182, 182, 182, 183, 182, 182, 182, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 182, 182, 182, 182, 182 + 55, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 185, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184 }, { @@ -1202,65 +1202,65 @@ static yyconst flex_int32_t yy_nxt[][38] = { 55, -105, -105, -105, -105, -105, -105, -105, -105, -105, - 184, -105, 184, -105, -105, -105, -105, -105, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, -105, -105, -105, 184, 184, 184, 184 + 186, -105, 186, -105, -105, -105, -105, -105, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 186, -105, -105, -105, 186, 186, 186, 186 }, { - 55, -106, 185, 185, 185, 185, -106, -106, -106, -106, - -106, -106, -106, -106, -106, 186, -106, -106, -106, -106, + 55, -106, 187, 187, 187, 187, -106, -106, -106, -106, + -106, -106, -106, -106, -106, 188, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106 }, { 55, -107, -107, -107, -107, -107, -107, -107, -107, -107, - 187, -107, 187, 187, -107, -107, -107, -107, 187, 187, + 189, -107, 189, 189, -107, -107, -107, -107, 189, 189, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, -107, -107, -107, 187, 187, 187, 187 + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, -107, -107, -107, 189, 189, 189, 189 }, { - 55, -108, 188, 188, 188, 188, -108, -108, -108, -108, + 55, -108, 190, 190, 190, 190, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108 }, { - 55, 189, 189, 190, 191, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189 + 55, 191, 191, 192, 193, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191 }, { - 55, -110, 192, 192, 192, 192, -110, -110, -110, -110, - -110, -110, -110, -110, -110, 186, -110, -110, -110, -110, + 55, -110, 194, 194, 194, 194, -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 }, { 55, -111, -111, -111, -111, -111, -111, -111, -111, -111, - 193, -111, 193, -111, -111, -111, -111, -111, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, -111, -111, -111, 193, 193, 193, 193 + 195, -111, 195, -111, -111, -111, -111, -111, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, -111, -111, -111, 195, 195, 195, 195 }, { - 55, 194, -112, -112, -112, -112, 194, -112, -112, 194, - 194, 194, 194, 194, 194, 194, -112, 194, 194, 194, + 55, 196, -112, -112, -112, -112, 196, -112, -112, 196, + 196, 196, 196, 196, 196, 196, -112, 196, 196, 196, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194 + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196 }, { - 55, -113, 195, 195, 195, 195, -113, -113, -113, -113, + 55, -113, 197, 197, 197, 197, -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 @@ -1289,22 +1289,22 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 194, -117, -117, -117, -117, 194, 196, -117, 194, - 194, 194, 194, 194, 194, 194, -117, 194, 194, 194, + 55, 196, -117, -117, -117, -117, 196, 198, -117, 196, + 196, 196, 196, 196, 196, 196, -117, 196, 196, 196, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194 + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196 }, { - 55, 197, -118, -118, -118, -118, 197, -118, 197, 197, - 197, 197, 197, 197, 197, 197, -118, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197 + 55, 199, -118, -118, -118, -118, 199, -118, 199, 199, + 199, 199, 199, 199, 199, 199, -118, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199 }, { - 55, -119, 198, 198, 198, 198, -119, -119, -119, -119, + 55, -119, 200, 200, 200, 200, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119 @@ -1319,10 +1319,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 197, -121, -121, -121, -121, 197, -121, 197, 197, - 197, 197, 197, 197, 197, 197, 199, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197 + 55, 199, -121, -121, -121, -121, 199, -121, 199, 199, + 199, 199, 199, 199, 199, 199, 201, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199 }, { @@ -1334,10 +1334,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 200, 200, 200, 200, 200, 200, 200, -123, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, -123, 200, 200, 200, 200, 200 + 55, 202, 202, 202, 202, 202, 202, 202, -123, 202, + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 202, -123, 202, 202, 202, 202, 202 }, { @@ -1349,10 +1349,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 201, 201, 202, 203, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201 + 55, 203, 203, 204, 205, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203 }, { @@ -1363,11 +1363,11 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 204, 204, 204, 204, 204, 204, -127, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 55, 206, 206, 206, 206, 206, 206, -127, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, - 204, 204, -127, 204, 204, 204, 204, 204 + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, -127, 206, 206, 206, 206, 206 }, { @@ -1378,10 +1378,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 205, 205, 202, 206, 205, 205, 207, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205 + 55, 207, 207, 204, 208, 207, 207, 209, 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 }, @@ -1408,25 +1408,25 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 208, 209, 209, 209, 209, 208, 208, 208, 208, - 208, 135, 210, 208, 208, 208, 208, 208, 138, 138, + 55, 210, 211, 211, 211, 211, 210, 210, 210, 210, + 210, 135, 212, 210, 210, 210, 210, 210, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 208, 208, 208, 208, 138, 138, 138 + 138, 210, 210, 210, 210, 138, 138, 138 }, { - 55, 211, 211, 211, 211, 212, 211, 211, 211, 211, - 213, 211, 211, 211, 211, 211, 214, 211, 211, 211, - 211, 215, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 216, 211, 211, 211, 211, 215, 211 + 55, 213, 213, 213, 213, 214, 213, 213, 213, 213, + 215, 213, 213, 213, 213, 213, 216, 213, 213, 213, + 213, 217, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 218, 213, 213, 213, 213, 217, 213 }, { - 55, -135, 217, 217, 217, 217, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, -135, -135, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, -135, -135, -135, -135, 218, 218, 218 + 55, -135, 219, 219, 219, 219, -135, -135, -135, -135, + -135, -135, -135, -135, -135, -135, -135, -135, 220, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, + 220, -135, -135, -135, -135, 220, 220, 220 }, { @@ -1497,17 +1497,17 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 219, 219, 219, 219, 220, 219, 219, 219, 219, - 221, 219, 219, 219, 219, 219, 222, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219 + 55, 221, 221, 221, 221, 222, 221, 221, 221, 221, + 223, 221, 221, 221, 221, 221, 224, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221 }, { - 55, 219, 219, 219, 219, 223, 219, 219, 219, 219, - 221, 219, 219, 219, 219, 219, -146, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219 + 55, 221, 221, 221, 221, 225, 221, 221, 221, 221, + 223, 221, 221, 221, 221, 221, -146, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221 }, { @@ -1563,10 +1563,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 225, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224 + 55, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 227, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226 }, @@ -1593,84 +1593,84 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 158, -158, -158, -158, -158, 158, 158, 158, 158, - 158, 158, 158, 158, -158, 158, -158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158 + 55, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158 }, { - 55, -159, 159, 159, 159, 159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, 160, -159, -159, -159, + 55, -159, -159, -159, -159, -159, -159, -159, -159, -159, + -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, -159 }, { - 55, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, -160, -160, -160, -160, -160 + 55, 160, -160, -160, -160, -160, 160, 160, 160, 160, + 160, 160, 160, 160, -160, 160, -160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160 }, { 55, -161, 161, 161, 161, 161, -161, -161, -161, -161, - -161, 162, -161, -161, -161, -161, -161, -161, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, -161, -161, -161, -161, 163, 163, 163 + -161, -161, -161, -161, -161, -161, 162, -161, -161, -161, + -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, + -161, -161, -161, -161, -161, -161, -161, -161 }, { - 55, -162, 226, 226, 226, 226, -162, -162, -162, -162, - -162, -162, -162, -162, -162, -162, -162, -162, 227, 227, + 55, -162, -162, -162, -162, -162, -162, -162, -162, -162, + -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, -162, -162, -162, -162, 227, 227, 227 + -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, + -162, -162, -162, -162, -162, -162, -162, -162 }, { - 55, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163 + 55, -163, 163, 163, 163, 163, -163, -163, -163, -163, + -163, 164, -163, -163, -163, -163, -163, -163, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, -163, -163, -163, -163, 165, 165, 165 }, { - 55, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, -164, 164, -164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164 - - }, - - { - 55, -165, 165, 165, 165, 165, -165, -165, -165, -165, - -165, 166, -165, -165, -165, -165, -165, -165, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, -165, -165, -165, -165, 167, 167, 167 - }, - - { - 55, -166, 228, 228, 228, 228, -166, -166, -166, -166, - -166, -166, -166, -166, -166, -166, -166, -166, 229, 229, + 55, -164, 228, 228, 228, 228, -164, -164, -164, -164, + -164, -164, -164, -164, -164, -164, -164, -164, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, -166, -166, -166, -166, 229, 229, 229 + 229, -164, -164, -164, -164, 229, 229, 229 + }, { - 55, -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 + 55, -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 }, { - 55, 168, 168, 168, 168, 168, 168, -168, -168, 168, - 168, -168, 168, 168, -168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168 + 55, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, -166, 166, -166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166 + }, + + { + 55, -167, 167, 167, 167, 167, -167, -167, -167, -167, + -167, 168, -167, -167, -167, -167, -167, -167, 169, 169, + + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, -167, -167, -167, -167, 169, 169, 169 + }, + + { + 55, -168, 230, 230, 230, 230, -168, -168, -168, -168, + -168, -168, -168, -168, -168, -168, -168, -168, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, -168, -168, -168, -168, 231, 231, 231 }, { @@ -1682,10 +1682,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170 + 55, 170, 170, 170, 170, 170, 170, -170, -170, 170, + 170, -170, 170, 170, -170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170 }, { @@ -1704,52 +1704,52 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 230, 231, 231, 231, 231, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 232, 230, - 230, 230, 230, 230, 230, 230, 230, 230 + 55, -173, -173, -173, -173, -173, -173, -173, -173, -173, + -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, + -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, + -173, -173, -173, -173, -173, -173, -173, -173 }, { - 55, 174, 174, 174, 174, 174, 174, 174, -174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, -174, 174, 174, 174, 174, 174 + 55, -174, -174, -174, -174, -174, -174, -174, -174, -174, + -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, + -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, + -174, -174, -174, -174, -174, -174, -174, -174 }, { - 55, 175, 175, 175, 175, 175, 175, -175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, -175, 175, 175, 175, 175, 175 + 55, 232, 233, 233, 233, 233, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 234, 232, + 232, 232, 232, 232, 232, 232, 232, 232 }, { - 55, 176, 176, -176, -176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, -176, 176, 176, 176, 176, 176, + 55, 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 }, { - 55, 177, 177, 177, 177, 177, 177, 177, 177, -177, + 55, 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 }, { - 55, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178 + 55, 178, 178, -178, -178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, -178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178 }, { - 55, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, -179, 179, 179, 179, 179, 179, + 55, 179, 179, 179, 179, 179, 179, 179, 179, -179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179 @@ -1763,10 +1763,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 233, 234, 234, 234, 234, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 235, 233, - 233, 233, 233, 233, 233, 233, 233, 233 + 55, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, -181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181 }, { @@ -1778,44 +1778,44 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183 + 55, 235, 236, 236, 236, 236, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 237, 235, + 235, 235, 235, 235, 235, 235, 235, 235 }, { 55, -184, -184, -184, -184, -184, -184, -184, -184, -184, - 184, -184, 184, -184, -184, -184, -184, -184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, -184, -184, -184, 184, 184, 184, 184 + -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, + -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, + -184, -184, -184, -184, -184, -184, -184, -184 }, { - 55, -185, 185, 185, 185, 185, -185, -185, -185, -185, - -185, -185, -185, -185, -185, 186, -185, -185, -185, -185, + 55, -185, -185, -185, -185, -185, -185, -185, -185, -185, + -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185 }, { - 55, -186, 188, 188, 188, 188, -186, -186, -186, -186, - -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, - -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, - -186, -186, -186, -186, -186, -186, -186, -186 + 55, -186, -186, -186, -186, -186, -186, -186, -186, -186, + 186, -186, 186, -186, -186, -186, -186, -186, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 186, -186, -186, -186, 186, 186, 186, 186 }, { - 55, -187, -187, -187, -187, -187, -187, -187, -187, -187, - 187, -187, 187, 187, -187, -187, -187, -187, 187, 187, + 55, -187, 187, 187, 187, 187, -187, -187, -187, -187, + -187, -187, -187, -187, -187, 188, -187, -187, -187, -187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, -187, -187, -187, 187, 187, 187, 187 + -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, + -187, -187, -187, -187, -187, -187, -187, -187 }, { - 55, -188, 188, 188, 188, 188, -188, -188, -188, -188, + 55, -188, 190, 190, 190, 190, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188 @@ -1823,91 +1823,91 @@ static yyconst flex_int32_t yy_nxt[][38] = { 55, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189 + 189, -189, 189, 189, -189, -189, -189, -189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, -189, -189, -189, 189, 189, 189, 189 }, { - 55, -190, -190, -190, -190, -190, -190, -190, -190, -190, + 55, -190, 190, 190, 190, 190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190 }, { - 55, 189, 189, 190, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189 + 55, -191, -191, -191, -191, -191, -191, -191, -191, -191, + -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, + -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, + -191, -191, -191, -191, -191, -191, -191, -191 }, { - 55, -192, 192, 192, 192, 192, -192, -192, -192, -192, - -192, -192, -192, -192, -192, 186, -192, -192, -192, -192, + 55, -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 }, { - 55, -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 + 55, 191, 191, 192, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191 }, { - 55, 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 + 55, -194, 194, 194, 194, 194, -194, -194, -194, -194, + -194, -194, -194, -194, -194, 188, -194, -194, -194, -194, + -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, + -194, -194, -194, -194, -194, -194, -194, -194 }, { - 55, -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 + 55, -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 }, { - 55, -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 + 55, 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 }, { - 55, 197, -197, -197, -197, -197, 197, -197, 197, 197, - 197, 197, 197, 197, 197, 197, -197, 197, 197, 197, + 55, -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, -197, -197, -197 }, { - 55, -198, 198, 198, 198, 198, -198, -198, -198, -198, + 55, -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 }, { - 55, -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 + 55, 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 }, { - 55, 200, 200, 200, 200, 200, 200, 200, -200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, -200, 200, 200, 200, 200, 200 + 55, -200, 200, 200, 200, 200, -200, -200, -200, -200, + -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, + -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, + -200, -200, -200, -200, -200, -200, -200, -200 }, { @@ -1918,40 +1918,40 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -202, -202, -202, -202, -202, -202, -202, -202, -202, - -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, + 55, 202, 202, 202, 202, 202, 202, 202, -202, 202, + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, - -202, -202, -202, -202, -202, -202, -202, -202 + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 202, -202, 202, 202, 202, 202, 202 }, { - 55, 201, 201, 202, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201 + 55, -203, -203, -203, -203, -203, -203, -203, -203, -203, + -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, + -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, + -203, -203, -203, -203, -203, -203, -203, -203 }, { - 55, 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 + 55, -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 }, { - 55, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205 + 55, 203, 203, 204, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203 }, { - 55, 205, 205, 202, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205 + 55, 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 }, { @@ -1963,17 +1963,17 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -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 + 55, 207, 207, 204, 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 }, { - 55, 208, 209, 209, 209, 209, 208, 208, 208, 208, - 208, 135, 210, 208, 208, 208, 208, 208, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 208, 208, 208, 208, 138, 138, 138 + 55, -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 }, @@ -1985,77 +1985,77 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -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 + 55, 210, 211, 211, 211, 211, 210, 210, 210, 210, + 210, 135, 212, 210, 210, 210, 210, 210, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 210, 210, 210, 210, 138, 138, 138 }, { - 55, 236, 236, 236, 236, 237, 236, 236, 236, 236, - 238, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 55, -212, -212, -212, -212, -212, -212, -212, -212, -212, + -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236 + -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, + -212, -212, -212, -212, -212, -212, -212, -212 }, { - 55, -213, -213, -213, -213, 239, -213, -213, -213, -213, - 240, -213, -213, -213, -213, -213, -213, -213, -213, -213, + 55, -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 }, { - 55, -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 + 55, 238, 238, 238, 238, 239, 238, 238, 238, 238, + 240, 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 }, { - 55, -215, -215, -215, -215, -215, -215, -215, -215, -215, + 55, -215, -215, -215, -215, 241, -215, -215, -215, -215, + 242, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, - -215, -215, -215, -215, -215, 241, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, -215 }, { 55, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, - 242, -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 }, { - 55, -217, 217, 217, 217, 217, -217, -217, -217, -217, - -217, -217, -217, -217, -217, -217, -217, -217, 218, 218, + 55, -217, -217, -217, -217, -217, -217, -217, -217, -217, + -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, -217, -217, -217, -217, 218, 218, 218 + -217, -217, -217, -217, -217, 243, -217, -217, -217, -217, + -217, -217, -217, -217, -217, -217, -217, -217 }, { 55, -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, + 244, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, -218 }, { - 55, -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 + 55, -219, 219, 219, 219, 219, -219, -219, -219, -219, + -219, -219, -219, -219, -219, -219, -219, -219, 220, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, + 220, -219, -219, -219, -219, 220, 220, 220 }, { - 55, 243, 243, 243, 243, 220, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 244, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243 + 55, -220, -220, -220, -220, -220, -220, -220, -220, -220, + -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, + -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, + -220, -220, -220, -220, -220, -220, -220, -220 }, { @@ -2066,18 +2066,18 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -222, -222, -222, -222, -222, -222, -222, -222, -222, - -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, + 55, 245, 245, 245, 245, 222, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 246, 245, 245, 245, - -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, - -222, -222, -222, -222, -222, -222, -222, -222 + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245 }, { - 55, 243, 243, 243, 243, 223, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, -223, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243 + 55, -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 }, { @@ -2089,17 +2089,17 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, -225, -225, -225, -225 + 55, 245, 245, 245, 245, 225, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, -225, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245 }, { - 55, -226, 226, 226, 226, 226, -226, -226, -226, -226, - -226, -226, -226, -226, -226, -226, -226, -226, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, -226, -226, -226, -226, 227, 227, 227 + 55, -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 }, { @@ -2126,82 +2126,82 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -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 + 55, -230, 230, 230, 230, 230, -230, -230, -230, -230, + -230, -230, -230, -230, -230, -230, -230, -230, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, -230, -230, -230, -230, 231, 231, 231 }, { - 55, 230, 231, 231, 231, 231, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 232, 230, - 230, 230, 230, 230, 230, 230, 230, 230 + 55, -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 }, { - 55, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 55, -232, -232, -232, -232, -232, -232, -232, -232, -232, + -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, - 246, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 246, 245, 245 + -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, + -232, -232, -232, -232, -232, -232, -232, -232 }, { - 55, -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 - }, - - { - 55, 233, 234, 234, 234, 234, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 235, 233, - 233, 233, 233, 233, 233, 233, 233, 233 - + 55, 232, 233, 233, 233, 233, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 234, 232, + 232, 232, 232, 232, 232, 232, 232, 232 }, { 55, 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, 248, - 247, 247, 247, 247, 247, 247, 247, 248 + 248, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 248, 247, 247 + }, { - 55, -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 + 55, -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 }, { - 55, 236, 236, 236, 236, 237, 236, 236, 236, 236, - 238, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 55, 235, 236, 236, 236, 236, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 237, 235, + 235, 235, 235, 235, 235, 235, 235, 235 + }, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236 + { + 55, 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, 250, + 249, 249, 249, 249, 249, 249, 249, 250 }, { 55, -238, -238, -238, -238, -238, -238, -238, -238, -238, - 249, -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, -238 }, { - 55, -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 + 55, 238, 238, 238, 238, 239, 238, 238, 238, 238, + 240, 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 }, { 55, -240, -240, -240, -240, -240, -240, -240, -240, -240, - -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, + 251, -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 }, @@ -2209,29 +2209,29 @@ static yyconst flex_int32_t yy_nxt[][38] = { 55, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, - 250, -241, -241, -241, -241, -241, -241, -241, -241, -241, - -241, -241, -241, -241, -241, 250, -241, -241 + -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, + -241, -241, -241, -241, -241, -241, -241, -241 }, { 55, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, - -242, 251, -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 }, { 55, -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 + 252, -243, -243, -243, -243, -243, -243, -243, -243, -243, + -243, -243, -243, -243, -243, 252, -243, -243 }, { 55, -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, 253, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, -244 }, @@ -2244,10 +2244,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 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, 253, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252 + 55, -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 }, { @@ -2261,8 +2261,8 @@ static yyconst flex_int32_t yy_nxt[][38] = { 55, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 255, 254, 254, 254, 254, 254, 254, 254 + 254, 254, 254, 254, 254, 254, 254, 255, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254 }, { @@ -2274,15 +2274,15 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -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, 256, - -250, -250, -250, -250, -250, -250, -250, 256 + 55, 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, + 257, 256, 256, 256, 256, 256, 256, 256 }, { 55, -251, -251, -251, -251, -251, -251, -251, -251, -251, - -251, -251, -251, -251, -251, -251, -251, -251, 257, -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 }, @@ -2291,15 +2291,15 @@ static yyconst flex_int32_t yy_nxt[][38] = 55, -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, 258, + -252, -252, -252, -252, -252, -252, -252, 258 }, { - 55, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 259, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258 + 55, -253, -253, -253, -253, -253, -253, -253, -253, -253, + -253, -253, -253, -253, -253, -253, -253, -253, 259, -253, + -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, + -253, -253, -253, -253, -253, -253, -253, -253 }, { @@ -2313,7 +2313,7 @@ static yyconst flex_int32_t yy_nxt[][38] = { 55, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 261, 260, 260, 260, 260, 260, + 260, 260, 260, 261, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260 }, @@ -2321,29 +2321,29 @@ static yyconst flex_int32_t yy_nxt[][38] = 55, -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, - 262, -256, -256, -256, -256, -256, -256, -256 + -256, -256, -256, -256, -256, -256, -256, -256 }, { - 55, -257, -257, -257, -257, -257, -257, -257, -257, -257, - -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, + 55, 262, 262, 262, 262, 262, 262, 262, 262, 262, + 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - -257, -257, -257, -257, -257, -257, -257, -257, -257, 263, - -257, -257, -257, -257, -257, -257, -257, -257 + 262, 262, 262, 262, 263, 262, 262, 262, 262, 262, + 262, 262, 262, 262, 262, 262, 262, 262 }, { 55, -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 + 264, -258, -258, -258, -258, -258, -258, -258 }, { - 55, 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, 265, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264 + 55, -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, 265, + -259, -259, -259, -259, -259, -259, -259, -259 }, @@ -2357,7 +2357,7 @@ static yyconst flex_int32_t yy_nxt[][38] = { 55, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 267, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 267, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266 }, @@ -2365,30 +2365,30 @@ static yyconst flex_int32_t yy_nxt[][38] = 55, -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, 268, -262, -262, -262, + -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, -262 }, { - 55, -263, -263, -263, -263, -263, -263, -263, -263, -263, - -263, -263, -263, -263, -263, -263, -263, -263, 269, -263, - -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, - -263, -263, -263, -263, -263, -263, -263, -263 + 55, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 269, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268 }, { 55, -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, 270, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, -264 }, { - 55, 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, 271, - 270, 270, 270, 270, 270, 270, 270, 271 + 55, -265, -265, -265, -265, -265, -265, -265, -265, -265, + -265, -265, -265, -265, -265, -265, -265, -265, 271, -265, + -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, + -265, -265, -265, -265, -265, -265, -265, -265 }, { @@ -2399,40 +2399,40 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 272, 273, 273, 273, 273, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 274, 272, 272, 272, - + 55, 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, 273, + 272, 272, 272, 272, 272, 272, 272, 273 }, { 55, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, - -268, -268, 275, -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 }, { - 55, -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, 276, -269, -269, -269, -269, -269, -269 + 55, 274, 275, 275, 275, 275, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 276, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274 }, { 55, -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, 277, -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, -270 }, { - 55, 277, 278, 278, 278, 278, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 279, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277 + 55, -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, 278, -271, -271, -271, -271, -271, -271 }, { @@ -2444,10 +2444,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 272, 273, 273, 273, 273, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 274, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272 + 55, 279, 280, 280, 280, 280, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 281, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279 }, { @@ -2459,10 +2459,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, -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, -275 + 55, 274, 275, 275, 275, 275, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 276, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274 }, { @@ -2481,10 +2481,10 @@ static yyconst flex_int32_t yy_nxt[][38] = }, { - 55, 277, 278, 278, 278, 278, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 279, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277 + 55, -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 }, { @@ -2495,6 +2495,20 @@ static yyconst flex_int32_t yy_nxt[][38] = }, + { + 55, 279, 280, 280, 280, 280, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 281, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279 + }, + + { + 55, -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 + }, + } ; /* %if-c-only Standard (non-C++) definition */ @@ -2519,8 +2533,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); yyg->yy_c_buf_p = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 132 -#define YY_END_OF_BUFFER 133 +#define YY_NUM_RULES 133 +#define YY_END_OF_BUFFER 134 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -2528,38 +2542,39 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int32_t yy_accept[280] = +static yyconst flex_int32_t yy_accept[282] = { 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, 0, 0, 0, 133, 127, 131, 29, 32, 33, + 0, 0, 0, 0, 134, 128, 132, 29, 32, 33, 12, 13, 13, 16, 18, 21, 20, 24, 27, 35, - 36, 40, 39, 38, 116, 120, 121, 117, 123, 126, - 122, 42, 44, 43, 56, 56, 58, 59, 57, 60, - 62, 63, 61, 64, 65, 66, 67, 68, 68, 71, + 36, 41, 41, 38, 117, 121, 122, 118, 124, 127, + 123, 43, 45, 44, 57, 57, 59, 60, 58, 61, + 63, 64, 62, 65, 66, 67, 68, 69, 69, 72, - 79, 92, 83, 84, 80, 89, 85, 90, 88, 92, - 91, 96, 98, 94, 95, 97, 96, 99, 103, 102, - 99, 100, 107, 106, 105, 108, 113, 109, 112, 114, - 127, 128, 0, 0, 0, 34, 28, 34, 29, 31, + 80, 93, 84, 85, 81, 90, 86, 91, 89, 93, + 92, 97, 99, 95, 96, 98, 97, 100, 104, 103, + 100, 101, 108, 107, 106, 109, 114, 110, 113, 115, + 128, 129, 0, 0, 0, 34, 28, 34, 29, 31, 30, 0, 12, 9, 0, 0, 7, 16, 17, 15, - 21, 24, 25, 0, 35, 36, 37, 116, 120, 117, - 0, 0, 119, 123, 0, 0, 125, 42, 47, 46, - 45, 48, 0, 58, 62, 65, 68, 69, 71, 72, - 0, 82, 81, 80, 89, 90, 85, 90, 87, 86, - 87, 0, 91, 96, 98, 93, 99, 103, 101, 107, + 21, 24, 25, 0, 35, 36, 37, 40, 39, 117, + 121, 118, 0, 0, 120, 124, 0, 0, 126, 43, + 48, 47, 46, 49, 0, 59, 63, 66, 69, 70, + 72, 73, 0, 83, 82, 81, 90, 91, 86, 91, + 88, 87, 88, 0, 92, 97, 99, 94, 100, 104, - 104, 111, 104, 113, 110, 110, 109, 129, 129, 34, - 130, 0, 0, 1, 0, 0, 0, 115, 10, 0, - 8, 5, 0, 26, 23, 0, 118, 0, 124, 49, - 0, 0, 73, 0, 0, 14, 14, 0, 4, 2, - 0, 0, 11, 6, 50, 0, 74, 0, 3, 0, - 0, 51, 0, 75, 0, 0, 0, 52, 0, 76, - 0, 0, 0, 53, 0, 77, 0, 0, 0, 54, - 0, 78, 0, 70, 19, 22, 55, 0, 41 + 102, 108, 105, 112, 105, 114, 111, 111, 110, 130, + 130, 34, 131, 0, 0, 1, 0, 0, 0, 116, + 10, 0, 8, 5, 0, 26, 23, 0, 119, 0, + 125, 50, 0, 0, 74, 0, 0, 14, 14, 0, + 4, 2, 0, 0, 11, 6, 51, 0, 75, 0, + 3, 0, 0, 52, 0, 76, 0, 0, 0, 53, + 0, 77, 0, 0, 0, 54, 0, 78, 0, 0, + 0, 55, 0, 79, 0, 71, 19, 22, 56, 0, + 42 } ; static yyconst flex_int32_t yy_ec[256] = @@ -2594,23 +2609,23 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_rule_linenum[132] = +static yyconst flex_int32_t yy_rule_linenum[133] = { 0, 235, 242, 247, 252, 257, 264, 271, 278, 283, 288, 293, 298, 303, 308, 313, 320, 325, 330, 336, 341, 348, 354, 359, 367, 372, 377, 382, 387, 392, 397, - 405, 410, 417, 423, 429, 436, 444, 462, 481, 499, - 504, 511, 516, 522, 528, 534, 540, 546, 551, 556, - 561, 566, 571, 576, 581, 586, 590, 596, 601, 607, - 613, 619, 624, 630, 636, 641, 647, 651, 656, 663, - 670, 676, 681, 686, 691, 696, 701, 706, 711, 716, - 722, 730, 734, 738, 746, 751, 756, 761, 765, 770, - 778, 790, 795, 801, 806, 811, 817, 832, 836, 841, + 405, 410, 417, 423, 429, 436, 444, 462, 481, 500, + 518, 523, 530, 535, 541, 547, 553, 559, 565, 570, + 575, 580, 585, 590, 595, 600, 605, 609, 615, 620, + 626, 632, 638, 643, 649, 655, 660, 666, 670, 675, + 682, 689, 695, 700, 705, 710, 715, 720, 725, 730, + 735, 741, 749, 753, 757, 765, 770, 775, 780, 784, + 789, 797, 809, 814, 820, 825, 830, 836, 851, 855, - 856, 871, 884, 897, 903, 907, 920, 926, 932, 945, - 951, 955, 959, 964, 972, 977, 982, 990, 998, 1007, - 1013, 1017, 1025, 1029, 1037, 1046, 1050, 1057, 1064, 1070, - 1077 + 860, 875, 890, 903, 916, 922, 926, 939, 945, 951, + 964, 970, 974, 978, 983, 991, 996, 1001, 1009, 1017, + 1026, 1032, 1036, 1044, 1048, 1056, 1065, 1069, 1076, 1083, + 1089, 1096 } ; /* The intent behind this definition is that it'll catch @@ -2826,7 +2841,7 @@ void yyfree (void* ptr, void* yyscanner) { /* regular expression definitions used below */ -#line 2829 "htmllex.c" +#line 2844 "htmllex.c" #define INITIAL 0 #define S_PI 1 @@ -3141,7 +3156,7 @@ YY_DECL /*********************** EOF ************************/ -#line 3144 "htmllex.c" +#line 3159 "htmllex.c" yylval = yylval_param; @@ -3223,13 +3238,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 132 ) + else if ( yy_act < 133 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 132 ) + else if ( yy_act == 133 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 133 ) + else if ( yy_act == 134 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -3680,6 +3695,32 @@ YY_RULE_SETUP case 39: YY_RULE_SETUP #line 481 "htmllex.l" +{ + /* Abort parsing this start tag and begin an endtag. Assume + the last "<" was a stray unquoted character. */ + char* tmp = NULL; + UPDATE_COLUMN; + BEGIN(S_TAGEND); + /* Add missing "<" at beginning of buffer. */ + RESIZE_BUF(tmp, strlen(yyextra->tmp_buf)+2); + tmp[0] = '<'; + tmp[1] = '\0'; + strlcat(tmp, yyextra->tmp_buf, sizeof(tmp)); + RESIZE_BUF(yyextra->tmp_buf, strlen(tmp)+1); + yyextra->tmp_buf[0] = '\0'; + strlcat(yyextra->tmp_buf, tmp, sizeof(yyextra->tmp_buf)); + free(tmp); + SETLVAL_UNICODE; + RETURN(T_TEXT); +} + YY_BREAK +case 40: +/* rule 40 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +yyg->yy_c_buf_p = yy_cp = yy_bp + 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 500 "htmllex.l" { /* Abort parsing this start tag and begin a new one. Assume the last "<" was a stray unquoted character. */ @@ -3698,19 +3739,19 @@ YY_RULE_SETUP RETURN(T_TEXT); } YY_BREAK -case 40: -/* rule 40 can match eol */ +case 41: +/* rule 41 can match eol */ YY_RULE_SETUP -#line 499 "htmllex.l" +#line 518 "htmllex.l" { return T_WAIT; } YY_BREAK /*********************** SCRIPT ************************/ -case 41: -/* rule 41 can match eol */ +case 42: +/* rule 42 can match eol */ YY_RULE_SETUP -#line 504 "htmllex.l" +#line 523 "htmllex.l" { UPDATE_LINE; SETLVAL_UNICODE; @@ -3718,80 +3759,68 @@ YY_RULE_SETUP RETURN(T_SCRIPT); } YY_BREAK -case 42: -/* rule 42 can match eol */ +case 43: +/* rule 43 can match eol */ YY_RULE_SETUP -#line 511 "htmllex.l" +#line 530 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); } YY_BREAK -case 43: +case 44: YY_RULE_SETUP -#line 516 "htmllex.l" +#line 535 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_APOS); } YY_BREAK -case 44: +case 45: YY_RULE_SETUP -#line 522 "htmllex.l" +#line 541 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_STRING); } YY_BREAK -case 45: +case 46: YY_RULE_SETUP -#line 528 "htmllex.l" +#line 547 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_COMMENT); } YY_BREAK -case 46: +case 47: YY_RULE_SETUP -#line 534 "htmllex.l" +#line 553 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_MCOMMENT); } YY_BREAK -case 47: -/* rule 47 can match eol */ +case 48: +/* rule 48 can match eol */ YY_RULE_SETUP -#line 540 "htmllex.l" +#line 559 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); } YY_BREAK /* ensure any prefix of is matched, but not itself */ -case 48: -/* rule 48 can match eol */ +case 49: +/* rule 49 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 546 "htmllex.l" -{ - UPDATE_LINE; - APPEND_TO_TMP(yyleng); -} - YY_BREAK -case 49: -/* rule 49 can match eol */ -*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ -yyg->yy_c_buf_p = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 551 "htmllex.l" +#line 565 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -3803,7 +3832,7 @@ case 50: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 556 "htmllex.l" +#line 570 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -3815,7 +3844,7 @@ case 51: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 561 "htmllex.l" +#line 575 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -3827,7 +3856,7 @@ case 52: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 566 "htmllex.l" +#line 580 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -3839,7 +3868,7 @@ case 53: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 571 "htmllex.l" +#line 585 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -3851,7 +3880,7 @@ case 54: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 576 "htmllex.l" +#line 590 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -3863,7 +3892,7 @@ case 55: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 581 "htmllex.l" +#line 595 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -3871,144 +3900,126 @@ YY_RULE_SETUP YY_BREAK case 56: /* rule 56 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +yyg->yy_c_buf_p = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 586 "htmllex.l" +#line 600 "htmllex.l" +{ + UPDATE_LINE; + APPEND_TO_TMP(yyleng); +} + YY_BREAK +case 57: +/* rule 57 can match eol */ +YY_RULE_SETUP +#line 605 "htmllex.l" { return T_WAIT; } YY_BREAK -case 57: +case 58: YY_RULE_SETUP -#line 590 "htmllex.l" +#line 609 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_APOS_ESC); } YY_BREAK -case 58: -/* rule 58 can match eol */ +case 59: +/* rule 59 can match eol */ YY_RULE_SETUP -#line 596 "htmllex.l" +#line 615 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); } YY_BREAK -case 59: +case 60: YY_RULE_SETUP -#line 601 "htmllex.l" +#line 620 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT); } YY_BREAK -case 60: -/* rule 60 can match eol */ +case 61: +/* rule 61 can match eol */ YY_RULE_SETUP -#line 607 "htmllex.l" +#line 626 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_APOS); } YY_BREAK -case 61: +case 62: YY_RULE_SETUP -#line 613 "htmllex.l" +#line 632 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_STRING_ESC); } YY_BREAK -case 62: -/* rule 62 can match eol */ +case 63: +/* rule 63 can match eol */ YY_RULE_SETUP -#line 619 "htmllex.l" +#line 638 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); } YY_BREAK -case 63: +case 64: YY_RULE_SETUP -#line 624 "htmllex.l" +#line 643 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT); } YY_BREAK -case 64: -/* rule 64 can match eol */ +case 65: +/* rule 65 can match eol */ YY_RULE_SETUP -#line 630 "htmllex.l" +#line 649 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); BEGIN(S_SCRIPT_STRING); } YY_BREAK -case 65: -YY_RULE_SETUP -#line 636 "htmllex.l" -{ - UPDATE_LINE; - APPEND_TO_TMP(yyleng); -} - YY_BREAK case 66: -/* rule 66 can match eol */ YY_RULE_SETUP -#line 641 "htmllex.l" +#line 655 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); - BEGIN(S_SCRIPT); } YY_BREAK case 67: /* rule 67 can match eol */ YY_RULE_SETUP -#line 647 "htmllex.l" +#line 660 "htmllex.l" { - return T_WAIT; + UPDATE_LINE; + APPEND_TO_TMP(yyleng); + BEGIN(S_SCRIPT); } YY_BREAK case 68: /* rule 68 can match eol */ YY_RULE_SETUP -#line 651 "htmllex.l" +#line 666 "htmllex.l" { - UPDATE_LINE; - APPEND_TO_TMP(yyleng); + return T_WAIT; } YY_BREAK case 69: -YY_RULE_SETUP -#line 656 "htmllex.l" -{ - UPDATE_COLUMN; - APPEND_TO_TMP(yyleng); - BEGIN(S_SCRIPT); -} - YY_BREAK -/*********************** STYLE ************************/ -case 70: -/* rule 70 can match eol */ -YY_RULE_SETUP -#line 663 "htmllex.l" -{ - UPDATE_LINE; - SETLVAL_UNICODE; - BEGIN(INITIAL); - RETURN(T_STYLE); -} - YY_BREAK -case 71: -/* rule 71 can match eol */ +/* rule 69 can match eol */ YY_RULE_SETUP #line 670 "htmllex.l" { @@ -4016,26 +4027,44 @@ YY_RULE_SETUP APPEND_TO_TMP(yyleng); } YY_BREAK -/* this is so shitty */ +case 70: +YY_RULE_SETUP +#line 675 "htmllex.l" +{ + UPDATE_COLUMN; + APPEND_TO_TMP(yyleng); + BEGIN(S_SCRIPT); +} + YY_BREAK +/*********************** STYLE ************************/ +case 71: +/* rule 71 can match eol */ +YY_RULE_SETUP +#line 682 "htmllex.l" +{ + UPDATE_LINE; + SETLVAL_UNICODE; + BEGIN(INITIAL); + RETURN(T_STYLE); +} + YY_BREAK case 72: /* rule 72 can match eol */ -*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ -yyg->yy_c_buf_p = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 676 "htmllex.l" +#line 689 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); } YY_BREAK +/* this is so shitty */ case 73: /* rule 73 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ -yyg->yy_c_buf_p = yy_cp -= 1; +yyg->yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 681 "htmllex.l" +#line 695 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4047,7 +4076,7 @@ case 74: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 686 "htmllex.l" +#line 700 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4059,7 +4088,7 @@ case 75: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 691 "htmllex.l" +#line 705 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4071,7 +4100,7 @@ case 76: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 696 "htmllex.l" +#line 710 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4083,7 +4112,7 @@ case 77: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 701 "htmllex.l" +#line 715 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4095,7 +4124,7 @@ case 78: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 706 "htmllex.l" +#line 720 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4103,25 +4132,37 @@ YY_RULE_SETUP YY_BREAK case 79: /* rule 79 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +yyg->yy_c_buf_p = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 711 "htmllex.l" +#line 725 "htmllex.l" +{ + UPDATE_LINE; + APPEND_TO_TMP(yyleng); +} + YY_BREAK +case 80: +/* rule 80 can match eol */ +YY_RULE_SETUP +#line 730 "htmllex.l" { return T_WAIT; } YY_BREAK /*********************** ATTRS ************************/ -case 80: +case 81: YY_RULE_SETUP -#line 716 "htmllex.l" +#line 735 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_ATTR2); } YY_BREAK -case 81: +case 82: YY_RULE_SETUP -#line 722 "htmllex.l" +#line 741 "htmllex.l" { UPDATE_COLUMN; FLUSH_ATTRS; @@ -4130,24 +4171,24 @@ YY_RULE_SETUP RETURN(T_ELEMENT_START_END); } YY_BREAK -case 82: -/* rule 82 can match eol */ +case 83: +/* rule 83 can match eol */ YY_RULE_SETUP -#line 730 "htmllex.l" +#line 749 "htmllex.l" { UPDATE_LINE; } YY_BREAK -case 83: +case 84: YY_RULE_SETUP -#line 734 "htmllex.l" +#line 753 "htmllex.l" { return T_WAIT; } YY_BREAK -case 84: +case 85: YY_RULE_SETUP -#line 738 "htmllex.l" +#line 757 "htmllex.l" { UPDATE_COLUMN; FLUSH_ATTRS; @@ -4156,51 +4197,51 @@ YY_RULE_SETUP RETURN(T_ELEMENT_START); } YY_BREAK -case 85: +case 86: YY_RULE_SETUP -#line 746 "htmllex.l" +#line 765 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); } YY_BREAK -case 86: -/* rule 86 can match eol */ +case 87: +/* rule 87 can match eol */ YY_RULE_SETUP -#line 751 "htmllex.l" +#line 770 "htmllex.l" { /* Line continuations */ UPDATE_LINE; } YY_BREAK -case 87: +case 88: YY_RULE_SETUP -#line 756 "htmllex.l" +#line 775 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); } YY_BREAK -case 88: +case 89: YY_RULE_SETUP -#line 761 "htmllex.l" +#line 780 "htmllex.l" { return T_WAIT; } YY_BREAK -case 89: -/* rule 89 can match eol */ -YY_RULE_SETUP -#line 765 "htmllex.l" -{ - UPDATE_LINE; - BEGIN(S_ATTR3); -} - YY_BREAK case 90: /* rule 90 can match eol */ YY_RULE_SETUP -#line 770 "htmllex.l" +#line 784 "htmllex.l" +{ + UPDATE_LINE; + BEGIN(S_ATTR3); +} + YY_BREAK +case 91: +/* rule 91 can match eol */ +YY_RULE_SETUP +#line 789 "htmllex.l" { UPDATE_LINE; LOWER_TMP; @@ -4209,9 +4250,9 @@ YY_RULE_SETUP BEGIN(S_ATTR4); } YY_BREAK -case 91: +case 92: YY_RULE_SETUP -#line 778 "htmllex.l" +#line 797 "htmllex.l" { UPDATE_COLUMN; LOWER_TMP; @@ -4224,52 +4265,52 @@ YY_RULE_SETUP BEGIN(S_ATTR2); } YY_BREAK -case 92: -/* rule 92 can match eol */ +case 93: +/* rule 93 can match eol */ YY_RULE_SETUP -#line 790 "htmllex.l" +#line 809 "htmllex.l" { /* this also skips whitespace! */ UPDATE_LINE; } YY_BREAK -case 93: +case 94: YY_RULE_SETUP -#line 795 "htmllex.l" +#line 814 "htmllex.l" { /* backslash escapes seen at freshmeat.net */ UPDATE_COLUMN; BEGIN(S_STRING); } YY_BREAK -case 94: +case 95: YY_RULE_SETUP -#line 801 "htmllex.l" +#line 820 "htmllex.l" { UPDATE_COLUMN; BEGIN(S_STRING); } YY_BREAK -case 95: +case 96: YY_RULE_SETUP -#line 806 "htmllex.l" +#line 825 "htmllex.l" { UPDATE_COLUMN; BEGIN(S_APOSSTRING); } YY_BREAK -case 96: +case 97: YY_RULE_SETUP -#line 811 "htmllex.l" +#line 830 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_ATTR5); } YY_BREAK -case 97: +case 98: YY_RULE_SETUP -#line 817 "htmllex.l" +#line 836 "htmllex.l" { UPDATE_COLUMN; PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); @@ -4285,25 +4326,25 @@ YY_RULE_SETUP RETURN(T_ELEMENT_START); } YY_BREAK -case 98: -/* rule 98 can match eol */ +case 99: +/* rule 99 can match eol */ YY_RULE_SETUP -#line 832 "htmllex.l" +#line 851 "htmllex.l" { UPDATE_LINE; } YY_BREAK -case 99: +case 100: YY_RULE_SETUP -#line 836 "htmllex.l" +#line 855 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); } YY_BREAK -case 100: +case 101: YY_RULE_SETUP -#line 841 "htmllex.l" +#line 860 "htmllex.l" { UPDATE_COLUMN; PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); @@ -4319,9 +4360,9 @@ YY_RULE_SETUP RETURN(T_ELEMENT_START); } YY_BREAK -case 101: +case 102: YY_RULE_SETUP -#line 856 "htmllex.l" +#line 875 "htmllex.l" { UPDATE_COLUMN; PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); @@ -4337,9 +4378,9 @@ YY_RULE_SETUP RETURN(T_ELEMENT_START_END); } YY_BREAK -case 102: +case 103: YY_RULE_SETUP -#line 871 "htmllex.l" +#line 890 "htmllex.l" { UPDATE_COLUMN; PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); @@ -4353,45 +4394,45 @@ YY_RULE_SETUP BEGIN(S_ATTR1); } YY_BREAK -case 103: -/* rule 103 can match eol */ -YY_RULE_SETUP -#line 884 "htmllex.l" -{ - UPDATE_LINE; - PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); - RESIZE_BUF(yyextra->tmp_buf, 1); - CHECK_NULL(yyextra->tmp_attrval = PyObject_CallFunction(yyextra->resolve_entities, - "O", yyextra->tmp_attrval)); - CHECK_MINUSONE(PyObject_SetItem(yyextra->tmp_attrs, yyextra->tmp_attrname, - yyextra->tmp_attrval)); - Py_CLEAR(yyextra->tmp_attrname); - Py_CLEAR(yyextra->tmp_attrval); - BEGIN(S_ATTR1); -} - YY_BREAK case 104: +/* rule 104 can match eol */ +YY_RULE_SETUP +#line 903 "htmllex.l" +{ + UPDATE_LINE; + PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); + RESIZE_BUF(yyextra->tmp_buf, 1); + CHECK_NULL(yyextra->tmp_attrval = PyObject_CallFunction(yyextra->resolve_entities, + "O", yyextra->tmp_attrval)); + CHECK_MINUSONE(PyObject_SetItem(yyextra->tmp_attrs, yyextra->tmp_attrname, + yyextra->tmp_attrval)); + Py_CLEAR(yyextra->tmp_attrname); + Py_CLEAR(yyextra->tmp_attrval); + BEGIN(S_ATTR1); +} + YY_BREAK +case 105: *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 897 "htmllex.l" +#line 916 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_APOSSTRING_ESC); } YY_BREAK -case 105: +case 106: YY_RULE_SETUP -#line 903 "htmllex.l" +#line 922 "htmllex.l" { return T_WAIT; } YY_BREAK -case 106: +case 107: YY_RULE_SETUP -#line 907 "htmllex.l" +#line 926 "htmllex.l" { UPDATE_COLUMN; PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); @@ -4405,28 +4446,28 @@ YY_RULE_SETUP BEGIN(S_ATTR1); } YY_BREAK -case 107: -/* rule 107 can match eol */ +case 108: +/* rule 108 can match eol */ YY_RULE_SETUP -#line 920 "htmllex.l" +#line 939 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); } YY_BREAK -case 108: -/* rule 108 can match eol */ +case 109: +/* rule 109 can match eol */ YY_RULE_SETUP -#line 926 "htmllex.l" +#line 945 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); BEGIN(S_APOSSTRING); } YY_BREAK -case 109: +case 110: YY_RULE_SETUP -#line 932 "htmllex.l" +#line 951 "htmllex.l" { UPDATE_COLUMN; PYSTRING_TMP_UNICODE(yyextra->tmp_attrval); @@ -4440,46 +4481,46 @@ YY_RULE_SETUP BEGIN(S_ATTR1); } YY_BREAK -case 110: +case 111: *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 945 "htmllex.l" +#line 964 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); BEGIN(S_STRING_ESC); } YY_BREAK -case 111: -/* rule 111 can match eol */ +case 112: +/* rule 112 can match eol */ YY_RULE_SETUP -#line 951 "htmllex.l" +#line 970 "htmllex.l" { UPDATE_LINE; } YY_BREAK -case 112: -YY_RULE_SETUP -#line 955 "htmllex.l" -{ - return T_WAIT; -} - YY_BREAK case 113: -/* rule 113 can match eol */ YY_RULE_SETUP -#line 959 "htmllex.l" +#line 974 "htmllex.l" { - UPDATE_LINE; - APPEND_TO_TMP(yyleng); + return T_WAIT; } YY_BREAK case 114: /* rule 114 can match eol */ YY_RULE_SETUP -#line 964 "htmllex.l" +#line 978 "htmllex.l" +{ + UPDATE_LINE; + APPEND_TO_TMP(yyleng); +} + YY_BREAK +case 115: +/* rule 115 can match eol */ +YY_RULE_SETUP +#line 983 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4487,30 +4528,30 @@ YY_RULE_SETUP } YY_BREAK /*********************** TAGEND ************************/ -case 115: -/* rule 115 can match eol */ +case 116: +/* rule 116 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 972 "htmllex.l" +#line 991 "htmllex.l" { UPDATE_LINE; BEGIN(S_TAGEND); } YY_BREAK -case 116: +case 117: YY_RULE_SETUP -#line 977 "htmllex.l" +#line 996 "htmllex.l" { UPDATE_COLUMN; APPEND_TO_TMP(yyleng); } YY_BREAK -case 117: -/* rule 117 can match eol */ +case 118: +/* rule 118 can match eol */ YY_RULE_SETUP -#line 982 "htmllex.l" +#line 1001 "htmllex.l" { UPDATE_LINE; LOWER_TMP; @@ -4519,81 +4560,13 @@ YY_RULE_SETUP RETURN(T_ELEMENT_END); } YY_BREAK -case 118: -/* rule 118 can match eol */ -*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ -yyg->yy_c_buf_p = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 990 "htmllex.l" -{ - UPDATE_LINE; - LOWER_TMP; - SETLVAL_ASCII; - BEGIN(S_TAGEND); - RETURN(T_ELEMENT_END); -} - YY_BREAK case 119: /* rule 119 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 998 "htmllex.l" -{ - UPDATE_LINE; - LOWER_TMP; - SETLVAL_ASCII; - CHECK_NULL(yyextra->tmp_attrs = PyObject_CallObject(yyextra->list_dict, NULL)); - BEGIN(S_TAGSTART); - RETURN(T_ELEMENT_END); -} - YY_BREAK -case 120: -/* rule 120 can match eol */ -YY_RULE_SETUP -#line 1007 "htmllex.l" -{ - UPDATE_LINE; - /* ignore any trailing garbage of this end tag */ - BEGIN(S_TAGEND2); -} - YY_BREAK -case 121: -/* rule 121 can match eol */ -YY_RULE_SETUP -#line 1013 "htmllex.l" -{ - return T_WAIT; -} - YY_BREAK -case 122: -YY_RULE_SETUP -#line 1017 "htmllex.l" -{ - UPDATE_COLUMN; - LOWER_TMP; - SETLVAL_ASCII; - BEGIN(INITIAL); - RETURN(T_ELEMENT_END); -} - YY_BREAK -case 123: -/* rule 123 can match eol */ -YY_RULE_SETUP -#line 1025 "htmllex.l" -{ - UPDATE_LINE; -} - YY_BREAK -case 124: -/* rule 124 can match eol */ -*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ -yyg->yy_c_buf_p = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 1029 "htmllex.l" +#line 1009 "htmllex.l" { UPDATE_LINE; LOWER_TMP; @@ -4602,13 +4575,13 @@ YY_RULE_SETUP RETURN(T_ELEMENT_END); } YY_BREAK -case 125: -/* rule 125 can match eol */ +case 120: +/* rule 120 can match eol */ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1037 "htmllex.l" +#line 1017 "htmllex.l" { UPDATE_LINE; LOWER_TMP; @@ -4618,19 +4591,87 @@ YY_RULE_SETUP RETURN(T_ELEMENT_END); } YY_BREAK +case 121: +/* rule 121 can match eol */ +YY_RULE_SETUP +#line 1026 "htmllex.l" +{ + UPDATE_LINE; + /* ignore any trailing garbage of this end tag */ + BEGIN(S_TAGEND2); +} + YY_BREAK +case 122: +/* rule 122 can match eol */ +YY_RULE_SETUP +#line 1032 "htmllex.l" +{ + return T_WAIT; +} + YY_BREAK +case 123: +YY_RULE_SETUP +#line 1036 "htmllex.l" +{ + UPDATE_COLUMN; + LOWER_TMP; + SETLVAL_ASCII; + BEGIN(INITIAL); + RETURN(T_ELEMENT_END); +} + YY_BREAK +case 124: +/* rule 124 can match eol */ +YY_RULE_SETUP +#line 1044 "htmllex.l" +{ + UPDATE_LINE; +} + YY_BREAK +case 125: +/* rule 125 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +yyg->yy_c_buf_p = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 1048 "htmllex.l" +{ + UPDATE_LINE; + LOWER_TMP; + SETLVAL_ASCII; + BEGIN(S_TAGEND); + RETURN(T_ELEMENT_END); +} + YY_BREAK case 126: /* rule 126 can match eol */ +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ +yyg->yy_c_buf_p = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1046 "htmllex.l" +#line 1056 "htmllex.l" +{ + UPDATE_LINE; + LOWER_TMP; + SETLVAL_ASCII; + CHECK_NULL(yyextra->tmp_attrs = PyObject_CallObject(yyextra->list_dict, NULL)); + BEGIN(S_TAGSTART); + RETURN(T_ELEMENT_END); +} + YY_BREAK +case 127: +/* rule 127 can match eol */ +YY_RULE_SETUP +#line 1065 "htmllex.l" { return T_WAIT; } YY_BREAK /*********************** TEXT ************************/ -case 127: -/* rule 127 can match eol */ +case 128: +/* rule 128 can match eol */ YY_RULE_SETUP -#line 1050 "htmllex.l" +#line 1069 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4638,22 +4679,11 @@ YY_RULE_SETUP RETURN(T_TEXT); } YY_BREAK -case 128: -YY_RULE_SETUP -#line 1057 "htmllex.l" -{ - UPDATE_COLUMN; - APPEND_TO_TMP(yyleng); - SETLVAL_UNICODE; - RETURN(T_TEXT); -} - YY_BREAK case 129: -/* rule 129 can match eol */ YY_RULE_SETUP -#line 1064 "htmllex.l" +#line 1076 "htmllex.l" { - UPDATE_LINE; + UPDATE_COLUMN; APPEND_TO_TMP(yyleng); SETLVAL_UNICODE; RETURN(T_TEXT); @@ -4662,7 +4692,7 @@ YY_RULE_SETUP case 130: /* rule 130 can match eol */ YY_RULE_SETUP -#line 1070 "htmllex.l" +#line 1083 "htmllex.l" { UPDATE_LINE; APPEND_TO_TMP(yyleng); @@ -4673,17 +4703,28 @@ YY_RULE_SETUP case 131: /* rule 131 can match eol */ YY_RULE_SETUP -#line 1077 "htmllex.l" +#line 1089 "htmllex.l" +{ + UPDATE_LINE; + APPEND_TO_TMP(yyleng); + SETLVAL_UNICODE; + RETURN(T_TEXT); +} + YY_BREAK +case 132: +/* rule 132 can match eol */ +YY_RULE_SETUP +#line 1096 "htmllex.l" { return T_WAIT; } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 1081 "htmllex.l" +#line 1100 "htmllex.l" ECHO; YY_BREAK -#line 4686 "htmllex.c" +#line 4727 "htmllex.c" case YY_END_OF_BUFFER: { @@ -5909,7 +5950,7 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) /* %ok-for-header */ -#line 1081 "htmllex.l" +#line 1100 "htmllex.l" diff --git a/linkcheck/HtmlParser/htmllex.l b/linkcheck/HtmlParser/htmllex.l index 79dc8f6a..5f0a3105 100644 --- a/linkcheck/HtmlParser/htmllex.l +++ b/linkcheck/HtmlParser/htmllex.l @@ -478,7 +478,26 @@ RX_DATA [-a-zA-Z0-9_:]+ RETURN(T_ELEMENT_START); } -< { +<\/ { + /* Abort parsing this start tag and begin an endtag. Assume + the last "<" was a stray unquoted character. */ + char* tmp = NULL; + UPDATE_COLUMN; + BEGIN(S_TAGEND); + /* Add missing "<" at beginning of buffer. */ + RESIZE_BUF(tmp, strlen(yyextra->tmp_buf)+2); + tmp[0] = '<'; + tmp[1] = '\0'; + strlcat(tmp, yyextra->tmp_buf, sizeof(tmp)); + RESIZE_BUF(yyextra->tmp_buf, strlen(tmp)+1); + yyextra->tmp_buf[0] = '\0'; + strlcat(yyextra->tmp_buf, tmp, sizeof(yyextra->tmp_buf)); + free(tmp); + SETLVAL_UNICODE; + RETURN(T_TEXT); +} + +""", """"""), # missing beginning quote ("""""", """"""), - # stray < before tag + # stray < before start tag ("""<0.""", """<0."""), + # stray < before end tag + ("""<0.""", """<0."""), # missing end quote (XXX TODO) #("""\n"""), #("""\na"""),