diff options
author | Karl Berry <karl@freefriends.org> | 2020-12-04 19:14:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-12-04 19:14:36 +0000 |
commit | d1cdc6d8b4b030b069aab8c3f79739338b46f88f (patch) | |
tree | 70606f4d80ffa4bc0f98470c2498a86b7bacab83 /Build | |
parent | 76666be3e94f5e20982c517b83b098906f4a9774 (diff) |
increase YY_BUF_SIZE to 110000 to avoid yannis.test (xyarabic.opl) buffer overflow
git-svn-id: svn://tug.org/texlive/trunk@57064 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r-- | Build/source/texk/web2c/omegafonts/ChangeLog | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/omegafonts/pl-lexer.c | 778 | ||||
-rw-r--r-- | Build/source/texk/web2c/omegafonts/pl-lexer.l | 15 |
3 files changed, 426 insertions, 373 deletions
diff --git a/Build/source/texk/web2c/omegafonts/ChangeLog b/Build/source/texk/web2c/omegafonts/ChangeLog index 15079c0fc34..c0c111637fb 100644 --- a/Build/source/texk/web2c/omegafonts/ChangeLog +++ b/Build/source/texk/web2c/omegafonts/ChangeLog @@ -1,3 +1,9 @@ +2020-12-04 Karl Berry <karl@freefriends.org> + + * pl-lexer.l (YY_BUF_SIZE): #define 110000, for the same + reason as the previous change. Two separate buffer overflows, + it seems. + 2020-11-21 Karl Berry <karl@tug.org> * pl-lexer.l (MAX_PTR): increase to 100000; the tests/xyarabic.opl diff --git a/Build/source/texk/web2c/omegafonts/pl-lexer.c b/Build/source/texk/web2c/omegafonts/pl-lexer.c index 3799538ec4c..f22924dbbf3 100644 --- a/Build/source/texk/web2c/omegafonts/pl-lexer.c +++ b/Build/source/texk/web2c/omegafonts/pl-lexer.c @@ -1,5 +1,5 @@ -#line 3 "../../../../texk/web2c/omegafonts/pl-lexer.c" +#line 3 "pl-lexer.c" #define YY_INT_ALIGNED short int @@ -403,95 +403,128 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[800] = +static yyconst flex_int16_t yy_acclist[265] = { 0, - 0, 0, 206, 204, 1, 2, 3, 4, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, - 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, - 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, 9, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 42, 0, 8, 8, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 0, 0, 0, 7, 0, 0, 31, 0, 44, - 102, 41, 0, 0, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 107, 0, 0, 0, 9, 9, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, - 46, 0, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 0, 178, 0, - - 0, 151, 0, 0, 0, 45, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 77, 78, 79, 0, 0, - 0, 0, 106, 75, 9, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 32, 0, 85, 86, 0, 82, 83, 84, - 0, 0, 181, 0, 0, 0, 0, 47, 49, 0, - 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 61, 67, 55, - 60, 66, 54, 63, 69, 57, 62, 68, 56, 59, - - 65, 53, 58, 64, 52, 0, 177, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 188, 187, 189, 0, 0, 186, 0, 0, 0, 0, - 0, 70, 71, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 37, 39, 0, 0, 0, 0, 0, 36, - 0, 175, 0, 0, 0, 0, 0, 0, 89, 90, - - 80, 81, 0, 0, 11, 0, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, - 0, 0, 0, 159, 24, 146, 0, 0, 0, 0, - 0, 0, 110, 148, 0, 0, 0, 182, 0, 0, - 0, 0, 0, 0, 0, 158, 157, 156, 0, 0, - 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, - 0, 0, 0, 12, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 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, - 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 104, 105, 0, 15, 72, 88, 87, 0, - 35, 74, 0, 183, 0, 0, 0, 0, 0, 0, - 170, 0, 0, 0, 0, 169, 20, 184, 0, 173, - 174, 0, 0, 0, 0, 14, 0, 0, 0, 0, - 0, 145, 0, 0, 13, 0, 144, 0, 164, 163, - 0, 0, 162, 0, 27, 0, 111, 109, 0, 0, - 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 185, 0, 0, 115, 0, 28, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 153, 0, 0, - 152, 114, 108, 154, 0, 0, 0, 29, 0, 0, - 0, 0, 0, 0, 0, 0, 201, 0, 0, 0, - 0, 0, 113, 91, 0, 0, 166, 165, 167, 0, - 176, 0, 0, 21, 0, 76, 0, 120, 122, 119, - 117, 123, 121, 116, 118, 141, 140, 142, 0, 161, - 0, 0, 34, 0, 0, 0, 0, 155, 0, 0, - - 194, 0, 0, 0, 199, 202, 197, 103, 0, 17, - 0, 0, 168, 0, 0, 22, 0, 143, 160, 0, - 136, 138, 135, 133, 139, 137, 132, 134, 0, 192, - 195, 190, 0, 0, 0, 0, 0, 25, 10, 0, - 99, 0, 0, 0, 0, 203, 0, 0, 0, 93, - 94, 95, 96, 97, 0, 0, 196, 0, 0, 200, - 198, 0, 0, 0, 193, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 128, 130, 127, - 125, 131, 129, 124, 126, 0, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 18, 19, 0 + 206, 204, 205, 1, 204, 205, 2, 205, 3, 204, + 205, 4, 204, 205, 204, 205, 204, 205, 204, 205, + 204, 205, 204, 205, 204, 205, 204, 205, 204, 205, + 204, 205, 204, 205, 204, 205, 204, 205, 204, 205, + 204, 205, 204, 205, 204, 205, 204, 205, 204, 205, + 204, 205, 204, 205, 204, 205, 204, 205, 204, 205, + 1, 180, 9, 42, 8, 8, 6, 179, 7, 31, + 44, 102, 41, 5, 107, 9, 9, 43, 40, 46, + 171, 23, 178, 151, 45, 77, 78, 79, 106, 75, + 9, 150, 33, 32, 85, 86, 82, 83, 84, 181, + + 47, 49, 172, 61, 67, 55, 60, 66, 54, 63, + 69, 57, 62, 68, 56, 59, 65, 53, 58, 64, + 52, 177, 30, 48, 188, 187, 189, 186, 70, 71, + 50, 38, 37, 39, 36, 175, 89, 90, 80, 81, + 11, 100, 147, 159, 24, 146, 110, 148, 182, 158, + 157, 156, 73, 12, 51, 16, 98, 149, 104, 105, + 15, 72, 88, 87, 35, 74, 183, 170, 169, 20, + 184, 173, 174, 14, 145, 13, 144, 164, 163, 162, + 27, 111, 109, 112, 185, 115, 28, 26, 101, 153, + 152, 114, 108, 154, 29, 201, 113, 91, 166, 165, + + 167, 176, 21, 76, 120, 122, 119, 117, 123, 121, + 116, 118, 141, 140, 142, 161, 34, 155, 194, 199, + 202, 197, 103, 17, 168, 22, 143, 160, 136, 138, + 135, 133, 139, 137, 132, 134, 192, 195, 190, 25, + 10, 99, 203, 93, 94, 95, 96, 97, 196, 200, + 198, 193, 191, 128, 130, 127, 125, 131, 129, 124, + 126, 92, 18, 19 + } ; + +static yyconst flex_int16_t yy_accept[801] = + { 0, + 1, 1, 1, 2, 4, 7, 9, 12, 15, 17, + 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, + 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, + 59, 61, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 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, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 65, 65, 66, + + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, + 68, 69, 69, 69, 69, 70, 70, 70, 71, 71, + 72, 73, 74, 74, 74, 74, 74, 74, 74, 74, + 75, 75, 75, 75, 76, 76, 76, 76, 77, 78, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, + 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 83, 83, 84, + + 84, 84, 85, 85, 85, 85, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 87, 88, 89, 89, + 89, 89, 89, 90, 91, 92, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, + 94, 94, 94, 95, 95, 96, 97, 97, 98, 99, + 100, 100, 100, 101, 101, 101, 101, 101, 102, 103, + 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + + 117, 118, 119, 120, 121, 122, 122, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 124, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 126, 127, 128, 128, 128, 129, 129, 129, 129, + 129, 129, 130, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, + 133, 133, 133, 134, 135, 135, 135, 135, 135, 135, + 136, 136, 137, 137, 137, 137, 137, 137, 137, 138, + + 139, 140, 141, 141, 141, 142, 142, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 144, 144, + 144, 144, 144, 144, 145, 146, 147, 147, 147, 147, + 147, 147, 147, 148, 149, 149, 149, 149, 150, 150, + 150, 150, 150, 150, 150, 150, 151, 152, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 154, 154, 154, + 154, 154, 154, 154, 155, 155, 155, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 160, 161, 161, 162, 163, 164, 165, + 165, 166, 167, 167, 168, 168, 168, 168, 168, 168, + 168, 169, 169, 169, 169, 169, 170, 171, 172, 172, + 173, 174, 174, 174, 174, 174, 175, 175, 175, 175, + 175, 175, 176, 176, 176, 177, 177, 178, 178, 179, + 180, 180, 180, 181, 181, 182, 182, 183, 184, 184, + 184, 184, 184, 184, 185, 185, 185, 185, 185, 185, + + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 186, 186, 186, 187, 187, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 189, 189, + 189, 189, 189, 190, 190, 190, 190, 190, 191, 191, + 191, 192, 193, 194, 195, 195, 195, 195, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, + 197, 197, 197, 198, 199, 199, 199, 200, 201, 202, + 202, 203, 203, 203, 204, 204, 205, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 216, + 217, 217, 217, 218, 218, 218, 218, 218, 219, 219, + + 219, 220, 220, 220, 220, 221, 222, 223, 224, 224, + 225, 225, 225, 226, 226, 226, 227, 227, 228, 229, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 237, + 238, 239, 240, 240, 240, 240, 240, 240, 241, 242, + 242, 243, 243, 243, 243, 243, 244, 244, 244, 244, + 245, 246, 247, 248, 249, 249, 249, 250, 250, 250, + 251, 252, 252, 252, 252, 253, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 262, 262, 262, 262, + 262, 262, 262, 263, 263, 263, 263, 264, 265, 265 } ; @@ -939,16 +972,20 @@ static yyconst flex_int32_t yy_rule_can_match_eol[206] = 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, }; -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; - extern int yy_flex_debug; int yy_flex_debug = 0; -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected +static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; +static char *yy_full_match; +static int yy_lp; +#define REJECT \ +{ \ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \ +yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ +++(yy_lp); \ +goto find_rule; \ +} + #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET @@ -959,7 +996,7 @@ int yy_flex_debug = 0; char yytext[YYLMAX]; char *yytext_ptr; #line 1 "../../../../texk/web2c/omegafonts/pl-lexer.l" -#line 4 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 2 "../../../../texk/web2c/omegafonts/pl-lexer.l" /* pl-lexer.l: Lexical analysis of property list files. This file is part of Omega, @@ -984,6 +1021,19 @@ along with Omega; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +/* The xyarabic.opl test has an opl comment larger than 16k, which is + the default buffer size for flex defined in its preamble. This + results in an error like: +input buffer overflow, can't enlarge buffer because scanner uses REJECT + So we need to redefine YY_BUF_SIZE, which we do here. Unfortunately + it is not perfect, since the flex preamble code uses its own + YY_BUF_SIZE to #define YY_STATE_BUF_SIZE before our override takes + effect. Fortunately this is not causing an error. Apparently the + only way to truly override it would be on the command line, and that + seems like too much trouble when this works in practice. */ +#undef YY_BUF_SIZE +#define YY_BUF_SIZE 110000 + #include <kpathsea/lib.h> #include <kpathsea/c-memstr.h> #include "parser.h" @@ -1018,7 +1068,7 @@ static void scan_hex_string(void); /* For Solaris's lex, to increase tables sizes --RP */ /* Space before number keeps ancient flex happy. */ -#line 1022 "../../../../texk/web2c/omegafonts/pl-lexer.c" +#line 1072 "pl-lexer.c" #define INITIAL 0 @@ -1217,6 +1267,12 @@ YY_DECL YY_USER_INIT; #endif + /* Create the reject buffer large enough to save one state per allowed character. */ + if ( ! (yy_state_buf) ) + (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE ); + if ( ! (yy_state_buf) ) + YY_FATAL_ERROR( "out of dynamic memory in yylex()" ); + if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ @@ -1236,10 +1292,10 @@ YY_DECL } { -#line 75 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 86 "../../../../texk/web2c/omegafonts/pl-lexer.l" -#line 1243 "../../../../texk/web2c/omegafonts/pl-lexer.c" +#line 1299 "pl-lexer.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1254,15 +1310,14 @@ YY_DECL yy_bp = yy_cp; yy_current_state = (yy_start); + + (yy_state_ptr) = (yy_state_buf); + *(yy_state_ptr)++ = yy_current_state; + yy_match: do { YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; @@ -1270,14 +1325,29 @@ yy_match: yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + *(yy_state_ptr)++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 799 ); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); + while ( yy_base[yy_current_state] != 849 ); yy_find_action: - yy_act = yy_accept[yy_current_state]; + yy_current_state = *--(yy_state_ptr); + (yy_lp) = yy_accept[yy_current_state]; +find_rule: /* we branch to this label when backing up */ + for ( ; ; ) /* until we find what rule we matched */ + { + if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) + { + yy_act = yy_acclist[(yy_lp)]; + { + (yy_full_match) = yy_cp; + break; + } + } + --yy_cp; + yy_current_state = *--(yy_state_ptr); + (yy_lp) = yy_accept[yy_current_state]; + } YY_DO_BEFORE_ACTION; @@ -1295,1052 +1365,1045 @@ do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = (yy_hold_char); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - case 1: YY_RULE_SETUP -#line 77 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 88 "../../../../texk/web2c/omegafonts/pl-lexer.l" {} YY_BREAK case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 78 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 89 "../../../../texk/web2c/omegafonts/pl-lexer.l" {line_number++; } YY_BREAK case 3: YY_RULE_SETUP -#line 80 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 91 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(LEFT); YY_BREAK case 4: YY_RULE_SETUP -#line 81 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 92 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(RIGHT); YY_BREAK case 5: YY_RULE_SETUP -#line 83 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 94 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_int(8); return(NUMBER); } YY_BREAK case 6: YY_RULE_SETUP -#line 84 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 95 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_int(10); return(NUMBER); } YY_BREAK case 7: YY_RULE_SETUP -#line 85 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 96 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_int(16); return(NUMBER); } YY_BREAK case 8: YY_RULE_SETUP -#line 86 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 97 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_char(); return(NUMBER); } YY_BREAK case 9: YY_RULE_SETUP -#line 87 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 98 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_fix(); return(FIX); } YY_BREAK case 10: YY_RULE_SETUP -#line 89 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 100 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_string("CODINGSCHEME", KEEP_CONVERT, LEN_CODING_SCHEME); return(CODINGSCHEME); } YY_BREAK case 11: YY_RULE_SETUP -#line 91 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 102 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_string("FAMILY", KEEP_CONVERT, LEN_FAMILY); return(FAMILY); } YY_BREAK case 12: YY_RULE_SETUP -#line 93 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 104 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_string("VTITLE", KEEP_ALL, LEN_VTITLE); return(VTITLE); } YY_BREAK case 13: YY_RULE_SETUP -#line 95 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 106 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_string("FONTNAME", KEEP_ALL, LEN_FONT_NAME); return(FONTNAME); } YY_BREAK case 14: YY_RULE_SETUP -#line 97 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 108 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_string("FONTAREA", KEEP_ALL, LEN_FONT_AREA); return(FONTAREA); } YY_BREAK case 15: YY_RULE_SETUP -#line 99 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 110 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_string("SPECIAL", KEEP_ALL, 0); return(SPECIAL); } YY_BREAK case 16: YY_RULE_SETUP -#line 101 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 112 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_string("COMMENT", KEEP_NONE, 0); return(COMMENT); } YY_BREAK case 17: YY_RULE_SETUP -#line 104 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 115 "../../../../texk/web2c/omegafonts/pl-lexer.l" {scan_hex_string(); return(SPECIALHEX); } YY_BREAK case 18: YY_RULE_SETUP -#line 107 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 118 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint=1; return(SEVENBITSAFEFLAG); } YY_BREAK case 19: YY_RULE_SETUP -#line 108 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 119 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint=0; return(SEVENBITSAFEFLAG); } YY_BREAK case 20: YY_RULE_SETUP -#line 110 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 121 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHECKSUM); YY_BREAK case 21: YY_RULE_SETUP -#line 111 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 122 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(DESIGNSIZE); YY_BREAK case 22: YY_RULE_SETUP -#line 112 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 123 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(DESIGNUNITS); YY_BREAK case 23: YY_RULE_SETUP -#line 113 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 124 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FACE); YY_BREAK case 24: YY_RULE_SETUP -#line 114 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 125 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(HEADER); YY_BREAK case 25: YY_RULE_SETUP -#line 115 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 126 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(BOUNDARYCHAR); YY_BREAK case 26: YY_RULE_SETUP -#line 116 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 127 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FONTDIMEN); YY_BREAK case 27: YY_RULE_SETUP -#line 117 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 128 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(LIGTABLE); YY_BREAK case 28: YY_RULE_SETUP -#line 118 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 129 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARACTER); YY_BREAK case 29: YY_RULE_SETUP -#line 120 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 131 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(PARAMETER); YY_BREAK case 30: YY_RULE_SETUP -#line 121 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 132 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(LABEL); YY_BREAK case 31: YY_RULE_SETUP -#line 122 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 133 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(KRN); YY_BREAK case 32: YY_RULE_SETUP -#line 123 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 134 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(STOP); YY_BREAK case 33: YY_RULE_SETUP -#line 124 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 135 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(SKIP); YY_BREAK case 34: YY_RULE_SETUP -#line 125 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 136 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(NEXTLARGER); YY_BREAK case 35: YY_RULE_SETUP -#line 126 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 137 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(VARCHAR); YY_BREAK case 36: YY_RULE_SETUP -#line 128 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 139 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_WD; return(CHARMEASURE); } YY_BREAK case 37: YY_RULE_SETUP -#line 129 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 140 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_HT; return(CHARMEASURE); } YY_BREAK case 38: YY_RULE_SETUP -#line 130 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 141 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_DP; return(CHARMEASURE); } YY_BREAK case 39: YY_RULE_SETUP -#line 131 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 142 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_IC; return(CHARMEASURE); } YY_BREAK case 40: YY_RULE_SETUP -#line 133 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 144 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = E_TOP; return(EXTEN); } YY_BREAK case 41: YY_RULE_SETUP -#line 134 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 145 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = E_MID; return(EXTEN); } YY_BREAK case 42: YY_RULE_SETUP -#line 135 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 146 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = E_BOT; return(EXTEN); } YY_BREAK case 43: YY_RULE_SETUP -#line 136 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 147 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = E_REP; return(EXTEN); } YY_BREAK case 44: YY_RULE_SETUP -#line 138 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 149 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_0; return(LIG); } YY_BREAK case 45: YY_RULE_SETUP -#line 139 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 150 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_B; return(LIG); } YY_BREAK case 46: YY_RULE_SETUP -#line 140 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 151 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_A; return(LIG); } YY_BREAK case 47: YY_RULE_SETUP -#line 141 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 152 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_AB; return(LIG); } YY_BREAK case 48: YY_RULE_SETUP -#line 142 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 153 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_Bx; return(LIG); } YY_BREAK case 49: YY_RULE_SETUP -#line 143 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 154 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_Ax; return(LIG); } YY_BREAK case 50: YY_RULE_SETUP -#line 144 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 155 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_ABx; return(LIG); } YY_BREAK case 51: YY_RULE_SETUP -#line 145 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 156 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = L_ABxx; return(LIG); } YY_BREAK case 52: YY_RULE_SETUP -#line 147 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 158 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_MRR; return(NUMBER); } YY_BREAK case 53: YY_RULE_SETUP -#line 148 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 159 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_MIR; return(NUMBER); } YY_BREAK case 54: YY_RULE_SETUP -#line 149 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 160 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_BRR; return(NUMBER); } YY_BREAK case 55: YY_RULE_SETUP -#line 150 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 161 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_BIR; return(NUMBER); } YY_BREAK case 56: YY_RULE_SETUP -#line 151 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 162 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_LRR; return(NUMBER); } YY_BREAK case 57: YY_RULE_SETUP -#line 152 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 163 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_LIR; return(NUMBER); } YY_BREAK case 58: YY_RULE_SETUP -#line 153 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 164 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_MRC; return(NUMBER); } YY_BREAK case 59: YY_RULE_SETUP -#line 154 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 165 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_MIC; return(NUMBER); } YY_BREAK case 60: YY_RULE_SETUP -#line 155 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 166 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_BRC; return(NUMBER); } YY_BREAK case 61: YY_RULE_SETUP -#line 156 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 167 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_BIC; return(NUMBER); } YY_BREAK case 62: YY_RULE_SETUP -#line 157 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 168 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_LRC; return(NUMBER); } YY_BREAK case 63: YY_RULE_SETUP -#line 158 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 169 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_LIC; return(NUMBER); } YY_BREAK case 64: YY_RULE_SETUP -#line 159 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 170 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_MRE; return(NUMBER); } YY_BREAK case 65: YY_RULE_SETUP -#line 160 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 171 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_MIE; return(NUMBER); } YY_BREAK case 66: YY_RULE_SETUP -#line 161 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 172 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_BRE; return(NUMBER); } YY_BREAK case 67: YY_RULE_SETUP -#line 162 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 173 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_BIE; return(NUMBER); } YY_BREAK case 68: YY_RULE_SETUP -#line 163 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 174 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_LRE; return(NUMBER); } YY_BREAK case 69: YY_RULE_SETUP -#line 164 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 175 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = F_LIE; return(NUMBER); } YY_BREAK case 70: YY_RULE_SETUP -#line 166 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 177 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SLANT; return(NAMEDPARAMETER); } YY_BREAK case 71: YY_RULE_SETUP -#line 167 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 178 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SPACE; return(NAMEDPARAMETER); } YY_BREAK case 72: YY_RULE_SETUP -#line 168 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 179 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_STRETCH; return(NAMEDPARAMETER); } YY_BREAK case 73: YY_RULE_SETUP -#line 169 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 180 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SHRINK; return(NAMEDPARAMETER); } YY_BREAK case 74: YY_RULE_SETUP -#line 170 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 181 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_XHEIGHT; return(NAMEDPARAMETER); } YY_BREAK case 75: YY_RULE_SETUP -#line 171 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 182 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_QUAD; return(NAMEDPARAMETER); } YY_BREAK case 76: YY_RULE_SETUP -#line 172 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 183 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_EXTRASPACE; return(NAMEDPARAMETER); } YY_BREAK case 77: YY_RULE_SETUP -#line 173 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 184 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_NUM1; return(NAMEDPARAMETER); } YY_BREAK case 78: YY_RULE_SETUP -#line 174 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 185 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_NUM2; return(NAMEDPARAMETER); } YY_BREAK case 79: YY_RULE_SETUP -#line 175 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 186 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_NUM3; return(NAMEDPARAMETER); } YY_BREAK case 80: YY_RULE_SETUP -#line 176 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 187 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_DENOM1; return(NAMEDPARAMETER); } YY_BREAK case 81: YY_RULE_SETUP -#line 177 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 188 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_DENOM2; return(NAMEDPARAMETER); } YY_BREAK case 82: YY_RULE_SETUP -#line 178 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 189 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SUP1; return(NAMEDPARAMETER); } YY_BREAK case 83: YY_RULE_SETUP -#line 179 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 190 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SUP2; return(NAMEDPARAMETER); } YY_BREAK case 84: YY_RULE_SETUP -#line 180 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 191 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SUP3; return(NAMEDPARAMETER); } YY_BREAK case 85: YY_RULE_SETUP -#line 181 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 192 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SUB1; return(NAMEDPARAMETER); } YY_BREAK case 86: YY_RULE_SETUP -#line 182 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 193 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SUB2; return(NAMEDPARAMETER); } YY_BREAK case 87: YY_RULE_SETUP -#line 183 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 194 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SUPDROP; return(NAMEDPARAMETER); } YY_BREAK case 88: YY_RULE_SETUP -#line 184 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 195 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_SUBDROP; return(NAMEDPARAMETER); } YY_BREAK case 89: YY_RULE_SETUP -#line 185 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 196 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_DELIM1; return(NAMEDPARAMETER); } YY_BREAK case 90: YY_RULE_SETUP -#line 186 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 197 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_DELIM2; return(NAMEDPARAMETER); } YY_BREAK case 91: YY_RULE_SETUP -#line 187 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 198 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_AXISHEIGHT; return(NAMEDPARAMETER); } YY_BREAK case 92: YY_RULE_SETUP -#line 189 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 200 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_DEFAULTRULETHICKNESS; return(NAMEDPARAMETER); } YY_BREAK case 93: YY_RULE_SETUP -#line 191 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 202 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_BIGOPSPACING1; return(NAMEDPARAMETER); } YY_BREAK case 94: YY_RULE_SETUP -#line 192 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 203 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_BIGOPSPACING2; return(NAMEDPARAMETER); } YY_BREAK case 95: YY_RULE_SETUP -#line 193 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 204 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_BIGOPSPACING3; return(NAMEDPARAMETER); } YY_BREAK case 96: YY_RULE_SETUP -#line 194 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 205 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_BIGOPSPACING4; return(NAMEDPARAMETER); } YY_BREAK case 97: YY_RULE_SETUP -#line 195 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 206 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = P_BIGOPSPACING5; return(NAMEDPARAMETER); } YY_BREAK case 98: YY_RULE_SETUP -#line 197 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 208 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(MAPFONT); } YY_BREAK case 99: YY_RULE_SETUP -#line 198 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 209 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(FONTCHECKSUM); } YY_BREAK case 100: YY_RULE_SETUP -#line 199 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 210 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(FONTAT); } YY_BREAK case 101: YY_RULE_SETUP -#line 200 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 211 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(FONTDSIZE); } YY_BREAK case 102: YY_RULE_SETUP -#line 201 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 212 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(MAP); } YY_BREAK case 103: YY_RULE_SETUP -#line 202 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 213 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(SELECTFONT); } YY_BREAK case 104: YY_RULE_SETUP -#line 203 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 214 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(SETCHAR); } YY_BREAK case 105: YY_RULE_SETUP -#line 204 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 215 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(SETRULE); } YY_BREAK case 106: YY_RULE_SETUP -#line 205 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 216 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(PUSH); } YY_BREAK case 107: YY_RULE_SETUP -#line 206 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 217 "../../../../texk/web2c/omegafonts/pl-lexer.l" {return(POP); } YY_BREAK case 108: YY_RULE_SETUP -#line 208 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 219 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = M_RIGHT; return(MOVE); } YY_BREAK case 109: YY_RULE_SETUP -#line 209 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 220 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = M_LEFT; return(MOVE); } YY_BREAK case 110: YY_RULE_SETUP -#line 210 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 221 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = M_UP; return(MOVE); } YY_BREAK case 111: YY_RULE_SETUP -#line 211 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 222 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = M_DOWN; return(MOVE); } YY_BREAK case 112: YY_RULE_SETUP -#line 213 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 224 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(OFMLEVEL); YY_BREAK case 113: YY_RULE_SETUP -#line 214 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 225 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = ACC_TOP; return(ACCENT); } YY_BREAK case 114: YY_RULE_SETUP -#line 215 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 226 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = ACC_MID; return(ACCENT); } YY_BREAK case 115: YY_RULE_SETUP -#line 216 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 227 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = ACC_BOT; return(ACCENT); } YY_BREAK case 116: YY_RULE_SETUP -#line 218 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 229 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_TL; return(FONTDIR);} YY_BREAK case 117: YY_RULE_SETUP -#line 219 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 230 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_LT; return(FONTDIR);} YY_BREAK case 118: YY_RULE_SETUP -#line 220 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 231 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_TR; return(FONTDIR);} YY_BREAK case 119: YY_RULE_SETUP -#line 221 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 232 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_LB; return(FONTDIR);} YY_BREAK case 120: YY_RULE_SETUP -#line 222 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 233 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_BL; return(FONTDIR);} YY_BREAK case 121: YY_RULE_SETUP -#line 223 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 234 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_RT; return(FONTDIR);} YY_BREAK case 122: YY_RULE_SETUP -#line 224 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 235 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_BR; return(FONTDIR);} YY_BREAK case 123: YY_RULE_SETUP -#line 225 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 236 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_ORD+DIR_RB; return(FONTDIR);} YY_BREAK case 124: YY_RULE_SETUP -#line 226 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 237 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_TL; return(FONTDIR);} YY_BREAK case 125: YY_RULE_SETUP -#line 227 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 238 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_LT; return(FONTDIR);} YY_BREAK case 126: YY_RULE_SETUP -#line 228 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 239 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_TR; return(FONTDIR);} YY_BREAK case 127: YY_RULE_SETUP -#line 229 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 240 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_LB; return(FONTDIR);} YY_BREAK case 128: YY_RULE_SETUP -#line 230 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 241 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_BL; return(FONTDIR);} YY_BREAK case 129: YY_RULE_SETUP -#line 231 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 242 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_RT; return(FONTDIR);} YY_BREAK case 130: YY_RULE_SETUP -#line 232 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 243 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_BR; return(FONTDIR);} YY_BREAK case 131: YY_RULE_SETUP -#line 233 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 244 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_RB; return(FONTDIR);} YY_BREAK /* for compatibility with the omegaware versions */ case 132: YY_RULE_SETUP -#line 235 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 246 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_TL; return(FONTDIR);} YY_BREAK case 133: YY_RULE_SETUP -#line 236 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 247 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_LT; return(FONTDIR);} YY_BREAK case 134: YY_RULE_SETUP -#line 237 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 248 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_TR; return(FONTDIR);} YY_BREAK case 135: YY_RULE_SETUP -#line 238 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 249 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_LB; return(FONTDIR);} YY_BREAK case 136: YY_RULE_SETUP -#line 239 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 250 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_BL; return(FONTDIR);} YY_BREAK case 137: YY_RULE_SETUP -#line 240 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 251 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_RT; return(FONTDIR);} YY_BREAK case 138: YY_RULE_SETUP -#line 241 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 252 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_BR; return(FONTDIR);} YY_BREAK case 139: YY_RULE_SETUP -#line 242 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 253 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = DIR_NAT+DIR_RB; return(FONTDIR);} YY_BREAK case 140: YY_RULE_SETUP -#line 244 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 255 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FONTIVALUE); YY_BREAK case 141: YY_RULE_SETUP -#line 245 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 256 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FONTFVALUE); YY_BREAK case 142: YY_RULE_SETUP -#line 246 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 257 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FONTMVALUE); YY_BREAK case 143: YY_RULE_SETUP -#line 247 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 258 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FONTPENALTY); YY_BREAK case 144: YY_RULE_SETUP -#line 248 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 259 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FONTRULE); YY_BREAK case 145: YY_RULE_SETUP -#line 249 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 260 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FONTGLUE); YY_BREAK case 146: YY_RULE_SETUP -#line 251 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 262 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(IVALUE); YY_BREAK case 147: YY_RULE_SETUP -#line 252 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 263 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FVALUE); YY_BREAK case 148: YY_RULE_SETUP -#line 253 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 264 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(MVALUE); YY_BREAK case 149: YY_RULE_SETUP -#line 254 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 265 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(PENALTY); YY_BREAK case 150: YY_RULE_SETUP -#line 255 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 266 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(RULE); YY_BREAK case 151: YY_RULE_SETUP -#line 256 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 267 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(GLUE); YY_BREAK case 152: YY_RULE_SETUP -#line 258 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 269 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(IVALUEVAL); YY_BREAK case 153: YY_RULE_SETUP -#line 259 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 270 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(FVALUEVAL); YY_BREAK case 154: YY_RULE_SETUP -#line 260 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 271 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(MVALUEVAL); YY_BREAK case 155: YY_RULE_SETUP -#line 261 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 272 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(PENALTYVAL); YY_BREAK case 156: YY_RULE_SETUP -#line 263 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 274 "../../../../texk/web2c/omegafonts/pl-lexer.l" { yylval.yint = RULE_WD; return(RULEMEASURE); } YY_BREAK case 157: YY_RULE_SETUP -#line 264 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 275 "../../../../texk/web2c/omegafonts/pl-lexer.l" { yylval.yint = RULE_HT; return(RULEMEASURE); } YY_BREAK case 158: YY_RULE_SETUP -#line 265 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 276 "../../../../texk/web2c/omegafonts/pl-lexer.l" { yylval.yint = RULE_DP; return(RULEMEASURE); } YY_BREAK case 159: YY_RULE_SETUP -#line 267 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 278 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(GLUEWD); YY_BREAK case 160: YY_RULE_SETUP -#line 268 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 279 "../../../../texk/web2c/omegafonts/pl-lexer.l" { yylval.yint = GLUE_STRETCH; return(GLUESHRINKSTRETCH); } YY_BREAK case 161: YY_RULE_SETUP -#line 269 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 280 "../../../../texk/web2c/omegafonts/pl-lexer.l" { yylval.yint = GLUE_SHRINK; return(GLUESHRINKSTRETCH); } YY_BREAK case 162: YY_RULE_SETUP -#line 271 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 282 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(GLUETYPE); YY_BREAK case 163: YY_RULE_SETUP -#line 272 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 283 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(GLUERULE); YY_BREAK case 164: YY_RULE_SETUP -#line 273 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 284 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(GLUECHAR); YY_BREAK case 165: YY_RULE_SETUP -#line 275 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 286 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARIVALUE); YY_BREAK case 166: YY_RULE_SETUP -#line 276 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 287 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARFVALUE); YY_BREAK case 167: YY_RULE_SETUP -#line 277 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 288 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARMVALUE); YY_BREAK case 168: YY_RULE_SETUP -#line 278 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 289 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARPENALTY); YY_BREAK case 169: YY_RULE_SETUP -#line 279 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 290 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARRULE); YY_BREAK case 170: YY_RULE_SETUP -#line 280 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 291 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARGLUE); YY_BREAK case 171: YY_RULE_SETUP -#line 282 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 293 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CKRN); YY_BREAK case 172: YY_RULE_SETUP -#line 283 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 294 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CGLUE); YY_BREAK case 173: YY_RULE_SETUP -#line 284 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 295 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CPENALTY); YY_BREAK case 174: YY_RULE_SETUP -#line 285 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 296 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CPENGLUE); YY_BREAK case 175: YY_RULE_SETUP -#line 286 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 297 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CLABEL); YY_BREAK case 176: YY_RULE_SETUP -#line 288 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 299 "../../../../texk/web2c/omegafonts/pl-lexer.l" return(CHARREPEAT); YY_BREAK case 177: YY_RULE_SETUP -#line 291 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 302 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = O_FILLL; return(GLUEORDER); } YY_BREAK case 178: YY_RULE_SETUP -#line 292 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 303 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = O_FILL; return(GLUEORDER); } YY_BREAK case 179: YY_RULE_SETUP -#line 293 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 304 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = O_FIL; return(GLUEORDER); } YY_BREAK case 180: YY_RULE_SETUP -#line 294 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 305 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = O_FI; return(GLUEORDER); } YY_BREAK case 181: YY_RULE_SETUP -#line 295 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 306 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = O_UNIT; return(GLUEORDER); } YY_BREAK case 182: YY_RULE_SETUP -#line 297 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 308 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = K_NORMAL; return(GLUEKIND); } YY_BREAK case 183: YY_RULE_SETUP -#line 298 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 309 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = K_ALEADERS; return(GLUEKIND); } YY_BREAK case 184: YY_RULE_SETUP -#line 299 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 310 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = K_CLEADERS; return(GLUEKIND); } YY_BREAK case 185: YY_RULE_SETUP -#line 300 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 311 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = K_XLEADERS; return(GLUEKIND); } YY_BREAK case 186: YY_RULE_SETUP -#line 302 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 313 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_SECWD; return(CHARMEASURE); } YY_BREAK case 187: YY_RULE_SETUP -#line 303 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 314 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_SECHT; return(CHARMEASURE); } YY_BREAK case 188: YY_RULE_SETUP -#line 304 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 315 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_SECDP; return(CHARMEASURE); } YY_BREAK case 189: YY_RULE_SETUP -#line 305 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 316 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_SECIC; return(CHARMEASURE); } YY_BREAK case 190: YY_RULE_SETUP -#line 307 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 318 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_P_TOPAXIS; return(CHARMEASURE); } YY_BREAK case 191: YY_RULE_SETUP -#line 308 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 319 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_P_TOPAXISBIs; return(CHARMEASURE); } YY_BREAK case 192: YY_RULE_SETUP -#line 309 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 320 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_P_BOTAXIS; return(CHARMEASURE); } YY_BREAK case 193: YY_RULE_SETUP -#line 310 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 321 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_P_BOTAXISBIS; return(CHARMEASURE); } YY_BREAK case 194: YY_RULE_SETUP -#line 311 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 322 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_P_MIDHOR; return(CHARMEASURE); } YY_BREAK case 195: YY_RULE_SETUP -#line 312 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 323 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_P_MIDVERT; return(CHARMEASURE); } YY_BREAK case 196: YY_RULE_SETUP -#line 313 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 324 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_P_BASESLANT; return(CHARMEASURE); } YY_BREAK case 197: YY_RULE_SETUP -#line 315 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 326 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_S_TOPAXIS; return(CHARMEASURE); } YY_BREAK case 198: YY_RULE_SETUP -#line 316 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 327 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_S_TOPAXISBIs; return(CHARMEASURE); } YY_BREAK case 199: YY_RULE_SETUP -#line 317 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 328 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_S_BOTAXIS; return(CHARMEASURE); } YY_BREAK case 200: YY_RULE_SETUP -#line 318 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 329 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_S_BOTAXISBIS; return(CHARMEASURE); } YY_BREAK case 201: YY_RULE_SETUP -#line 319 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 330 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_S_MIDHOR; return(CHARMEASURE); } YY_BREAK case 202: YY_RULE_SETUP -#line 320 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 331 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_S_MIDVERT; return(CHARMEASURE); } YY_BREAK case 203: YY_RULE_SETUP -#line 321 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 332 "../../../../texk/web2c/omegafonts/pl-lexer.l" {yylval.yint = C_S_BASESLANT; return(CHARMEASURE); } YY_BREAK case 204: YY_RULE_SETUP -#line 323 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 334 "../../../../texk/web2c/omegafonts/pl-lexer.l" {lex_error_1("unexpected character (%x); ignored", yytext[0]);} YY_BREAK case 205: YY_RULE_SETUP -#line 325 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 336 "../../../../texk/web2c/omegafonts/pl-lexer.l" ECHO; YY_BREAK -#line 2342 "../../../../texk/web2c/omegafonts/pl-lexer.c" -case YY_STATE_EOF(INITIAL): - yyterminate(); +#line 2405 "pl-lexer.c" + case YY_STATE_EOF(INITIAL): + yyterminate(); case YY_END_OF_BUFFER: { @@ -2405,8 +2468,7 @@ case YY_STATE_EOF(INITIAL): else { - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); + yy_cp = (yy_c_buf_p); goto yy_find_action; } } @@ -2532,37 +2594,8 @@ static int yy_get_next_buffer (void) while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; - - int yy_c_buf_p_offset = - (int) ((yy_c_buf_p) - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - yy_size_t new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - - number_to_move - 1; + YY_FATAL_ERROR( +"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); } @@ -2621,14 +2654,12 @@ static int yy_get_next_buffer (void) yy_current_state = (yy_start); + (yy_state_ptr) = (yy_state_buf); + *(yy_state_ptr)++ = yy_current_state; + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; @@ -2636,6 +2667,7 @@ static int yy_get_next_buffer (void) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + *(yy_state_ptr)++ = yy_current_state; } return yy_current_state; @@ -2649,14 +2681,8 @@ static int yy_get_next_buffer (void) static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { int yy_is_jam; - char *yy_cp = (yy_c_buf_p); - + YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; @@ -2665,6 +2691,8 @@ static int yy_get_next_buffer (void) } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 799); + if ( ! yy_is_jam ) + *(yy_state_ptr)++ = yy_current_state; return yy_is_jam ? 0 : yy_current_state; } @@ -2926,7 +2954,7 @@ static void yy_load_buffer_state (void) b->yy_bs_column = 0; } - b->yy_is_interactive = 0; + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; errno = oerrno; } @@ -3265,6 +3293,11 @@ static int yy_init_globals (void) (yy_init) = 0; (yy_start) = 0; + (yy_state_buf) = 0; + (yy_state_ptr) = 0; + (yy_full_match) = 0; + (yy_lp) = 0; + /* Defined in main.c */ #ifdef YY_STDINIT yyin = stdin; @@ -3295,6 +3328,9 @@ int yylex_destroy (void) yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; + yyfree ( (yy_state_buf) ); + (yy_state_buf) = NULL; + /* Reset the globals. This is important in a non-reentrant scanner so the next time * yylex() is called, initialization will occur. */ yy_init_globals( ); @@ -3352,7 +3388,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 325 "../../../../texk/web2c/omegafonts/pl-lexer.l" +#line 336 "../../../../texk/web2c/omegafonts/pl-lexer.l" diff --git a/Build/source/texk/web2c/omegafonts/pl-lexer.l b/Build/source/texk/web2c/omegafonts/pl-lexer.l index a4ba3bd67b9..cc5f4f40250 100644 --- a/Build/source/texk/web2c/omegafonts/pl-lexer.l +++ b/Build/source/texk/web2c/omegafonts/pl-lexer.l @@ -1,5 +1,3 @@ -%option never-interactive - %{ /* pl-lexer.l: Lexical analysis of property list files. @@ -25,6 +23,19 @@ along with Omega; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +/* The xyarabic.opl test has an opl comment larger than 16k, which is + the default buffer size for flex defined in its preamble. This + results in an error like: +input buffer overflow, can't enlarge buffer because scanner uses REJECT + So we need to redefine YY_BUF_SIZE, which we do here. Unfortunately + it is not perfect, since the flex preamble code uses its own + YY_BUF_SIZE to #define YY_STATE_BUF_SIZE before our override takes + effect. Fortunately this is not causing an error. Apparently the + only way to truly override it would be on the command line, and that + seems like too much trouble when this works in practice. */ +#undef YY_BUF_SIZE +#define YY_BUF_SIZE 110000 + #include <kpathsea/lib.h> #include <kpathsea/c-memstr.h> #include "parser.h" |