diff options
Diffstat (limited to 'Build/source/texk/web2c/hitexdir/hiparser.c')
-rw-r--r-- | Build/source/texk/web2c/hitexdir/hiparser.c | 3123 |
1 files changed, 1600 insertions, 1523 deletions
diff --git a/Build/source/texk/web2c/hitexdir/hiparser.c b/Build/source/texk/web2c/hitexdir/hiparser.c index bd18ec32c92..75fa0a92ab5 100644 --- a/Build/source/texk/web2c/hitexdir/hiparser.c +++ b/Build/source/texk/web2c/hitexdir/hiparser.c @@ -69,7 +69,7 @@ /* First part of user prologue. */ #line 2 "parser.y" - #line 10780 "format.w" + #line 11081 "format.w" #include "hibasetypes.h" #include <string.h> @@ -79,9 +79,9 @@ #include "hiput.h" extern char**hfont_name; - /*366:*/ + /*375:*/ uint32_t definition_bits[0x100/32][32]= { - #line 8078 "format.w" + #line 8284 "format.w" {0}}; #define SET_DBIT(N,K) ((N)>0xFF?1:(definition_bits[N/32][K] |= (1<<((N)&(32-1))))) @@ -91,52 +91,52 @@ uint32_t definition_bits[0x100/32][32]= { RNG("Definition",(D).n,max_fixed[(D).k]+1,max_ref[(D).k]); #define REF(K,N) REF_RNG(K,N);if(!GET_DBIT(N,K)) \ QUIT("Reference %d to %s before definition",(N),definition_name[K]) - /*:366*/ /*370:*/ + /*:375*/ /*379:*/ #define DEF_REF(D,K,M,N) DEF(D,K,M);\ if ((int)(M)>max_default[K]) QUIT("Defining non default reference %d for %s",M,definition_name[K]); \ if ((int)(N)>max_fixed[K]) QUIT("Defining reference %d for %s by non fixed reference %d",M,definition_name[K],N); - /*:370*/ + /*:379*/ extern void hset_entry(Entry*e,uint16_t i,uint32_t size, uint32_t xsize,char*file_name); - /*433:*/ + /*445:*/ #ifdef DEBUG #define YYDEBUG 1 extern int yydebug; #else #define YYDEBUG 0 #endif - /*:433*/ + /*:445*/ extern int yylex(void); - /*362:*/ + /*371:*/ void hset_max(Kind k,int n) { - #line 7921 "format.w" + #line 8126 "format.w" DBG(DBGDEF,"Setting max %s to %d\n",definition_name[k],n); RNG("Maximum",n,max_fixed[k]+1,MAX_REF(k)); if(n>max_ref[k]) max_ref[k]= n; } - /*:362*/ /*373:*/ + /*:371*/ /*382:*/ void check_param_def(Ref*df) { - #line 8227 "format.w" + #line 8437 "format.w" if(df->k!=int_kind&&df->k!=dimen_kind&&df->k!=glue_kind) QUIT("Kind %s not allowed in parameter list",definition_name[df->k]); if(df->n<=max_fixed[df->k]||max_default[df->k]<df->n) QUIT("Parameter %d for %s not allowed in parameter list",df->n,definition_name[df->k]); } - /*:373*/ /*432:*/ + /*:382*/ /*444:*/ extern int yylineno; int yyerror(const char*msg) { - #line 9351 "format.w" + #line 9577 "format.w" QUIT(" in line %d %s",yylineno,msg); return 0; } - /*:432*/ + /*:444*/ @@ -241,130 +241,136 @@ enum yysymbol_kind_t YYSYMBOL_MID = 70, /* "mid" */ YYSYMBOL_LINK = 71, /* "link" */ YYSYMBOL_OUTLINE = 72, /* "outline" */ - YYSYMBOL_STREAM = 73, /* "stream" */ - YYSYMBOL_STREAMDEF = 74, /* "stream (definition)" */ - YYSYMBOL_FIRST = 75, /* "first" */ - YYSYMBOL_LAST = 76, /* "last" */ - YYSYMBOL_TOP = 77, /* "top" */ - YYSYMBOL_NOREFERENCE = 78, /* "*" */ - YYSYMBOL_PAGE = 79, /* "page" */ - YYSYMBOL_RANGE = 80, /* "range" */ - YYSYMBOL_DIRECTORY = 81, /* "directory" */ - YYSYMBOL_SECTION = 82, /* "entry" */ - YYSYMBOL_DEFINITIONS = 83, /* "definitions" */ - YYSYMBOL_MAX = 84, /* "max" */ - YYSYMBOL_PARAM = 85, /* "param" */ - YYSYMBOL_FONT = 86, /* "font" */ - YYSYMBOL_CONTENT = 87, /* "content" */ - YYSYMBOL_YYACCEPT = 88, /* $accept */ - YYSYMBOL_glyph = 89, /* glyph */ - YYSYMBOL_content_node = 90, /* content_node */ - YYSYMBOL_start = 91, /* start */ - YYSYMBOL_integer = 92, /* integer */ - YYSYMBOL_string = 93, /* string */ - YYSYMBOL_number = 94, /* number */ - YYSYMBOL_dimension = 95, /* dimension */ - YYSYMBOL_xdimen = 96, /* xdimen */ - YYSYMBOL_xdimen_node = 97, /* xdimen_node */ - YYSYMBOL_order = 98, /* order */ - YYSYMBOL_stretch = 99, /* stretch */ - YYSYMBOL_penalty = 100, /* penalty */ - YYSYMBOL_rule_dimension = 101, /* rule_dimension */ - YYSYMBOL_rule = 102, /* rule */ - YYSYMBOL_rule_node = 103, /* rule_node */ - YYSYMBOL_explicit = 104, /* explicit */ - YYSYMBOL_kern = 105, /* kern */ - YYSYMBOL_plus = 106, /* plus */ - YYSYMBOL_minus = 107, /* minus */ - YYSYMBOL_glue = 108, /* glue */ - YYSYMBOL_glue_node = 109, /* glue_node */ - YYSYMBOL_position = 110, /* position */ - YYSYMBOL_content_list = 111, /* content_list */ - YYSYMBOL_estimate = 112, /* estimate */ - YYSYMBOL_list = 113, /* list */ - YYSYMBOL_114_1 = 114, /* $@1 */ - YYSYMBOL_text = 115, /* text */ - YYSYMBOL_txt = 116, /* txt */ - YYSYMBOL_117_2 = 117, /* $@2 */ - YYSYMBOL_box_dimen = 118, /* box_dimen */ - YYSYMBOL_box_shift = 119, /* box_shift */ - YYSYMBOL_box_glue_set = 120, /* box_glue_set */ - YYSYMBOL_box = 121, /* box */ - YYSYMBOL_hbox_node = 122, /* hbox_node */ - YYSYMBOL_vbox_node = 123, /* vbox_node */ - YYSYMBOL_box_flex = 124, /* box_flex */ - YYSYMBOL_xbox = 125, /* xbox */ - YYSYMBOL_box_goal = 126, /* box_goal */ - YYSYMBOL_hpack = 127, /* hpack */ - YYSYMBOL_vpack = 128, /* vpack */ - YYSYMBOL_129_3 = 129, /* $@3 */ - YYSYMBOL_vxbox_node = 130, /* vxbox_node */ - YYSYMBOL_hxbox_node = 131, /* hxbox_node */ - YYSYMBOL_ltype = 132, /* ltype */ - YYSYMBOL_leaders = 133, /* leaders */ - YYSYMBOL_baseline = 134, /* baseline */ + YYSYMBOL_UNKNOWN = 73, /* "unknown" */ + YYSYMBOL_STREAM = 74, /* "stream" */ + YYSYMBOL_STREAMDEF = 75, /* "stream (definition)" */ + YYSYMBOL_FIRST = 76, /* "first" */ + YYSYMBOL_LAST = 77, /* "last" */ + YYSYMBOL_TOP = 78, /* "top" */ + YYSYMBOL_NOREFERENCE = 79, /* "*" */ + YYSYMBOL_PAGE = 80, /* "page" */ + YYSYMBOL_RANGE = 81, /* "range" */ + YYSYMBOL_DIRECTORY = 82, /* "directory" */ + YYSYMBOL_SECTION = 83, /* "entry" */ + YYSYMBOL_DEFINITIONS = 84, /* "definitions" */ + YYSYMBOL_MAX = 85, /* "max" */ + YYSYMBOL_PARAM = 86, /* "param" */ + YYSYMBOL_FONT = 87, /* "font" */ + YYSYMBOL_CONTENT = 88, /* "content" */ + YYSYMBOL_YYACCEPT = 89, /* $accept */ + YYSYMBOL_glyph = 90, /* glyph */ + YYSYMBOL_content_node = 91, /* content_node */ + YYSYMBOL_start = 92, /* start */ + YYSYMBOL_integer = 93, /* integer */ + YYSYMBOL_string = 94, /* string */ + YYSYMBOL_number = 95, /* number */ + YYSYMBOL_dimension = 96, /* dimension */ + YYSYMBOL_xdimen = 97, /* xdimen */ + YYSYMBOL_xdimen_node = 98, /* xdimen_node */ + YYSYMBOL_order = 99, /* order */ + YYSYMBOL_stretch = 100, /* stretch */ + YYSYMBOL_penalty = 101, /* penalty */ + YYSYMBOL_rule_dimension = 102, /* rule_dimension */ + YYSYMBOL_rule = 103, /* rule */ + YYSYMBOL_rule_node = 104, /* rule_node */ + YYSYMBOL_explicit = 105, /* explicit */ + YYSYMBOL_kern = 106, /* kern */ + YYSYMBOL_plus = 107, /* plus */ + YYSYMBOL_minus = 108, /* minus */ + YYSYMBOL_glue = 109, /* glue */ + YYSYMBOL_glue_node = 110, /* glue_node */ + YYSYMBOL_position = 111, /* position */ + YYSYMBOL_content_list = 112, /* content_list */ + YYSYMBOL_estimate = 113, /* estimate */ + YYSYMBOL_list = 114, /* list */ + YYSYMBOL_115_1 = 115, /* $@1 */ + YYSYMBOL_text = 116, /* text */ + YYSYMBOL_txt = 117, /* txt */ + YYSYMBOL_118_2 = 118, /* $@2 */ + YYSYMBOL_box_dimen = 119, /* box_dimen */ + YYSYMBOL_box_shift = 120, /* box_shift */ + YYSYMBOL_box_glue_set = 121, /* box_glue_set */ + YYSYMBOL_box = 122, /* box */ + YYSYMBOL_hbox_node = 123, /* hbox_node */ + YYSYMBOL_vbox_node = 124, /* vbox_node */ + YYSYMBOL_box_flex = 125, /* box_flex */ + YYSYMBOL_box_options = 126, /* box_options */ + YYSYMBOL_hxbox_node = 127, /* hxbox_node */ + YYSYMBOL_vbox_dimen = 128, /* vbox_dimen */ + YYSYMBOL_vxbox_node = 129, /* vxbox_node */ + YYSYMBOL_box_goal = 130, /* box_goal */ + YYSYMBOL_hpack = 131, /* hpack */ + YYSYMBOL_max_depth = 132, /* max_depth */ + YYSYMBOL_vpack = 133, /* vpack */ + YYSYMBOL_134_3 = 134, /* $@3 */ YYSYMBOL_135_4 = 135, /* $@4 */ - YYSYMBOL_cc_list = 136, /* cc_list */ - YYSYMBOL_lig_cc = 137, /* lig_cc */ - YYSYMBOL_ref = 138, /* ref */ - YYSYMBOL_ligature = 139, /* ligature */ - YYSYMBOL_140_5 = 140, /* $@5 */ - YYSYMBOL_replace_count = 141, /* replace_count */ - YYSYMBOL_disc = 142, /* disc */ - YYSYMBOL_disc_node = 143, /* disc_node */ - YYSYMBOL_par_dimen = 144, /* par_dimen */ - YYSYMBOL_par = 145, /* par */ - YYSYMBOL_146_6 = 146, /* $@6 */ - YYSYMBOL_math = 147, /* math */ - YYSYMBOL_on_off = 148, /* on_off */ - YYSYMBOL_span_count = 149, /* span_count */ - YYSYMBOL_table = 150, /* table */ - YYSYMBOL_image_aspect = 151, /* image_aspect */ - YYSYMBOL_image_width = 152, /* image_width */ - YYSYMBOL_image_height = 153, /* image_height */ - YYSYMBOL_image_spec = 154, /* image_spec */ - YYSYMBOL_image = 155, /* image */ - YYSYMBOL_max_value = 156, /* max_value */ - YYSYMBOL_placement = 157, /* placement */ - YYSYMBOL_def_node = 158, /* def_node */ - YYSYMBOL_stream_link = 159, /* stream_link */ - YYSYMBOL_stream_split = 160, /* stream_split */ - YYSYMBOL_stream_info = 161, /* stream_info */ - YYSYMBOL_162_7 = 162, /* $@7 */ - YYSYMBOL_stream_type = 163, /* stream_type */ - YYSYMBOL_stream_def_node = 164, /* stream_def_node */ - YYSYMBOL_stream_ins_node = 165, /* stream_ins_node */ - YYSYMBOL_stream = 166, /* stream */ - YYSYMBOL_page_priority = 167, /* page_priority */ - YYSYMBOL_stream_def_list = 168, /* stream_def_list */ - YYSYMBOL_page = 169, /* page */ - YYSYMBOL_170_8 = 170, /* $@8 */ - YYSYMBOL_171_9 = 171, /* $@9 */ - YYSYMBOL_hint = 172, /* hint */ - YYSYMBOL_directory_section = 173, /* directory_section */ - YYSYMBOL_174_10 = 174, /* $@10 */ - YYSYMBOL_entry_list = 175, /* entry_list */ - YYSYMBOL_entry = 176, /* entry */ - YYSYMBOL_definition_section = 177, /* definition_section */ - YYSYMBOL_178_11 = 178, /* $@11 */ - YYSYMBOL_definition_list = 179, /* definition_list */ - YYSYMBOL_max_definitions = 180, /* max_definitions */ - YYSYMBOL_max_list = 181, /* max_list */ - YYSYMBOL_def_list = 182, /* def_list */ - YYSYMBOL_parameters = 183, /* parameters */ - YYSYMBOL_empty_param_list = 184, /* empty_param_list */ - YYSYMBOL_non_empty_param_list = 185, /* non_empty_param_list */ - YYSYMBOL_186_12 = 186, /* $@12 */ - YYSYMBOL_font = 187, /* font */ - YYSYMBOL_font_head = 188, /* font_head */ - YYSYMBOL_font_param_list = 189, /* font_param_list */ - YYSYMBOL_font_param = 190, /* font_param */ - YYSYMBOL_fref = 191, /* fref */ - YYSYMBOL_xdimen_ref = 192, /* xdimen_ref */ - YYSYMBOL_param_ref = 193, /* param_ref */ - YYSYMBOL_stream_ref = 194, /* stream_ref */ - YYSYMBOL_content_section = 195, /* content_section */ - YYSYMBOL_196_13 = 196 /* $@13 */ + YYSYMBOL_ltype = 136, /* ltype */ + YYSYMBOL_leaders = 137, /* leaders */ + YYSYMBOL_baseline = 138, /* baseline */ + YYSYMBOL_139_5 = 139, /* $@5 */ + YYSYMBOL_cc_list = 140, /* cc_list */ + YYSYMBOL_lig_cc = 141, /* lig_cc */ + YYSYMBOL_ref = 142, /* ref */ + YYSYMBOL_ligature = 143, /* ligature */ + YYSYMBOL_144_6 = 144, /* $@6 */ + YYSYMBOL_replace_count = 145, /* replace_count */ + YYSYMBOL_disc = 146, /* disc */ + YYSYMBOL_disc_node = 147, /* disc_node */ + YYSYMBOL_par_dimen = 148, /* par_dimen */ + YYSYMBOL_par = 149, /* par */ + YYSYMBOL_150_7 = 150, /* $@7 */ + YYSYMBOL_math = 151, /* math */ + YYSYMBOL_on_off = 152, /* on_off */ + YYSYMBOL_span_count = 153, /* span_count */ + YYSYMBOL_table = 154, /* table */ + YYSYMBOL_image_aspect = 155, /* image_aspect */ + YYSYMBOL_image_width = 156, /* image_width */ + YYSYMBOL_image_height = 157, /* image_height */ + YYSYMBOL_image_spec = 158, /* image_spec */ + YYSYMBOL_image = 159, /* image */ + YYSYMBOL_max_value = 160, /* max_value */ + YYSYMBOL_placement = 161, /* placement */ + YYSYMBOL_def_node = 162, /* def_node */ + YYSYMBOL_unknown_bytes = 163, /* unknown_bytes */ + YYSYMBOL_unknown_node = 164, /* unknown_node */ + YYSYMBOL_unknown_nodes = 165, /* unknown_nodes */ + YYSYMBOL_stream_link = 166, /* stream_link */ + YYSYMBOL_stream_split = 167, /* stream_split */ + YYSYMBOL_stream_info = 168, /* stream_info */ + YYSYMBOL_169_8 = 169, /* $@8 */ + YYSYMBOL_stream_type = 170, /* stream_type */ + YYSYMBOL_stream_def_node = 171, /* stream_def_node */ + YYSYMBOL_stream_ins_node = 172, /* stream_ins_node */ + YYSYMBOL_stream = 173, /* stream */ + YYSYMBOL_page_priority = 174, /* page_priority */ + YYSYMBOL_stream_def_list = 175, /* stream_def_list */ + YYSYMBOL_page = 176, /* page */ + YYSYMBOL_177_9 = 177, /* $@9 */ + YYSYMBOL_178_10 = 178, /* $@10 */ + YYSYMBOL_hint = 179, /* hint */ + YYSYMBOL_directory_section = 180, /* directory_section */ + YYSYMBOL_181_11 = 181, /* $@11 */ + YYSYMBOL_entry_list = 182, /* entry_list */ + YYSYMBOL_entry = 183, /* entry */ + YYSYMBOL_definition_section = 184, /* definition_section */ + YYSYMBOL_185_12 = 185, /* $@12 */ + YYSYMBOL_definition_list = 186, /* definition_list */ + YYSYMBOL_max_definitions = 187, /* max_definitions */ + YYSYMBOL_max_list = 188, /* max_list */ + YYSYMBOL_def_list = 189, /* def_list */ + YYSYMBOL_parameters = 190, /* parameters */ + YYSYMBOL_named_param_list = 191, /* named_param_list */ + YYSYMBOL_param_list = 192, /* param_list */ + YYSYMBOL_font = 193, /* font */ + YYSYMBOL_font_head = 194, /* font_head */ + YYSYMBOL_font_param_list = 195, /* font_param_list */ + YYSYMBOL_font_param = 196, /* font_param */ + YYSYMBOL_fref = 197, /* fref */ + YYSYMBOL_xdimen_ref = 198, /* xdimen_ref */ + YYSYMBOL_param_ref = 199, /* param_ref */ + YYSYMBOL_stream_ref = 200, /* stream_ref */ + YYSYMBOL_content_section = 201, /* content_section */ + YYSYMBOL_202_13 = 202 /* $@13 */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -692,19 +698,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 642 +#define YYLAST 720 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 88 +#define YYNTOKENS 89 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 109 +#define YYNNTS 114 /* YYNRULES -- Number of rules. */ -#define YYNRULES 274 +#define YYNRULES 285 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 576 +#define YYNSTATES 596 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 342 +#define YYMAXUTOK 343 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -752,41 +758,42 @@ static const yytype_int8 yytranslate[] = 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87 + 85, 86, 87, 88 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 268, 268, 271, 274, 278, 278, 282, 286, 286, - 292, 294, 296, 298, 301, 304, 308, 311, 314, 317, - 321, 326, 328, 330, 332, 336, 340, 343, 347, 347, - 350, 356, 359, 361, 363, 366, 369, 373, 375, 378, - 380, 383, 386, 390, 396, 399, 400, 401, 404, 407, - 414, 413, 422, 422, 424, 427, 430, 433, 436, 439, - 442, 445, 445, 450, 454, 457, 461, 464, 467, 472, - 476, 479, 482, 482, 484, 487, 490, 494, 497, 500, - 503, 507, 510, 510, 516, 519, 524, 527, 531, 531, - 533, 535, 537, 539, 542, 545, 548, 551, 555, 555, - 564, 569, 569, 572, 575, 578, 581, 581, 588, 592, - 595, 599, 603, 606, 611, 616, 618, 621, 624, 627, - 630, 630, 635, 638, 642, 646, 649, 652, 655, 658, - 661, 664, 667, 670, 674, 678, 680, 683, 687, 691, - 694, 697, 700, 704, 707, 711, 715, 717, 720, 723, - 726, 729, 733, 737, 741, 745, 750, 754, 758, 765, - 767, 769, 771, 774, 779, 784, 794, 796, 799, 802, - 802, 806, 808, 810, 812, 816, 822, 827, 827, 829, - 832, 835, 838, 843, 846, 850, 850, 852, 854, 852, - 861, 864, 868, 870, 870, 873, 873, 874, 879, 879, - 886, 886, 888, 913, 913, 915, 918, 921, 924, 927, - 930, 933, 936, 939, 942, 945, 948, 951, 954, 957, - 960, 963, 969, 972, 975, 978, 981, 984, 987, 990, - 993, 996, 999, 1002, 1005, 1008, 1013, 1016, 1019, 1023, - 1024, 1027, 1031, 1034, 1034, 1042, 1044, 1049, 1049, 1052, - 1055, 1058, 1061, 1064, 1067, 1070, 1073, 1077, 1081, 1084, - 1087, 1093, 1096, 1100, 1104, 1107, 1110, 1113, 1116, 1119, - 1122, 1125, 1129, 1136, 1136 + 0, 274, 274, 277, 280, 284, 284, 288, 292, 292, + 298, 300, 302, 304, 307, 310, 314, 317, 320, 323, + 327, 332, 334, 336, 338, 342, 346, 349, 353, 353, + 356, 362, 365, 367, 369, 372, 375, 379, 381, 384, + 386, 389, 392, 396, 402, 405, 406, 407, 410, 413, + 420, 419, 428, 428, 430, 433, 436, 439, 442, 445, + 448, 451, 451, 456, 460, 463, 467, 470, 473, 478, + 482, 485, 488, 488, 490, 494, 497, 501, 505, 506, + 511, 515, 518, 521, 524, 528, 532, 536, 538, 542, + 542, 547, 547, 553, 557, 557, 559, 561, 563, 565, + 568, 571, 574, 577, 581, 581, 590, 595, 595, 598, + 601, 604, 607, 607, 614, 618, 621, 625, 629, 632, + 637, 642, 644, 647, 650, 653, 653, 658, 662, 666, + 669, 672, 675, 678, 681, 685, 689, 691, 694, 698, + 702, 705, 708, 711, 715, 718, 722, 726, 728, 731, + 734, 737, 740, 744, 748, 752, 756, 761, 765, 769, + 776, 778, 780, 782, 785, 790, 795, 805, 808, 812, + 815, 817, 820, 820, 820, 820, 821, 823, 827, 829, + 832, 835, 835, 839, 841, 843, 845, 849, 855, 860, + 860, 862, 865, 868, 873, 876, 880, 880, 882, 884, + 882, 891, 894, 898, 900, 900, 903, 903, 904, 909, + 909, 916, 916, 918, 945, 945, 947, 950, 953, 956, + 959, 962, 965, 968, 971, 974, 977, 980, 983, 986, + 989, 992, 995, 1001, 1004, 1007, 1010, 1013, 1016, 1019, + 1022, 1025, 1028, 1031, 1034, 1037, 1040, 1045, 1048, 1051, + 1055, 1056, 1059, 1063, 1067, 1067, 1073, 1075, 1080, 1080, + 1083, 1086, 1089, 1092, 1095, 1098, 1101, 1104, 1108, 1112, + 1115, 1118, 1124, 1127, 1131, 1135, 1138, 1141, 1144, 1147, + 1150, 1153, 1156, 1160, 1167, 1167 }; #endif @@ -815,29 +822,31 @@ static const char *const yytname[] = "\"center\"", "\"expand\"", "\"baseline\"", "\"ligature\"", "\"disc\"", "\"par\"", "\"math\"", "\"on\"", "\"off\"", "\"adjust\"", "\"table\"", "\"item\"", "\"image\"", "\"width\"", "\"height\"", "\"label\"", - "\"bot\"", "\"mid\"", "\"link\"", "\"outline\"", "\"stream\"", - "\"stream (definition)\"", "\"first\"", "\"last\"", "\"top\"", "\"*\"", - "\"page\"", "\"range\"", "\"directory\"", "\"entry\"", "\"definitions\"", - "\"max\"", "\"param\"", "\"font\"", "\"content\"", "$accept", "glyph", - "content_node", "start", "integer", "string", "number", "dimension", - "xdimen", "xdimen_node", "order", "stretch", "penalty", "rule_dimension", - "rule", "rule_node", "explicit", "kern", "plus", "minus", "glue", - "glue_node", "position", "content_list", "estimate", "list", "$@1", - "text", "txt", "$@2", "box_dimen", "box_shift", "box_glue_set", "box", - "hbox_node", "vbox_node", "box_flex", "xbox", "box_goal", "hpack", - "vpack", "$@3", "vxbox_node", "hxbox_node", "ltype", "leaders", - "baseline", "$@4", "cc_list", "lig_cc", "ref", "ligature", "$@5", - "replace_count", "disc", "disc_node", "par_dimen", "par", "$@6", "math", + "\"bot\"", "\"mid\"", "\"link\"", "\"outline\"", "\"unknown\"", + "\"stream\"", "\"stream (definition)\"", "\"first\"", "\"last\"", + "\"top\"", "\"*\"", "\"page\"", "\"range\"", "\"directory\"", + "\"entry\"", "\"definitions\"", "\"max\"", "\"param\"", "\"font\"", + "\"content\"", "$accept", "glyph", "content_node", "start", "integer", + "string", "number", "dimension", "xdimen", "xdimen_node", "order", + "stretch", "penalty", "rule_dimension", "rule", "rule_node", "explicit", + "kern", "plus", "minus", "glue", "glue_node", "position", "content_list", + "estimate", "list", "$@1", "text", "txt", "$@2", "box_dimen", + "box_shift", "box_glue_set", "box", "hbox_node", "vbox_node", "box_flex", + "box_options", "hxbox_node", "vbox_dimen", "vxbox_node", "box_goal", + "hpack", "max_depth", "vpack", "$@3", "$@4", "ltype", "leaders", + "baseline", "$@5", "cc_list", "lig_cc", "ref", "ligature", "$@6", + "replace_count", "disc", "disc_node", "par_dimen", "par", "$@7", "math", "on_off", "span_count", "table", "image_aspect", "image_width", "image_height", "image_spec", "image", "max_value", "placement", - "def_node", "stream_link", "stream_split", "stream_info", "$@7", - "stream_type", "stream_def_node", "stream_ins_node", "stream", - "page_priority", "stream_def_list", "page", "$@8", "$@9", "hint", - "directory_section", "$@10", "entry_list", "entry", "definition_section", - "$@11", "definition_list", "max_definitions", "max_list", "def_list", - "parameters", "empty_param_list", "non_empty_param_list", "$@12", "font", - "font_head", "font_param_list", "font_param", "fref", "xdimen_ref", - "param_ref", "stream_ref", "content_section", "$@13", YY_NULLPTR + "def_node", "unknown_bytes", "unknown_node", "unknown_nodes", + "stream_link", "stream_split", "stream_info", "$@8", "stream_type", + "stream_def_node", "stream_ins_node", "stream", "page_priority", + "stream_def_list", "page", "$@9", "$@10", "hint", "directory_section", + "$@11", "entry_list", "entry", "definition_section", "$@12", + "definition_list", "max_definitions", "max_list", "def_list", + "parameters", "named_param_list", "param_list", "font", "font_head", + "font_param_list", "font_param", "fref", "xdimen_ref", "param_ref", + "stream_ref", "content_section", "$@13", YY_NULLPTR }; static const char * @@ -847,7 +856,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-242) +#define YYPACT_NINF (-275) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -861,64 +870,66 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 55, 10, 108, 129, 135, -242, 81, 170, -242, -242, - 104, -242, -242, 191, -242, 209, 113, -242, -242, 140, - -242, -242, -242, 216, -242, 227, 220, 238, 177, -242, - 59, -242, -2, -242, -242, 568, -242, -242, -242, -242, - -242, -242, -242, -242, 280, 391, -242, 252, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 257, 260, 75, 278, 264, 175, 246, 217, - 164, 164, 256, 164, 256, 164, 110, 217, 255, 70, - 217, 88, 94, 167, 87, 300, 286, 255, 255, -242, - -242, 299, 310, 313, 321, 339, 341, 343, 344, 345, - 349, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 342, 115, -242, 217, 164, 278, 280, 181, 217, 364, - 164, 255, 246, 362, 280, 363, 280, 90, 254, 365, - 366, 367, -242, -242, -242, 370, 371, 377, -242, -242, - -242, -242, 297, -242, 181, 379, 382, -242, 198, 383, - 164, 361, 384, 386, 164, 256, 389, 392, 164, 275, - 393, 256, 394, 315, 397, 400, -242, 380, 269, 402, - 404, -242, 406, 407, 408, 409, 411, 415, 94, 418, - 255, -242, -242, 419, 255, -242, -242, -242, -242, 420, - -242, 94, 94, -242, 363, 421, 275, 275, 422, -242, - 423, 513, 427, 430, 164, 434, 94, 436, 277, -242, - 255, 76, -242, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, 437, 441, 445, 446, 447, 448, 449, - 450, 453, 454, 457, -242, 458, 463, 464, -242, 465, - -242, -242, 468, 164, 469, 364, -242, -242, -242, 470, - 471, 474, -242, -242, -242, -242, -242, -242, -242, -242, - -242, 181, -242, -242, 255, -242, 475, -242, 322, 164, - 455, -242, -242, 164, 311, -242, -242, -242, 110, 110, - 94, -242, 361, -242, 433, -242, -242, 217, -242, -242, - -242, 364, -242, -242, 364, -242, -242, -242, 193, -242, - -242, -242, 94, -242, -242, 94, -242, 94, 94, -242, - 45, 364, 94, 94, 51, 364, 94, -242, -242, -242, - 94, 94, -242, -242, -242, 480, -242, 304, -242, -242, - -242, 481, 483, 94, 94, -242, -242, -242, -242, 472, - 485, -242, 94, 94, -242, -242, -242, -242, -242, -242, - -242, -242, -242, -242, -242, -242, -242, -242, 487, -242, - -242, 486, -242, 489, -242, 364, 364, -242, -242, -242, - -242, 493, -242, 164, -242, 197, -242, 164, -242, -242, - 164, 164, 94, -242, -242, -242, -242, -242, 455, 110, - 164, 494, 495, 154, -242, -242, -242, 364, -242, -242, - 473, -242, 94, 46, -242, 94, -242, 94, -242, -242, - 459, -242, -242, 364, 94, -242, -242, -242, 340, 94, - 94, -242, 240, 435, -242, -242, -242, 94, -242, 164, - -242, 364, 497, -242, 364, -242, 498, 451, -242, 77, - -242, -242, 488, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, 94, 94, -242, -242, -242, 181, -242, - -242, -242, -242, -242, 363, -242, -242, -242, 200, -242, - -242, -242, 440, -242, 250, -242, -242, 505, 47, 364, - -242, 164, -242, 246, 255, 255, 255, 255, 255, 255, - 255, 255, -242, -242, -242, 275, 107, 506, -242, -242, - -242, -242, -242, -242, -242, -242, -242, 430, 262, -242, - -242, -242, -242, -242, -242, 47, -242, 94, -242, -242, - 115, 280, 181, 246, 164, 255, 246, 362, 94, -242, - -242, -242, -242, -242, 507, 364, 364, 508, 510, 511, - 164, 512, 516, 517, 521, 522, -242, -242, 523, 364, - -242, -242, -242, -242, -242, -242, -242, -242, -242, 94, - -242, 364, 443, -242, 255, 86 + 101, 25, 127, 133, 163, -275, 94, 139, -275, -275, + 93, -275, -275, 214, -275, 47, 151, -275, -275, 165, + -275, -275, -275, 114, -275, 159, 249, 259, 178, -275, + 174, -275, 9, -275, -275, 645, -275, -275, -275, -275, + -275, -275, -275, -275, 271, 320, -275, 252, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 260, + 269, 269, 269, 275, 282, 103, 198, 287, 108, 250, + 213, 261, 261, 268, 261, 59, 57, 219, 213, 269, + 60, 213, 90, 78, 270, 63, 295, 316, 325, 269, + 269, -275, -275, 336, 352, 353, 354, 355, 356, 358, + 359, 360, 364, 366, 368, 372, 373, 374, 376, 377, + 378, 384, 338, 183, -275, 213, 261, 198, 271, 153, + 213, 394, 261, 269, 250, 392, 393, 271, 396, 271, + 131, 244, 398, 401, 399, -275, -275, -275, 412, 413, + 414, -275, -275, -275, -275, 220, -275, 153, 415, 416, + -275, 177, 420, 261, 397, 422, 424, 261, 268, 427, + 428, 261, 267, 430, 268, 351, 389, -275, 434, 261, + -275, 268, -275, 411, 192, 437, 438, -275, 439, 440, + 441, 442, 443, 444, 78, 446, 269, -275, 394, 447, + 219, -275, -275, 34, -275, 448, -275, -275, 78, 78, + -275, 396, 452, 267, 267, 455, -275, 456, 590, 457, + 459, 261, 462, 78, 463, 265, -275, -275, 219, 70, + -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, + -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, + -275, 465, 466, 467, 468, 470, 471, 472, 473, 474, + 475, 476, -275, 478, 479, 480, 210, -275, 481, -275, + -275, 482, 261, 485, 394, -275, -275, -275, 487, 488, + 489, -275, -275, -275, -275, -275, -275, -275, -275, -275, + 153, -275, -275, 269, -275, 490, -275, 329, 261, 432, + -275, -275, 261, 304, -275, -275, -275, 219, 219, 78, + -275, 397, 491, -275, 261, 268, -275, 261, 492, 213, + -275, -275, -275, 394, -275, -275, 394, -275, -275, -275, + 217, -275, -275, -275, 78, -275, -275, 78, -275, 78, + 78, 396, 493, -275, 58, 394, 78, 394, 78, -275, + -275, -275, 78, 78, -275, -275, -275, 494, -275, 381, + -275, -275, -275, 496, 495, 499, 78, 78, -275, -275, + -275, -275, 497, 500, -275, 78, 78, -275, -275, -275, + -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, + -275, -275, 501, 502, -275, -275, 504, -275, 503, -275, + 394, 394, -275, -275, -275, -275, 506, -275, 261, -275, + 136, -275, 261, -275, -275, 261, 261, 78, -275, -275, + -275, -275, -275, 432, 219, -275, 268, -275, 267, 261, + -275, 507, 510, 61, -275, -275, -275, 394, -275, -275, + 483, -275, 78, -275, -275, -275, 513, -275, 477, -275, + -275, -275, -275, -275, 334, 78, 78, -275, 302, 453, + -275, -275, 97, -275, -275, -275, 261, -275, 394, 515, + -275, -275, 394, -275, 516, 464, -275, 186, -275, -275, + 505, -275, -275, -275, -275, -275, -275, -275, -275, -275, + -275, 78, 78, 267, 78, -275, -275, -275, 153, -275, + -275, -275, -275, -275, 317, -275, -275, -275, 458, -275, + 313, -275, -275, -275, 535, -275, -275, -275, -275, 522, + 64, 394, -275, 261, -275, 250, 269, 269, 269, 269, + 269, 269, 269, 269, -275, -275, -275, 78, -275, 120, + -275, -275, -275, -275, -275, -275, -275, -275, -275, 459, + 322, -275, -275, -275, -275, -275, -275, 64, -275, 78, + -275, -275, 183, 271, 153, 250, 261, 269, 250, 392, + -275, -275, -275, -275, -275, 521, 394, 394, 524, 525, + 527, 261, 528, 529, 530, 531, 532, -275, 533, 394, + -275, -275, -275, -275, -275, -275, -275, -275, -275, 78, + -275, 394, 486, -275, 269, 45 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -926,96 +937,100 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 0, 0, 0, 0, 0, 1, 0, 0, 193, 198, - 0, 192, 195, 0, 273, 0, 0, 200, 44, 0, - 194, 196, 203, 0, 45, 0, 0, 0, 4, 199, - 0, 201, 4, 274, 46, 0, 32, 72, 73, 88, - 89, 115, 177, 178, 0, 0, 202, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 204, 209, + 0, 203, 206, 0, 284, 0, 0, 211, 44, 0, + 205, 207, 214, 0, 45, 0, 0, 0, 4, 210, + 0, 212, 4, 285, 46, 0, 32, 72, 73, 95, + 94, 121, 189, 190, 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 64, 0, 64, 0, 0, 0, 0, 33, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 8, - 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, + 0, 0, 0, 64, 0, 87, 0, 0, 0, 0, + 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 33, 0, 0, 47, 0, 162, 0, 0, - 0, 0, 6, 5, 26, 0, 0, 0, 10, 11, - 12, 29, 0, 28, 0, 0, 0, 34, 0, 0, - 19, 37, 0, 0, 0, 64, 0, 0, 0, 0, - 0, 64, 0, 0, 0, 0, 4, 0, 90, 0, - 0, 98, 0, 0, 106, 0, 109, 0, 113, 0, - 116, 258, 44, 0, 44, 135, 136, 242, 259, 0, - 137, 0, 0, 44, 47, 0, 0, 0, 0, 139, - 0, 47, 0, 0, 147, 0, 0, 0, 0, 260, - 44, 0, 197, 207, 216, 206, 211, 212, 210, 214, - 215, 208, 209, 213, 221, 158, 218, 219, 220, 217, - 205, 204, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 106, 0, 0, 0, 187, 0, - 48, 44, 0, 0, 0, 0, 160, 161, 159, 0, - 0, 0, 2, 7, 3, 27, 261, 271, 13, 15, - 14, 0, 31, 267, 0, 35, 0, 36, 0, 0, - 39, 42, 264, 0, 66, 70, 71, 65, 0, 0, - 0, 87, 37, 86, 0, 85, 84, 0, 91, 92, - 93, 0, 97, 269, 0, 100, 270, 265, 0, 108, - 110, 266, 112, 114, 120, 0, 124, 0, 0, 134, - 47, 128, 0, 0, 47, 125, 0, 50, 44, 138, - 0, 0, 145, 140, 142, 0, 146, 149, 268, 156, - 157, 0, 0, 0, 0, 176, 172, 173, 174, 0, - 0, 171, 0, 0, 224, 237, 227, 223, 236, 225, - 228, 226, 238, 229, 230, 231, 232, 233, 183, 235, - 239, 241, 234, 0, 222, 0, 245, 163, 190, 191, - 30, 0, 262, 17, 18, 0, 38, 0, 41, 63, - 0, 0, 0, 80, 78, 79, 77, 81, 39, 0, - 0, 0, 0, 0, 94, 95, 96, 0, 103, 104, - 0, 111, 0, 47, 123, 0, 119, 0, 117, 243, - 0, 129, 130, 131, 0, 126, 127, 44, 0, 0, - 0, 141, 0, 151, 164, 182, 179, 0, 181, 0, - 169, 0, 0, 184, 0, 240, 0, 0, 247, 0, - 248, 263, 0, 21, 22, 23, 24, 25, 40, 67, - 68, 69, 74, 0, 0, 82, 43, 272, 0, 99, - 101, 121, 122, 118, 47, 132, 133, 52, 61, 49, - 143, 144, 151, 148, 0, 152, 180, 0, 0, 0, - 165, 0, 246, 33, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 76, 75, 0, 0, 0, 51, 60, - 58, 59, 55, 57, 56, 54, 53, 0, 0, 153, - 154, 150, 20, 167, 166, 0, 170, 0, 188, 257, - 0, 0, 0, 33, 0, 0, 33, 0, 0, 107, - 102, 244, 62, 155, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 168, 0, 0, - 249, 254, 255, 250, 253, 251, 252, 256, 175, 0, - 185, 189, 0, 186, 0, 0 + 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 0, 0, 47, 0, + 163, 0, 0, 0, 0, 6, 5, 26, 0, 0, + 0, 10, 11, 12, 29, 0, 28, 0, 0, 0, + 34, 0, 0, 19, 37, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 64, 87, 0, 89, 0, 0, + 78, 64, 4, 0, 96, 0, 0, 104, 0, 0, + 112, 0, 115, 0, 119, 0, 122, 269, 0, 0, + 0, 136, 137, 47, 270, 0, 138, 254, 0, 0, + 44, 47, 0, 0, 0, 0, 140, 0, 47, 0, + 0, 148, 0, 0, 0, 0, 170, 271, 0, 0, + 208, 218, 227, 217, 222, 223, 221, 225, 226, 219, + 220, 224, 232, 159, 229, 230, 231, 228, 216, 215, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 112, 0, 0, 0, 0, 198, 0, 48, + 44, 0, 0, 0, 0, 161, 162, 160, 0, 0, + 0, 2, 7, 3, 27, 272, 282, 13, 15, 14, + 0, 31, 278, 0, 35, 0, 36, 0, 0, 39, + 42, 275, 0, 66, 70, 71, 65, 0, 0, 0, + 86, 37, 0, 91, 0, 64, 93, 0, 0, 0, + 97, 98, 99, 0, 103, 280, 0, 106, 281, 276, + 0, 114, 116, 277, 118, 120, 125, 0, 128, 0, + 0, 47, 0, 135, 47, 132, 0, 129, 0, 50, + 44, 139, 0, 0, 146, 141, 143, 0, 147, 150, + 279, 157, 158, 0, 176, 0, 0, 0, 188, 184, + 185, 186, 0, 0, 183, 0, 0, 235, 248, 238, + 234, 247, 236, 239, 237, 249, 240, 241, 242, 243, + 244, 167, 0, 194, 246, 250, 252, 245, 0, 233, + 0, 256, 164, 201, 202, 30, 0, 273, 17, 18, + 0, 38, 0, 41, 63, 0, 0, 0, 84, 82, + 83, 81, 85, 39, 0, 77, 64, 88, 0, 0, + 80, 0, 0, 0, 100, 101, 102, 0, 109, 110, + 0, 117, 0, 127, 124, 123, 0, 255, 0, 133, + 134, 130, 131, 44, 0, 0, 0, 142, 0, 152, + 165, 171, 0, 193, 191, 192, 0, 181, 0, 0, + 168, 195, 0, 251, 0, 0, 258, 0, 259, 274, + 0, 21, 22, 23, 24, 25, 40, 67, 68, 69, + 74, 0, 0, 0, 0, 79, 43, 283, 0, 105, + 107, 126, 253, 52, 61, 49, 144, 145, 152, 149, + 0, 153, 169, 172, 47, 173, 174, 177, 175, 0, + 0, 0, 166, 0, 257, 33, 0, 0, 0, 0, + 0, 0, 0, 0, 16, 76, 75, 0, 90, 0, + 51, 60, 58, 59, 55, 57, 56, 54, 53, 0, + 0, 154, 155, 151, 20, 179, 178, 0, 182, 0, + 199, 268, 0, 0, 0, 33, 0, 0, 33, 0, + 92, 113, 108, 62, 156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, + 260, 265, 266, 261, 264, 262, 263, 267, 187, 0, + 196, 200, 0, 197, 0, 0 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -242, -242, -83, -23, 100, -87, -86, -8, -54, -233, - -242, -137, -19, -94, -96, 229, -51, -5, 239, 134, - -99, -217, 28, 205, -95, -35, -242, -242, -242, -242, - 127, -33, -242, 476, -147, 242, -242, 466, -169, -242, - -242, -242, -242, -242, -242, 425, 426, -242, -242, -242, - -45, -103, -242, -242, -97, 174, -242, -242, -242, -242, - 331, -242, -242, -242, -242, 63, -242, -100, -242, -242, - 179, 26, -242, -242, -242, -242, -18, -242, -242, -242, - -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, -242, -242, 82, -110, -188, -242, -242, - -242, -242, -242, -166, -241, -73, -242, -242, -242 + -275, -275, -58, -23, 115, -98, -106, 11, -67, -240, + -275, -274, -14, -109, -97, 226, -68, -13, 245, 132, + -102, -225, -148, 207, -82, -59, -275, -275, -275, -275, + 182, -20, -275, 498, -143, 235, -275, 379, -275, -275, + -275, -161, -275, 387, -275, -275, -275, -275, 433, 431, + -275, -275, -275, -45, -104, -275, -275, -100, 168, -275, + -275, -275, -275, 340, -275, -275, -275, -275, 65, -275, + -95, -275, -275, 180, -275, -275, -275, 20, -275, -275, + -275, -275, -22, -275, -275, -275, -275, -275, -275, -275, + -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, + -275, -165, 119, -94, -275, -275, -275, -275, -108, -237, + -110, -275, -275, -275 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 131, 34, 194, 134, 91, 142, 150, 151, 350, - 457, 386, 135, 144, 145, 36, 176, 149, 280, 388, - 152, 168, 187, 25, 328, 195, 427, 478, 516, 517, - 155, 159, 392, 156, 37, 38, 399, 162, 290, 160, - 164, 505, 39, 40, 301, 169, 172, 304, 506, 410, - 529, 175, 308, 178, 179, 41, 182, 183, 412, 189, - 190, 203, 198, 337, 433, 485, 206, 207, 110, 259, - 31, 525, 526, 351, 488, 352, 42, 43, 342, 444, - 571, 249, 368, 546, 2, 3, 12, 15, 21, 7, - 13, 23, 17, 27, 371, 252, 191, 323, 474, 254, - 255, 376, 450, 530, 184, 192, 210, 11, 18 + 0, 134, 34, 201, 137, 93, 145, 153, 154, 363, + 475, 401, 138, 147, 148, 36, 182, 152, 289, 403, + 155, 174, 24, 25, 340, 202, 443, 494, 538, 539, + 158, 301, 407, 159, 37, 38, 414, 302, 39, 171, + 40, 299, 163, 167, 168, 305, 416, 313, 175, 178, + 316, 529, 430, 551, 181, 320, 184, 185, 41, 188, + 189, 432, 195, 196, 210, 205, 349, 449, 501, 213, + 214, 112, 268, 31, 354, 507, 452, 547, 548, 364, + 510, 365, 42, 43, 355, 462, 591, 258, 383, 567, + 2, 3, 12, 15, 21, 7, 13, 23, 17, 27, + 386, 261, 197, 198, 263, 264, 391, 468, 552, 190, + 199, 218, 11, 18 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1023,237 +1038,256 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 30, 200, 35, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 148, 245, 240, - 136, 239, 146, 247, 153, 246, 180, 330, 331, 238, - 251, 170, 173, 174, 177, 181, 188, 248, 375, 253, - 205, 163, 209, 211, 322, 326, 24, 394, 396, 202, - 271, 250, 250, 167, 112, 393, 395, 250, 1, 143, - 235, 201, 154, 154, 278, 154, 62, 154, 234, 171, - 237, 48, 315, 241, 317, 49, 244, 112, 63, 166, - 345, 129, 50, 51, 52, 130, 70, 407, 53, 166, - 32, 4, 70, 199, 275, 112, 167, 166, 147, 494, - 343, 495, 496, 276, 497, 233, 498, 314, 5, 143, - 54, 318, 171, 166, 55, 56, 57, 112, 336, 193, - 335, 132, 284, 133, 58, 523, 193, 415, 292, 417, - 419, 419, 6, 499, 500, 188, 143, 344, 59, 188, - 539, 8, 501, 312, 60, 61, 283, 540, 185, 186, - 287, 346, 347, 348, 405, 437, 321, 325, 464, 256, - 257, 346, 347, 348, 9, 188, 463, 258, 320, 324, - 138, 339, 139, 10, 421, 140, 424, 380, 425, 468, - 35, 138, 112, 139, 196, 197, 140, 138, 349, 139, - 469, 14, 140, 385, 16, 70, 71, 22, 401, 408, - 161, 141, 161, 409, 138, 112, 139, 141, 489, 140, - 453, 232, 19, 20, 274, 236, 454, 455, 456, 28, - 29, 327, 26, 138, 112, 139, 44, 491, 140, 381, - 32, 33, 167, 508, 509, 510, 511, 512, 513, 514, - 515, 45, 46, 181, 181, 373, 138, 482, 139, 47, - 458, 140, 402, 459, 460, 397, 138, 520, 139, 111, - 353, 140, 112, 143, 127, 349, 349, 128, 138, 543, - 139, 137, 527, 140, 147, 389, 475, 411, 403, 370, - 414, 167, 416, 418, 132, 112, 133, 422, 423, 89, - 90, 426, 413, 208, 413, 429, 430, 452, 420, 158, - 324, 385, 420, 212, 385, 385, 204, 112, 436, 438, - 268, 269, 270, 559, 260, 261, 213, 441, 442, 214, - 413, 298, 299, 300, 288, 289, 569, 215, 558, 531, - 532, 533, 534, 535, 536, 537, 538, 185, 186, 383, - 384, 390, 391, 32, 479, 216, 231, 217, 30, 218, - 219, 220, 447, 449, 181, 221, 24, 461, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 166, 204, 250, - 432, 264, 262, 263, 265, 266, 349, 471, 483, 251, - 472, 267, 473, 272, 167, 487, 273, 277, 281, 476, - 282, 279, 465, 285, 480, 481, 286, 291, 293, 294, - 420, 295, 486, 92, 296, 35, 302, 93, 303, 297, - 305, 306, 307, 309, 94, 95, 96, 310, 349, 311, - 97, 167, 313, 316, 319, 329, 332, 333, 503, 504, - 521, 334, 553, 32, 542, 552, 549, 555, 338, 554, - 340, 354, 98, 524, 548, 355, 99, 100, 101, 356, - 357, 358, 359, 360, 361, 477, 102, 362, 363, 103, - 143, 364, 365, 104, 521, 105, 167, 366, 367, 369, - 106, 107, 372, 374, 377, 378, 108, 109, 379, 382, - 524, 400, 550, 528, 431, 434, 387, 435, 439, 28, - 244, 440, 545, 443, 35, 446, 275, 451, 466, 467, - 70, 490, 484, 556, 492, 470, 502, 518, 493, 522, - 541, 547, 560, 557, 561, 562, 563, 574, 64, 250, - 564, 565, 167, 349, 143, 566, 567, 568, 551, 575, - 404, 398, 462, 428, 570, 65, 349, 66, 67, 341, - 68, 165, 69, 406, 242, 519, 243, 157, 572, 448, - 445, 544, 349, 573, 70, 71, 507, 72, 73, 74, - 75, 0, 0, 0, 76, 0, 0, 0, 77, 78, - 79, 80, 81, 64, 0, 82, 83, 84, 85, 0, - 0, 0, 0, 0, 86, 0, 87, 88, 0, 0, - 65, 0, 66, 67, 0, 68, 0, 69, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, - 71, 0, 72, 73, 74, 75, 0, 0, 0, 76, - 0, 0, 0, 77, 78, 79, 80, 81, 0, 0, - 82, 83, 84, 85, 0, 0, 0, 0, 0, 86, - 0, 87, 88 + 30, 151, 35, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 186, 127, 128, 129, 248, 253, + 246, 139, 247, 149, 254, 156, 209, 207, 332, 257, + 255, 262, 176, 179, 180, 183, 187, 194, 280, 390, + 259, 212, 342, 343, 217, 219, 260, 287, 172, 243, + 19, 20, 339, 162, 173, 336, 338, 408, 410, 193, + 409, 411, 208, 141, 259, 142, 32, 114, 143, 206, + 242, 114, 245, 172, 358, 249, 326, 63, 252, 146, + 330, 172, 157, 157, 284, 157, 488, 157, 150, 177, + 64, 427, 366, 172, 327, 200, 329, 114, 173, 71, + 32, 502, 71, 72, 1, 348, 285, 4, 357, 132, + 200, 260, 385, 133, 141, 114, 142, 28, 29, 143, + 331, 359, 360, 361, 356, 324, 241, 5, 476, 200, + 146, 477, 478, 177, 144, 169, 6, 165, 293, 335, + 337, 194, 10, 545, 166, 194, 359, 360, 361, 471, + 191, 192, 347, 561, 351, 472, 473, 474, 146, 141, + 562, 142, 32, 33, 143, 193, 436, 193, 292, 8, + 425, 395, 296, 194, 481, 334, 334, 482, 9, 144, + 307, 14, 400, 141, 114, 142, 48, 35, 143, 135, + 49, 136, 439, 283, 441, 193, 362, 50, 51, 52, + 265, 266, 489, 53, 135, 114, 136, 421, 516, 267, + 517, 518, 505, 519, 381, 520, 382, 16, 511, 141, + 114, 142, 172, 428, 143, 54, 114, 429, 240, 55, + 56, 57, 244, 277, 278, 279, 22, 513, 396, 58, + 412, 173, 521, 522, 310, 311, 312, 59, 26, 260, + 47, 523, 187, 187, 60, 44, 164, 484, 170, 113, + 61, 62, 45, 46, 422, 431, 126, 141, 433, 142, + 434, 435, 143, 388, 362, 362, 114, 440, 150, 442, + 91, 92, 130, 445, 446, 418, 549, 203, 204, 131, + 423, 146, 470, 173, 140, 493, 400, 454, 455, 400, + 400, 211, 114, 404, 269, 270, 458, 459, 141, 498, + 142, 161, 438, 143, 438, 417, 297, 298, 419, 141, + 542, 142, 527, 215, 143, 191, 192, 579, 141, 564, + 142, 216, 94, 143, 405, 406, 95, 32, 495, 589, + 220, 578, 239, 96, 97, 98, 398, 399, 479, 99, + 530, 531, 532, 533, 534, 535, 536, 537, 221, 222, + 223, 224, 225, 30, 226, 227, 228, 465, 467, 187, + 229, 100, 230, 491, 231, 101, 102, 103, 232, 233, + 234, 499, 235, 236, 237, 104, 496, 497, 105, 509, + 238, 362, 106, 506, 503, 107, 483, 172, 211, 256, + 108, 109, 259, 273, 173, 271, 110, 111, 272, 553, + 554, 555, 556, 557, 558, 559, 274, 275, 276, 281, + 282, 35, 525, 526, 286, 528, 290, 288, 291, 504, + 485, 294, 295, 543, 300, 362, 166, 304, 306, 173, + 309, 314, 315, 317, 318, 319, 321, 448, 323, 322, + 325, 328, 333, 574, 573, 569, 341, 570, 575, 344, + 345, 346, 32, 402, 576, 546, 350, 352, 560, 367, + 368, 369, 370, 543, 371, 372, 373, 374, 375, 376, + 377, 563, 378, 379, 380, 384, 387, 571, 173, 389, + 566, 392, 393, 394, 397, 415, 420, 437, 447, 146, + 450, 451, 546, 453, 284, 460, 457, 28, 461, 464, + 469, 486, 252, 456, 487, 490, 35, 492, 71, 512, + 500, 515, 514, 524, 550, 540, 544, 577, 580, 581, + 590, 582, 583, 584, 585, 586, 587, 588, 568, 424, + 65, 259, 572, 173, 362, 480, 413, 444, 426, 595, + 308, 456, 303, 251, 250, 353, 362, 66, 466, 67, + 68, 594, 69, 541, 70, 146, 463, 565, 592, 593, + 160, 508, 362, 0, 0, 0, 71, 72, 0, 73, + 74, 75, 76, 0, 0, 0, 77, 0, 0, 0, + 78, 79, 80, 81, 82, 65, 259, 83, 84, 85, + 86, 0, 0, 0, 0, 0, 87, 0, 88, 89, + 90, 0, 66, 0, 67, 68, 0, 69, 0, 70, + 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 71, 72, 0, 73, 74, 75, 76, 0, 0, + 0, 77, 0, 0, 0, 78, 79, 80, 81, 82, + 65, 0, 83, 84, 85, 86, 0, 0, 0, 0, + 0, 87, 0, 88, 89, 90, 0, 66, 0, 67, + 68, 0, 69, 0, 70, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 71, 72, 0, 73, + 74, 75, 76, 0, 0, 0, 77, 0, 0, 0, + 78, 79, 80, 81, 82, 0, 0, 83, 84, 85, + 86, 0, 0, 0, 0, 0, 87, 0, 88, 89, + 90 }; static const yytype_int16 yycheck[] = { - 23, 84, 25, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 68, 121, 118, - 65, 117, 67, 123, 69, 122, 80, 196, 197, 116, - 125, 76, 77, 78, 79, 80, 81, 124, 255, 126, - 85, 74, 87, 88, 191, 192, 18, 288, 289, 84, - 144, 6, 6, 76, 7, 288, 289, 6, 3, 67, - 114, 84, 70, 71, 150, 73, 68, 75, 113, 77, - 115, 12, 182, 118, 184, 16, 121, 7, 80, 3, - 4, 6, 23, 24, 25, 10, 41, 304, 29, 3, - 3, 81, 41, 6, 148, 7, 119, 3, 28, 22, - 210, 24, 25, 148, 27, 113, 29, 180, 0, 117, - 51, 184, 120, 3, 55, 56, 57, 7, 204, 32, - 203, 6, 155, 8, 65, 78, 32, 315, 161, 317, - 85, 85, 3, 56, 57, 180, 144, 210, 79, 184, - 33, 6, 65, 178, 85, 86, 154, 40, 60, 61, - 158, 75, 76, 77, 301, 343, 191, 192, 399, 69, - 70, 75, 76, 77, 83, 210, 399, 77, 191, 192, - 6, 206, 8, 3, 321, 11, 323, 271, 325, 25, - 203, 6, 7, 8, 17, 18, 11, 6, 211, 8, - 407, 87, 11, 279, 3, 41, 42, 84, 297, 6, - 73, 26, 75, 10, 6, 7, 8, 26, 441, 11, - 13, 111, 3, 4, 16, 115, 19, 20, 21, 3, - 4, 193, 82, 6, 7, 8, 6, 444, 11, 274, - 3, 4, 255, 33, 34, 35, 36, 37, 38, 39, - 40, 3, 4, 288, 289, 253, 6, 7, 8, 72, - 387, 11, 297, 390, 391, 290, 6, 7, 8, 7, - 232, 11, 7, 271, 7, 288, 289, 7, 6, 7, - 8, 7, 489, 11, 28, 283, 423, 312, 301, 251, - 315, 304, 317, 318, 6, 7, 8, 322, 323, 9, - 10, 326, 315, 7, 317, 330, 331, 383, 321, 43, - 323, 387, 325, 4, 390, 391, 6, 7, 343, 344, - 13, 14, 15, 546, 60, 61, 6, 352, 353, 6, - 343, 52, 53, 54, 49, 50, 559, 6, 545, 495, - 496, 497, 498, 499, 500, 501, 505, 60, 61, 17, - 18, 30, 31, 3, 4, 6, 4, 6, 371, 6, - 6, 6, 375, 376, 399, 6, 328, 392, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, - 66, 4, 7, 7, 4, 4, 399, 412, 432, 474, - 415, 4, 417, 4, 407, 439, 4, 4, 4, 424, - 4, 30, 400, 4, 429, 430, 4, 4, 4, 84, - 423, 4, 437, 12, 4, 428, 4, 16, 4, 29, - 4, 4, 4, 4, 23, 24, 25, 6, 441, 4, - 29, 444, 4, 4, 4, 4, 4, 4, 463, 464, - 484, 4, 535, 3, 517, 534, 532, 537, 4, 536, - 4, 4, 51, 488, 531, 4, 55, 56, 57, 4, - 4, 4, 4, 4, 4, 427, 65, 4, 4, 68, - 468, 4, 4, 72, 518, 74, 489, 4, 4, 4, - 79, 80, 4, 4, 4, 4, 85, 86, 4, 4, - 525, 48, 533, 491, 4, 4, 31, 4, 16, 3, - 535, 6, 527, 6, 517, 6, 550, 4, 4, 4, - 41, 4, 67, 538, 6, 32, 18, 67, 57, 4, - 4, 530, 4, 6, 4, 4, 4, 74, 5, 6, - 4, 4, 545, 546, 532, 4, 4, 4, 533, 574, - 301, 292, 398, 328, 569, 22, 559, 24, 25, 208, - 27, 75, 29, 301, 119, 482, 120, 71, 571, 375, - 371, 525, 575, 571, 41, 42, 474, 44, 45, 46, - 47, -1, -1, -1, 51, -1, -1, -1, 55, 56, - 57, 58, 59, 5, -1, 62, 63, 64, 65, -1, - -1, -1, -1, -1, 71, -1, 73, 74, -1, -1, - 22, -1, 24, 25, -1, 27, -1, 29, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, - 42, -1, 44, 45, 46, 47, -1, -1, -1, 51, - -1, -1, -1, 55, 56, 57, 58, 59, -1, -1, - 62, 63, 64, 65, -1, -1, -1, -1, -1, 71, - -1, 73, 74 + 23, 69, 25, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 81, 60, 61, 62, 120, 123, + 118, 66, 119, 68, 124, 70, 85, 85, 193, 127, + 125, 129, 77, 78, 79, 80, 81, 82, 147, 264, + 6, 86, 203, 204, 89, 90, 128, 153, 3, 116, + 3, 4, 200, 73, 77, 198, 199, 297, 298, 82, + 297, 298, 85, 6, 6, 8, 3, 7, 11, 6, + 115, 7, 117, 3, 4, 120, 186, 68, 123, 68, + 190, 3, 71, 72, 151, 74, 25, 76, 28, 78, + 81, 316, 240, 3, 188, 32, 190, 7, 121, 41, + 3, 4, 41, 42, 3, 211, 151, 82, 218, 6, + 32, 193, 260, 10, 6, 7, 8, 3, 4, 11, + 86, 76, 77, 78, 218, 184, 115, 0, 402, 32, + 119, 405, 406, 122, 26, 78, 3, 78, 158, 198, + 199, 186, 3, 79, 85, 190, 76, 77, 78, 13, + 60, 61, 210, 33, 213, 19, 20, 21, 147, 6, + 40, 8, 3, 4, 11, 188, 331, 190, 157, 6, + 313, 280, 161, 218, 414, 198, 199, 414, 84, 26, + 169, 88, 288, 6, 7, 8, 12, 210, 11, 6, + 16, 8, 335, 16, 337, 218, 219, 23, 24, 25, + 69, 70, 427, 29, 6, 7, 8, 309, 22, 78, + 24, 25, 452, 27, 4, 29, 6, 3, 458, 6, + 7, 8, 3, 6, 11, 51, 7, 10, 113, 55, + 56, 57, 117, 13, 14, 15, 85, 462, 283, 65, + 299, 264, 56, 57, 52, 53, 54, 73, 83, 331, + 72, 65, 297, 298, 80, 6, 74, 418, 76, 7, + 86, 87, 3, 4, 309, 324, 6, 6, 327, 8, + 329, 330, 11, 262, 297, 298, 7, 336, 28, 338, + 9, 10, 7, 342, 343, 305, 511, 17, 18, 7, + 313, 280, 398, 316, 7, 443, 402, 356, 357, 405, + 406, 6, 7, 292, 60, 61, 365, 366, 6, 7, + 8, 43, 335, 11, 337, 304, 49, 50, 307, 6, + 7, 8, 483, 7, 11, 60, 61, 567, 6, 7, + 8, 6, 12, 11, 30, 31, 16, 3, 4, 579, + 4, 566, 4, 23, 24, 25, 17, 18, 407, 29, + 33, 34, 35, 36, 37, 38, 39, 40, 6, 6, + 6, 6, 6, 386, 6, 6, 6, 390, 391, 414, + 6, 51, 6, 432, 6, 55, 56, 57, 6, 6, + 6, 448, 6, 6, 6, 65, 445, 446, 68, 456, + 6, 414, 72, 452, 452, 75, 416, 3, 6, 6, + 80, 81, 6, 4, 427, 7, 86, 87, 7, 517, + 518, 519, 520, 521, 522, 523, 4, 4, 4, 4, + 4, 444, 481, 482, 4, 484, 4, 30, 4, 452, + 419, 4, 4, 500, 4, 458, 85, 48, 4, 462, + 29, 4, 4, 4, 4, 4, 4, 66, 4, 6, + 4, 4, 4, 557, 556, 553, 4, 554, 558, 4, + 4, 4, 3, 31, 559, 510, 4, 4, 527, 4, + 4, 4, 4, 540, 4, 4, 4, 4, 4, 4, + 4, 539, 4, 4, 4, 4, 4, 555, 511, 4, + 549, 4, 4, 4, 4, 4, 4, 4, 4, 488, + 4, 6, 547, 4, 571, 4, 6, 3, 6, 6, + 4, 4, 557, 16, 4, 32, 539, 4, 41, 4, + 67, 57, 6, 18, 513, 67, 4, 6, 4, 4, + 589, 4, 4, 4, 4, 4, 4, 4, 552, 313, + 5, 6, 555, 566, 567, 413, 301, 340, 313, 594, + 171, 16, 165, 122, 121, 215, 579, 22, 390, 24, + 25, 75, 27, 498, 29, 554, 386, 547, 591, 591, + 72, 452, 595, -1, -1, -1, 41, 42, -1, 44, + 45, 46, 47, -1, -1, -1, 51, -1, -1, -1, + 55, 56, 57, 58, 59, 5, 6, 62, 63, 64, + 65, -1, -1, -1, -1, -1, 71, -1, 73, 74, + 75, -1, 22, -1, 24, 25, -1, 27, -1, 29, + -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 41, 42, -1, 44, 45, 46, 47, -1, -1, + -1, 51, -1, -1, -1, 55, 56, 57, 58, 59, + 5, -1, 62, 63, 64, 65, -1, -1, -1, -1, + -1, 71, -1, 73, 74, 75, -1, 22, -1, 24, + 25, -1, 27, -1, 29, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 41, 42, -1, 44, + 45, 46, 47, -1, -1, -1, 51, -1, -1, -1, + 55, 56, 57, 58, 59, -1, -1, 62, 63, 64, + 65, -1, -1, -1, -1, -1, 71, -1, 73, 74, + 75 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 3, 172, 173, 81, 0, 3, 177, 6, 83, - 3, 195, 174, 178, 87, 175, 3, 180, 196, 3, - 4, 176, 84, 179, 110, 111, 82, 181, 3, 4, - 91, 158, 3, 4, 90, 91, 103, 122, 123, 130, - 131, 143, 164, 165, 6, 3, 4, 72, 12, 16, - 23, 24, 25, 29, 51, 55, 56, 57, 65, 79, - 85, 86, 68, 80, 5, 22, 24, 25, 27, 29, - 41, 42, 44, 45, 46, 47, 51, 55, 56, 57, - 58, 59, 62, 63, 64, 65, 71, 73, 74, 9, - 10, 93, 12, 16, 23, 24, 25, 29, 51, 55, - 56, 57, 65, 68, 72, 74, 79, 80, 85, 86, - 156, 7, 7, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 7, 7, 6, - 10, 89, 6, 8, 92, 100, 138, 7, 6, 8, - 11, 26, 94, 95, 101, 102, 138, 28, 104, 105, - 95, 96, 108, 138, 95, 118, 121, 121, 43, 119, - 127, 118, 125, 119, 128, 125, 3, 91, 109, 133, - 138, 95, 134, 138, 138, 139, 104, 138, 141, 142, - 96, 138, 144, 145, 192, 60, 61, 110, 138, 147, - 148, 184, 193, 32, 91, 113, 17, 18, 150, 6, - 90, 91, 113, 149, 6, 138, 154, 155, 7, 138, - 194, 138, 4, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 4, 92, 95, 138, 96, 92, 138, 93, 102, - 108, 138, 133, 134, 138, 139, 142, 155, 93, 169, - 6, 112, 183, 93, 187, 188, 69, 70, 77, 157, - 60, 61, 7, 7, 4, 4, 4, 4, 13, 14, - 15, 101, 4, 4, 16, 96, 138, 4, 94, 30, - 106, 4, 4, 95, 119, 4, 4, 95, 49, 50, - 126, 4, 119, 4, 84, 4, 4, 29, 52, 53, - 54, 132, 4, 4, 135, 4, 4, 4, 140, 4, - 6, 4, 113, 4, 193, 184, 4, 184, 193, 4, - 91, 113, 122, 185, 91, 113, 122, 110, 112, 4, - 126, 126, 4, 4, 4, 90, 94, 151, 4, 113, - 4, 148, 166, 184, 193, 4, 75, 76, 77, 91, - 97, 161, 163, 110, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 170, 4, - 110, 182, 4, 95, 4, 109, 189, 4, 4, 4, - 101, 138, 4, 17, 18, 94, 99, 31, 107, 95, - 30, 31, 120, 97, 192, 97, 192, 113, 106, 124, - 48, 108, 138, 91, 103, 122, 123, 109, 6, 10, - 137, 113, 146, 91, 113, 185, 113, 185, 113, 85, - 91, 122, 113, 113, 122, 122, 113, 114, 111, 113, - 113, 4, 66, 152, 4, 4, 113, 185, 113, 16, - 6, 113, 113, 6, 167, 158, 6, 91, 143, 91, - 190, 4, 94, 13, 19, 20, 21, 98, 99, 99, - 99, 113, 107, 97, 192, 95, 4, 4, 25, 109, - 32, 113, 113, 113, 186, 122, 113, 110, 115, 4, - 113, 113, 7, 96, 67, 153, 113, 96, 162, 97, - 4, 109, 6, 57, 22, 24, 25, 27, 29, 56, - 57, 65, 18, 113, 113, 129, 136, 183, 33, 34, - 35, 36, 37, 38, 39, 40, 116, 117, 67, 153, - 7, 96, 4, 78, 138, 159, 160, 109, 95, 138, - 191, 191, 191, 191, 191, 191, 191, 191, 126, 33, - 40, 4, 90, 7, 159, 113, 171, 100, 93, 102, - 104, 105, 108, 139, 142, 155, 113, 6, 109, 97, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 97, - 113, 168, 91, 164, 74, 138 + 0, 3, 179, 180, 82, 0, 3, 184, 6, 84, + 3, 201, 181, 185, 88, 182, 3, 187, 202, 3, + 4, 183, 85, 186, 111, 112, 83, 188, 3, 4, + 92, 162, 3, 4, 91, 92, 104, 123, 124, 127, + 129, 147, 171, 172, 6, 3, 4, 72, 12, 16, + 23, 24, 25, 29, 51, 55, 56, 57, 65, 73, + 80, 86, 87, 68, 81, 5, 22, 24, 25, 27, + 29, 41, 42, 44, 45, 46, 47, 51, 55, 56, + 57, 58, 59, 62, 63, 64, 65, 71, 73, 74, + 75, 9, 10, 94, 12, 16, 23, 24, 25, 29, + 51, 55, 56, 57, 65, 68, 72, 75, 80, 81, + 86, 87, 160, 7, 7, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 6, 142, 142, 142, + 7, 7, 6, 10, 90, 6, 8, 93, 101, 142, + 7, 6, 8, 11, 26, 95, 96, 102, 103, 142, + 28, 105, 106, 96, 97, 109, 142, 96, 119, 122, + 122, 43, 120, 131, 119, 78, 85, 132, 133, 78, + 119, 128, 3, 92, 110, 137, 142, 96, 138, 142, + 142, 143, 105, 142, 145, 146, 97, 142, 148, 149, + 198, 60, 61, 92, 142, 151, 152, 191, 192, 199, + 32, 92, 114, 17, 18, 154, 6, 91, 92, 114, + 153, 6, 142, 158, 159, 7, 6, 142, 200, 142, + 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, + 93, 96, 142, 97, 93, 142, 94, 103, 109, 142, + 137, 138, 142, 143, 146, 159, 6, 94, 176, 6, + 113, 190, 94, 193, 194, 69, 70, 78, 161, 60, + 61, 7, 7, 4, 4, 4, 4, 13, 14, 15, + 102, 4, 4, 16, 97, 142, 4, 95, 30, 107, + 4, 4, 96, 120, 4, 4, 96, 49, 50, 130, + 4, 120, 126, 132, 48, 134, 4, 96, 126, 29, + 52, 53, 54, 136, 4, 4, 139, 4, 4, 4, + 144, 4, 6, 4, 114, 4, 199, 192, 4, 192, + 199, 86, 190, 4, 92, 114, 123, 114, 123, 111, + 113, 4, 130, 130, 4, 4, 4, 91, 95, 155, + 4, 114, 4, 152, 163, 173, 192, 199, 4, 76, + 77, 78, 92, 98, 168, 170, 111, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 6, 177, 4, 111, 189, 4, 96, 4, + 110, 195, 4, 4, 4, 102, 142, 4, 17, 18, + 95, 100, 31, 108, 96, 30, 31, 121, 98, 198, + 98, 198, 114, 107, 125, 4, 135, 96, 120, 96, + 4, 109, 142, 92, 104, 123, 124, 110, 6, 10, + 141, 114, 150, 114, 114, 114, 190, 4, 92, 123, + 114, 123, 114, 115, 112, 114, 114, 4, 66, 156, + 4, 6, 165, 4, 114, 114, 16, 6, 114, 114, + 4, 6, 174, 162, 6, 92, 147, 92, 196, 4, + 95, 13, 19, 20, 21, 99, 100, 100, 100, 114, + 108, 98, 198, 120, 130, 96, 4, 4, 25, 110, + 32, 114, 4, 111, 116, 4, 114, 114, 7, 97, + 67, 157, 4, 91, 92, 98, 114, 164, 191, 97, + 169, 98, 4, 110, 6, 57, 22, 24, 25, 27, + 29, 56, 57, 65, 18, 114, 114, 130, 114, 140, + 33, 34, 35, 36, 37, 38, 39, 40, 117, 118, + 67, 157, 7, 97, 4, 79, 142, 166, 167, 110, + 96, 142, 197, 197, 197, 197, 197, 197, 197, 197, + 114, 33, 40, 91, 7, 166, 114, 178, 101, 94, + 103, 105, 106, 109, 143, 146, 159, 6, 110, 98, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 98, + 114, 175, 92, 171, 75, 142 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_uint8 yyr1[] = { - 0, 88, 89, 90, 91, 92, 92, 89, 93, 93, - 94, 94, 94, 95, 95, 95, 96, 96, 96, 96, - 97, 98, 98, 98, 98, 99, 100, 90, 101, 101, - 102, 103, 90, 104, 104, 105, 90, 106, 106, 107, - 107, 108, 90, 109, 110, 111, 111, 112, 112, 113, - 114, 113, 115, 115, 116, 116, 116, 116, 116, 116, - 116, 117, 116, 118, 119, 119, 120, 120, 120, 121, - 122, 123, 90, 90, 124, 125, 125, 126, 126, 126, - 126, 127, 129, 128, 130, 130, 131, 131, 90, 90, - 132, 132, 132, 132, 133, 133, 133, 90, 135, 134, - 90, 136, 136, 137, 137, 138, 140, 139, 90, 141, - 141, 142, 142, 142, 143, 90, 144, 145, 145, 145, - 146, 145, 145, 145, 90, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 90, 148, 148, 147, 90, 149, - 90, 90, 90, 150, 150, 90, 151, 151, 152, 152, - 153, 153, 154, 154, 154, 154, 155, 90, 156, 157, - 157, 157, 157, 90, 90, 158, 159, 159, 160, 162, - 161, 163, 163, 163, 163, 164, 165, 90, 90, 166, - 166, 166, 90, 167, 167, 168, 168, 170, 171, 169, - 90, 90, 172, 174, 173, 175, 175, 176, 178, 177, - 179, 179, 180, 181, 181, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 182, - 182, 183, 184, 186, 185, 187, 188, 189, 189, 190, - 190, 190, 190, 190, 190, 190, 190, 191, 192, 193, - 194, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 109, 196, 195 + 0, 89, 90, 91, 92, 93, 93, 90, 94, 94, + 95, 95, 95, 96, 96, 96, 97, 97, 97, 97, + 98, 99, 99, 99, 99, 100, 101, 91, 102, 102, + 103, 104, 91, 105, 105, 106, 91, 107, 107, 108, + 108, 109, 91, 110, 111, 112, 112, 113, 113, 114, + 115, 114, 116, 116, 117, 117, 117, 117, 117, 117, + 117, 118, 117, 119, 120, 120, 121, 121, 121, 122, + 123, 124, 91, 91, 125, 126, 126, 127, 128, 128, + 129, 130, 130, 130, 130, 131, 127, 132, 132, 134, + 133, 135, 133, 129, 91, 91, 136, 136, 136, 136, + 137, 137, 137, 91, 139, 138, 91, 140, 140, 141, + 141, 142, 144, 143, 91, 145, 145, 146, 146, 146, + 147, 91, 148, 149, 149, 150, 149, 149, 91, 151, + 151, 151, 151, 151, 151, 91, 152, 152, 151, 91, + 153, 91, 91, 91, 154, 154, 91, 155, 155, 156, + 156, 157, 157, 158, 158, 158, 158, 159, 91, 160, + 161, 161, 161, 161, 91, 91, 162, 162, 162, 91, + 163, 163, 164, 164, 164, 164, 165, 165, 166, 166, + 167, 169, 168, 170, 170, 170, 170, 171, 172, 91, + 91, 173, 173, 91, 174, 174, 175, 175, 177, 178, + 176, 91, 91, 179, 181, 180, 182, 182, 183, 185, + 184, 186, 186, 187, 188, 188, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 189, 189, 190, 191, 192, 192, 193, 194, 195, 195, + 196, 196, 196, 196, 196, 196, 196, 196, 197, 198, + 199, 200, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 110, 202, 201 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1266,27 +1300,28 @@ static const yytype_int8 yyr2[] = 2, 3, 4, 4, 0, 1, 2, 0, 1, 4, 0, 5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 2, 3, 0, 2, 0, 2, 2, 4, - 4, 4, 1, 1, 2, 5, 5, 2, 2, 2, - 2, 3, 0, 7, 4, 4, 4, 4, 1, 1, - 0, 1, 1, 1, 3, 3, 3, 4, 0, 4, - 4, 0, 2, 1, 1, 1, 0, 6, 4, 1, - 2, 3, 2, 1, 4, 1, 1, 3, 4, 3, - 0, 4, 4, 3, 4, 2, 3, 3, 2, 3, - 3, 3, 4, 4, 4, 1, 1, 1, 4, 1, - 4, 5, 4, 4, 4, 4, 1, 0, 2, 0, - 2, 0, 4, 5, 5, 6, 2, 4, 2, 1, - 1, 1, 0, 5, 5, 7, 1, 1, 3, 0, - 4, 1, 1, 1, 1, 10, 4, 1, 1, 2, - 3, 2, 5, 0, 1, 0, 2, 0, 0, 10, - 5, 5, 3, 0, 6, 0, 2, 5, 0, 6, - 0, 2, 4, 0, 4, 2, 2, 2, 2, 2, + 4, 4, 1, 1, 2, 4, 4, 5, 1, 4, + 5, 2, 2, 2, 2, 3, 4, 0, 3, 0, + 5, 0, 6, 4, 1, 1, 0, 1, 1, 1, + 3, 3, 3, 4, 0, 4, 4, 0, 2, 1, + 1, 1, 0, 6, 4, 1, 2, 3, 2, 1, + 4, 1, 1, 3, 3, 0, 4, 3, 4, 2, + 3, 3, 2, 3, 3, 4, 1, 1, 1, 4, + 1, 4, 5, 4, 4, 4, 4, 1, 0, 2, + 0, 2, 0, 4, 5, 5, 6, 2, 4, 2, + 1, 1, 1, 0, 5, 5, 7, 5, 6, 6, + 0, 2, 1, 1, 1, 1, 0, 2, 1, 1, + 3, 0, 4, 1, 1, 1, 1, 10, 4, 1, + 1, 2, 2, 5, 0, 1, 0, 2, 0, 0, + 10, 5, 5, 3, 0, 6, 0, 2, 5, 0, + 6, 0, 2, 4, 0, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, - 2, 2, 1, 0, 5, 2, 4, 2, 2, 5, - 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, - 1, 4, 5, 6, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 0, 5 + 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 1, 2, 2, 4, 1, 3, 2, 4, 2, 2, + 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, + 1, 1, 4, 5, 6, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 0, 5 }; @@ -2020,1202 +2055,1202 @@ yyreduce: switch (yyn) { case 2: /* glyph: UNSIGNED REFERENCE */ -#line 268 "parser.y" +#line 274 "parser.y" { #line 424 "format.w" (yyval.c).c= (yyvsp[-1].u);REF(font_kind,(yyvsp[0].u));(yyval.c).f= (yyvsp[0].u);} -#line 2028 "parser.c" +#line 2063 "parser.c" break; case 3: /* content_node: start "glyph" glyph ">" */ -#line 271 "parser.y" +#line 277 "parser.y" { #line 425 "format.w" hput_tags((yyvsp[-3].u),hput_glyph(&((yyvsp[-1].c))));} -#line 2036 "parser.c" +#line 2071 "parser.c" break; case 4: /* start: "<" */ -#line 274 "parser.y" +#line 280 "parser.y" { #line 426 "format.w" HPUTNODE;(yyval.u)= (uint32_t)(hpos++-hstart);} -#line 2044 "parser.c" +#line 2079 "parser.c" break; case 6: /* integer: UNSIGNED */ -#line 278 "parser.y" +#line 284 "parser.y" { - #line 947 "format.w" + #line 954 "format.w" RNG("number",(yyvsp[0].u),0,0x7FFFFFFF);} -#line 2052 "parser.c" +#line 2087 "parser.c" break; case 7: /* glyph: CHARCODE REFERENCE */ -#line 282 "parser.y" +#line 288 "parser.y" { - #line 1088 "format.w" + #line 1096 "format.w" (yyval.c).c= (yyvsp[-1].u);REF(font_kind,(yyvsp[0].u));(yyval.c).f= (yyvsp[0].u);} -#line 2060 "parser.c" +#line 2095 "parser.c" break; case 9: /* string: CHARCODE */ -#line 286 "parser.y" +#line 292 "parser.y" { - #line 1193 "format.w" + #line 1201 "format.w" static char s[2]; RNG("String element",(yyvsp[0].u),0x20,0x7E); s[0]= (yyvsp[0].u);s[1]= 0;(yyval.s)= s;} -#line 2070 "parser.c" +#line 2105 "parser.c" break; case 10: /* number: UNSIGNED */ -#line 292 "parser.y" +#line 298 "parser.y" { - #line 1346 "format.w" + #line 1354 "format.w" (yyval.f)= (float64_t)(yyvsp[0].u);} -#line 2078 "parser.c" +#line 2113 "parser.c" break; case 11: /* number: SIGNED */ -#line 294 "parser.y" +#line 300 "parser.y" { - #line 1346 "format.w" + #line 1354 "format.w" (yyval.f)= (float64_t)(yyvsp[0].i);} -#line 2086 "parser.c" +#line 2121 "parser.c" break; case 13: /* dimension: number "pt" */ -#line 298 "parser.y" +#line 304 "parser.y" { - #line 1697 "format.w" + #line 1708 "format.w" (yyval.d)= ROUND((yyvsp[-1].f)*ONE);RNG("Dimension",(yyval.d),-MAX_DIMEN,MAX_DIMEN);} -#line 2094 "parser.c" +#line 2129 "parser.c" break; case 14: /* dimension: number "in" */ -#line 301 "parser.y" +#line 307 "parser.y" { - #line 1698 "format.w" + #line 1709 "format.w" (yyval.d)= ROUND((yyvsp[-1].f)*ONE*72.27);RNG("Dimension",(yyval.d),-MAX_DIMEN,MAX_DIMEN);} -#line 2102 "parser.c" +#line 2137 "parser.c" break; case 15: /* dimension: number "mm" */ -#line 304 "parser.y" +#line 310 "parser.y" { - #line 1699 "format.w" + #line 1710 "format.w" (yyval.d)= ROUND((yyvsp[-1].f)*ONE*(72.27/25.4));RNG("Dimension",(yyval.d),-MAX_DIMEN,MAX_DIMEN);} -#line 2110 "parser.c" +#line 2145 "parser.c" break; case 16: /* xdimen: dimension number "h" number "v" */ -#line 308 "parser.y" +#line 314 "parser.y" { - #line 1777 "format.w" + #line 1788 "format.w" (yyval.xd).w= (yyvsp[-4].d);(yyval.xd).h= (yyvsp[-3].f);(yyval.xd).v= (yyvsp[-1].f);} -#line 2118 "parser.c" +#line 2153 "parser.c" break; case 17: /* xdimen: dimension number "h" */ -#line 311 "parser.y" +#line 317 "parser.y" { - #line 1778 "format.w" + #line 1789 "format.w" (yyval.xd).w= (yyvsp[-2].d);(yyval.xd).h= (yyvsp[-1].f);(yyval.xd).v= 0.0;} -#line 2126 "parser.c" +#line 2161 "parser.c" break; case 18: /* xdimen: dimension number "v" */ -#line 314 "parser.y" +#line 320 "parser.y" { - #line 1779 "format.w" + #line 1790 "format.w" (yyval.xd).w= (yyvsp[-2].d);(yyval.xd).h= 0.0;(yyval.xd).v= (yyvsp[-1].f);} -#line 2134 "parser.c" +#line 2169 "parser.c" break; case 19: /* xdimen: dimension */ -#line 317 "parser.y" +#line 323 "parser.y" { - #line 1780 "format.w" + #line 1791 "format.w" (yyval.xd).w= (yyvsp[0].d);(yyval.xd).h= 0.0;(yyval.xd).v= 0.0;} -#line 2142 "parser.c" +#line 2177 "parser.c" break; case 20: /* xdimen_node: start "xdimen" xdimen ">" */ -#line 321 "parser.y" +#line 327 "parser.y" { - #line 1782 "format.w" + #line 1793 "format.w" hput_tags((yyvsp[-3].u),hput_xdimen(&((yyvsp[-1].xd))));} -#line 2150 "parser.c" +#line 2185 "parser.c" break; case 21: /* order: "pt" */ -#line 326 "parser.y" +#line 332 "parser.y" { - #line 1961 "format.w" + #line 1972 "format.w" (yyval.o)= normal_o;} -#line 2158 "parser.c" +#line 2193 "parser.c" break; case 22: /* order: "fil" */ -#line 328 "parser.y" +#line 334 "parser.y" { - #line 1961 "format.w" + #line 1972 "format.w" (yyval.o)= fil_o;} -#line 2166 "parser.c" +#line 2201 "parser.c" break; case 23: /* order: "fill" */ -#line 330 "parser.y" +#line 336 "parser.y" { - #line 1961 "format.w" + #line 1972 "format.w" (yyval.o)= fill_o;} -#line 2174 "parser.c" +#line 2209 "parser.c" break; case 24: /* order: "filll" */ -#line 332 "parser.y" +#line 338 "parser.y" { - #line 1961 "format.w" + #line 1972 "format.w" (yyval.o)= filll_o;} -#line 2182 "parser.c" +#line 2217 "parser.c" break; case 25: /* stretch: number order */ -#line 336 "parser.y" +#line 342 "parser.y" { - #line 1963 "format.w" + #line 1974 "format.w" (yyval.st).f= (yyvsp[-1].f);(yyval.st).o= (yyvsp[0].o);} -#line 2190 "parser.c" +#line 2225 "parser.c" break; case 26: /* penalty: integer */ -#line 340 "parser.y" +#line 346 "parser.y" { - #line 2017 "format.w" + #line 2028 "format.w" RNG("Penalty",(yyvsp[0].i),-20000,+20000);(yyval.i)= (yyvsp[0].i);} -#line 2198 "parser.c" +#line 2233 "parser.c" break; case 27: /* content_node: start "penalty" penalty ">" */ -#line 343 "parser.y" +#line 349 "parser.y" { - #line 2018 "format.w" + #line 2029 "format.w" hput_tags((yyvsp[-3].u),hput_int((yyvsp[-1].i)));} -#line 2206 "parser.c" +#line 2241 "parser.c" break; case 29: /* rule_dimension: "|" */ -#line 347 "parser.y" +#line 353 "parser.y" { - #line 2193 "format.w" + #line 2206 "format.w" (yyval.d)= RUNNING_DIMEN;} -#line 2214 "parser.c" +#line 2249 "parser.c" break; case 30: /* rule: rule_dimension rule_dimension rule_dimension */ -#line 351 "parser.y" +#line 357 "parser.y" { - #line 2195 "format.w" + #line 2208 "format.w" (yyval.r).h= (yyvsp[-2].d);(yyval.r).d= (yyvsp[-1].d);(yyval.r).w= (yyvsp[0].d); if((yyvsp[0].d)==RUNNING_DIMEN&&((yyvsp[-2].d)==RUNNING_DIMEN||(yyvsp[-1].d)==RUNNING_DIMEN)) QUIT("Incompatible running dimensions 0x%x 0x%x 0x%x",(yyvsp[-2].d),(yyvsp[-1].d),(yyvsp[0].d));} -#line 2224 "parser.c" +#line 2259 "parser.c" break; case 31: /* rule_node: start "rule" rule ">" */ -#line 356 "parser.y" +#line 362 "parser.y" { - #line 2198 "format.w" + #line 2211 "format.w" hput_tags((yyvsp[-3].u),hput_rule(&((yyvsp[-1].r))));} -#line 2232 "parser.c" +#line 2267 "parser.c" break; case 33: /* explicit: %empty */ -#line 361 "parser.y" +#line 367 "parser.y" { - #line 2306 "format.w" + #line 2319 "format.w" (yyval.b)= false;} -#line 2240 "parser.c" +#line 2275 "parser.c" break; case 34: /* explicit: "!" */ -#line 363 "parser.y" +#line 369 "parser.y" { - #line 2306 "format.w" + #line 2319 "format.w" (yyval.b)= true;} -#line 2248 "parser.c" +#line 2283 "parser.c" break; case 35: /* kern: explicit xdimen */ -#line 366 "parser.y" +#line 372 "parser.y" { - #line 2307 "format.w" + #line 2320 "format.w" (yyval.kt).x= (yyvsp[-1].b);(yyval.kt).d= (yyvsp[0].xd);} -#line 2256 "parser.c" +#line 2291 "parser.c" break; case 36: /* content_node: start "kern" kern ">" */ -#line 369 "parser.y" +#line 375 "parser.y" { - #line 2308 "format.w" + #line 2321 "format.w" hput_tags((yyvsp[-3].u),hput_kern(&((yyvsp[-1].kt))));} -#line 2264 "parser.c" +#line 2299 "parser.c" break; case 37: /* plus: %empty */ -#line 373 "parser.y" +#line 379 "parser.y" { - #line 2518 "format.w" + #line 2531 "format.w" (yyval.st).f= 0.0;(yyval.st).o= 0;} -#line 2272 "parser.c" +#line 2307 "parser.c" break; case 38: /* plus: "plus" stretch */ -#line 375 "parser.y" +#line 381 "parser.y" { - #line 2518 "format.w" + #line 2531 "format.w" (yyval.st)= (yyvsp[0].st);} -#line 2280 "parser.c" +#line 2315 "parser.c" break; case 39: /* minus: %empty */ -#line 378 "parser.y" +#line 384 "parser.y" { - #line 2519 "format.w" + #line 2532 "format.w" (yyval.st).f= 0.0;(yyval.st).o= 0;} -#line 2288 "parser.c" +#line 2323 "parser.c" break; case 40: /* minus: "minus" stretch */ -#line 380 "parser.y" +#line 386 "parser.y" { - #line 2519 "format.w" + #line 2532 "format.w" (yyval.st)= (yyvsp[0].st);} -#line 2296 "parser.c" +#line 2331 "parser.c" break; case 41: /* glue: xdimen plus minus */ -#line 383 "parser.y" +#line 389 "parser.y" { - #line 2520 "format.w" + #line 2533 "format.w" (yyval.g).w= (yyvsp[-2].xd);(yyval.g).p= (yyvsp[-1].st);(yyval.g).m= (yyvsp[0].st);} -#line 2304 "parser.c" +#line 2339 "parser.c" break; case 42: /* content_node: start "glue" glue ">" */ -#line 386 "parser.y" +#line 392 "parser.y" { - #line 2521 "format.w" + #line 2534 "format.w" if(ZERO_GLUE((yyvsp[-1].g))){HPUT8(zero_skip_no); hput_tags((yyvsp[-3].u),TAG(glue_kind,0));}else hput_tags((yyvsp[-3].u),hput_glue(&((yyvsp[-1].g))));} -#line 2313 "parser.c" +#line 2348 "parser.c" break; case 43: /* glue_node: start "glue" glue ">" */ -#line 391 "parser.y" +#line 397 "parser.y" { - #line 2524 "format.w" + #line 2537 "format.w" if(ZERO_GLUE((yyvsp[-1].g))){hpos--;(yyval.b)= false;} else{hput_tags((yyvsp[-3].u),hput_glue(&((yyvsp[-1].g))));(yyval.b)= true;}} -#line 2322 "parser.c" +#line 2357 "parser.c" break; case 44: /* position: %empty */ -#line 396 "parser.y" +#line 402 "parser.y" { - #line 2800 "format.w" + #line 2812 "format.w" (yyval.u)= hpos-hstart;} -#line 2330 "parser.c" +#line 2365 "parser.c" break; case 47: /* estimate: %empty */ -#line 401 "parser.y" +#line 407 "parser.y" { - #line 2803 "format.w" + #line 2815 "format.w" hpos+= 2;} -#line 2338 "parser.c" +#line 2373 "parser.c" break; case 48: /* estimate: UNSIGNED */ -#line 404 "parser.y" +#line 410 "parser.y" { - #line 2804 "format.w" + #line 2816 "format.w" hpos+= hsize_bytes((yyvsp[0].u))+1;} -#line 2346 "parser.c" +#line 2381 "parser.c" break; case 49: /* list: start estimate content_list ">" */ -#line 408 "parser.y" +#line 414 "parser.y" { - #line 2806 "format.w" - (yyval.l).k= list_kind;(yyval.l).p= (yyvsp[-1].u);(yyval.l).s= (hpos-hstart)-(yyvsp[-1].u); + #line 2818 "format.w" + (yyval.l).t= TAG(list_kind,b010);(yyval.l).p= (yyvsp[-1].u);(yyval.l).s= (hpos-hstart)-(yyvsp[-1].u); hput_tags((yyvsp[-3].u),hput_list((yyvsp[-3].u)+1,&((yyval.l))));} -#line 2355 "parser.c" +#line 2390 "parser.c" break; case 50: /* $@1: %empty */ -#line 414 "parser.y" +#line 420 "parser.y" { - #line 3213 "format.w" + #line 3232 "format.w" hpos+= 4;} -#line 2363 "parser.c" +#line 2398 "parser.c" break; case 51: /* list: TXT_START position $@1 text TXT_END */ -#line 418 "parser.y" +#line 424 "parser.y" { - #line 3215 "format.w" - (yyval.l).k= text_kind;(yyval.l).p= (yyvsp[-1].u);(yyval.l).s= (hpos-hstart)-(yyvsp[-1].u); + #line 3234 "format.w" + (yyval.l).t= TAG(list_kind,b110);(yyval.l).p= (yyvsp[-1].u);(yyval.l).s= (hpos-hstart)-(yyvsp[-1].u); hput_tags((yyvsp[-3].u),hput_list((yyvsp[-3].u)+1,&((yyval.l))));} -#line 2372 "parser.c" +#line 2407 "parser.c" break; case 54: /* txt: TXT_CC */ -#line 424 "parser.y" +#line 430 "parser.y" { - #line 3219 "format.w" + #line 3238 "format.w" hput_txt_cc((yyvsp[0].u));} -#line 2380 "parser.c" +#line 2415 "parser.c" break; case 55: /* txt: TXT_FONT */ -#line 427 "parser.y" +#line 433 "parser.y" { - #line 3220 "format.w" + #line 3239 "format.w" REF(font_kind,(yyvsp[0].u));hput_txt_font((yyvsp[0].u));} -#line 2388 "parser.c" +#line 2423 "parser.c" break; case 56: /* txt: TXT_GLOBAL */ -#line 430 "parser.y" +#line 436 "parser.y" { - #line 3221 "format.w" + #line 3240 "format.w" REF((yyvsp[0].rf).k,(yyvsp[0].rf).n);hput_txt_global(&((yyvsp[0].rf)));} -#line 2396 "parser.c" +#line 2431 "parser.c" break; case 57: /* txt: TXT_LOCAL */ -#line 433 "parser.y" +#line 439 "parser.y" { - #line 3222 "format.w" + #line 3241 "format.w" RNG("Font parameter",(yyvsp[0].u),0,11);hput_txt_local((yyvsp[0].u));} -#line 2404 "parser.c" +#line 2439 "parser.c" break; case 58: /* txt: TXT_FONT_GLUE */ -#line 436 "parser.y" +#line 442 "parser.y" { - #line 3223 "format.w" + #line 3242 "format.w" HPUTX(1);HPUT8(txt_glue);} -#line 2412 "parser.c" +#line 2447 "parser.c" break; case 59: /* txt: TXT_FONT_HYPHEN */ -#line 439 "parser.y" +#line 445 "parser.y" { - #line 3224 "format.w" + #line 3243 "format.w" HPUTX(1);HPUT8(txt_hyphen);} -#line 2420 "parser.c" +#line 2455 "parser.c" break; case 60: /* txt: TXT_IGNORE */ -#line 442 "parser.y" +#line 448 "parser.y" { - #line 3225 "format.w" + #line 3244 "format.w" HPUTX(1);HPUT8(txt_ignore);} -#line 2428 "parser.c" +#line 2463 "parser.c" break; case 61: /* $@2: %empty */ -#line 445 "parser.y" +#line 451 "parser.y" { - #line 3226 "format.w" + #line 3245 "format.w" HPUTX(1);HPUT8(txt_node);} -#line 2436 "parser.c" +#line 2471 "parser.c" break; case 63: /* box_dimen: dimension dimension dimension */ -#line 451 "parser.y" +#line 457 "parser.y" { - #line 3486 "format.w" + #line 3501 "format.w" (yyval.info)= hput_box_dimen((yyvsp[-2].d),(yyvsp[-1].d),(yyvsp[0].d));} -#line 2444 "parser.c" +#line 2479 "parser.c" break; case 64: /* box_shift: %empty */ -#line 454 "parser.y" +#line 460 "parser.y" { - #line 3487 "format.w" + #line 3502 "format.w" (yyval.info)= b000;} -#line 2452 "parser.c" +#line 2487 "parser.c" break; case 65: /* box_shift: "shifted" dimension */ -#line 457 "parser.y" +#line 463 "parser.y" { - #line 3488 "format.w" + #line 3503 "format.w" (yyval.info)= hput_box_shift((yyvsp[0].d));} -#line 2460 "parser.c" +#line 2495 "parser.c" break; case 66: /* box_glue_set: %empty */ -#line 461 "parser.y" +#line 467 "parser.y" { - #line 3490 "format.w" + #line 3505 "format.w" (yyval.info)= b000;} -#line 2468 "parser.c" +#line 2503 "parser.c" break; case 67: /* box_glue_set: "plus" stretch */ -#line 464 "parser.y" +#line 470 "parser.y" { - #line 3491 "format.w" + #line 3506 "format.w" (yyval.info)= hput_box_glue_set(+1,(yyvsp[0].st).f,(yyvsp[0].st).o);} -#line 2476 "parser.c" +#line 2511 "parser.c" break; case 68: /* box_glue_set: "minus" stretch */ -#line 467 "parser.y" +#line 473 "parser.y" { - #line 3492 "format.w" + #line 3507 "format.w" (yyval.info)= hput_box_glue_set(-1,(yyvsp[0].st).f,(yyvsp[0].st).o);} -#line 2484 "parser.c" +#line 2519 "parser.c" break; case 69: /* box: box_dimen box_shift box_glue_set list */ -#line 472 "parser.y" +#line 478 "parser.y" { - #line 3495 "format.w" + #line 3510 "format.w" (yyval.info)= (yyvsp[-3].info) |(yyvsp[-2].info) |(yyvsp[-1].info);} -#line 2492 "parser.c" +#line 2527 "parser.c" break; case 70: /* hbox_node: start "hbox" box ">" */ -#line 476 "parser.y" +#line 482 "parser.y" { - #line 3497 "format.w" + #line 3512 "format.w" hput_tags((yyvsp[-3].u),TAG(hbox_kind,(yyvsp[-1].info)));} -#line 2500 "parser.c" +#line 2535 "parser.c" break; case 71: /* vbox_node: start "vbox" box ">" */ -#line 479 "parser.y" +#line 485 "parser.y" { - #line 3498 "format.w" + #line 3513 "format.w" hput_tags((yyvsp[-3].u),TAG(vbox_kind,(yyvsp[-1].info)));} -#line 2508 "parser.c" +#line 2543 "parser.c" break; case 74: /* box_flex: plus minus */ -#line 484 "parser.y" +#line 490 "parser.y" { - #line 3679 "format.w" + #line 3709 "format.w" hput_stretch(&((yyvsp[-1].st)));hput_stretch(&((yyvsp[0].st)));} -#line 2516 "parser.c" +#line 2551 "parser.c" break; - case 75: /* xbox: box_dimen box_shift box_flex xdimen_ref list */ -#line 487 "parser.y" - { - #line 3680 "format.w" - (yyval.info)= (yyvsp[-4].info) |(yyvsp[-3].info);} -#line 2524 "parser.c" + case 75: /* box_options: box_shift box_flex xdimen_ref list */ +#line 494 "parser.y" + { + #line 3711 "format.w" + (yyval.info)= (yyvsp[-3].info);} +#line 2559 "parser.c" break; - case 76: /* xbox: box_dimen box_shift box_flex xdimen_node list */ -#line 490 "parser.y" - { - #line 3681 "format.w" - (yyval.info)= (yyvsp[-4].info) |(yyvsp[-3].info) |b100;} -#line 2532 "parser.c" + case 76: /* box_options: box_shift box_flex xdimen_node list */ +#line 497 "parser.y" + { + #line 3712 "format.w" + (yyval.info)= (yyvsp[-3].info) |b100;} +#line 2567 "parser.c" break; - case 77: /* box_goal: "to" xdimen_ref */ -#line 494 "parser.y" + case 77: /* hxbox_node: start "hset" box_dimen box_options ">" */ +#line 501 "parser.y" + { + #line 3714 "format.w" + hput_tags((yyvsp[-4].u),TAG(hset_kind,(yyvsp[-2].info) |(yyvsp[-1].info)));} +#line 2575 "parser.c" + break; + + case 79: /* vbox_dimen: "top" dimension dimension dimension */ +#line 507 "parser.y" +{ + #line 3718 "format.w" + (yyval.info)= hput_box_dimen((yyvsp[-2].d),(yyvsp[-1].d)^0x40000000,(yyvsp[0].d));} +#line 2583 "parser.c" + break; + + case 80: /* vxbox_node: start "vset" vbox_dimen box_options ">" */ +#line 511 "parser.y" + { + #line 3720 "format.w" + hput_tags((yyvsp[-4].u),TAG(vset_kind,(yyvsp[-2].info) |(yyvsp[-1].info)));} +#line 2591 "parser.c" + break; + + case 81: /* box_goal: "to" xdimen_ref */ +#line 515 "parser.y" { - #line 3683 "format.w" + #line 3722 "format.w" (yyval.info)= b000;} -#line 2540 "parser.c" +#line 2599 "parser.c" break; - case 78: /* box_goal: "add" xdimen_ref */ -#line 497 "parser.y" + case 82: /* box_goal: "add" xdimen_ref */ +#line 518 "parser.y" { - #line 3684 "format.w" + #line 3723 "format.w" (yyval.info)= b001;} -#line 2548 "parser.c" +#line 2607 "parser.c" break; - case 79: /* box_goal: "to" xdimen_node */ -#line 500 "parser.y" + case 83: /* box_goal: "to" xdimen_node */ +#line 521 "parser.y" { - #line 3685 "format.w" + #line 3724 "format.w" (yyval.info)= b100;} -#line 2556 "parser.c" +#line 2615 "parser.c" break; - case 80: /* box_goal: "add" xdimen_node */ -#line 503 "parser.y" + case 84: /* box_goal: "add" xdimen_node */ +#line 524 "parser.y" { - #line 3686 "format.w" + #line 3725 "format.w" (yyval.info)= b101;} -#line 2564 "parser.c" +#line 2623 "parser.c" break; - case 81: /* hpack: box_shift box_goal list */ -#line 507 "parser.y" + case 85: /* hpack: box_shift box_goal list */ +#line 528 "parser.y" { - #line 3688 "format.w" + #line 3727 "format.w" (yyval.info)= (yyvsp[-1].info);} -#line 2572 "parser.c" +#line 2631 "parser.c" break; - case 82: /* $@3: %empty */ -#line 510 "parser.y" - { - #line 3689 "format.w" - HPUT32((yyvsp[0].d));} -#line 2580 "parser.c" + case 86: /* hxbox_node: start "hpack" hpack ">" */ +#line 532 "parser.y" + { + #line 3729 "format.w" + hput_tags((yyvsp[-3].u),TAG(hpack_kind,(yyvsp[-1].info)));} +#line 2639 "parser.c" break; - case 83: /* vpack: box_shift "max" "depth" dimension $@3 box_goal list */ -#line 512 "parser.y" - { - #line 3689 "format.w" - (yyval.info)= (yyvsp[-6].info) |(yyvsp[-1].info);} -#line 2588 "parser.c" + case 87: /* max_depth: %empty */ +#line 536 "parser.y" + { + #line 3731 "format.w" + (yyval.d)= MAX_DIMEN;} +#line 2647 "parser.c" break; - case 84: /* vxbox_node: start "vset" xbox ">" */ -#line 516 "parser.y" - { - #line 3691 "format.w" - hput_tags((yyvsp[-3].u),TAG(vset_kind,(yyvsp[-1].info)));} -#line 2596 "parser.c" + case 88: /* max_depth: "max" "depth" dimension */ +#line 538 "parser.y" + { + #line 3731 "format.w" + (yyval.d)= (yyvsp[0].d);} +#line 2655 "parser.c" break; - case 85: /* vxbox_node: start "vpack" vpack ">" */ -#line 519 "parser.y" - { - #line 3692 "format.w" - hput_tags((yyvsp[-3].u),TAG(vpack_kind,(yyvsp[-1].info)));} -#line 2604 "parser.c" + case 89: /* $@3: %empty */ +#line 542 "parser.y" + { + #line 3733 "format.w" + HPUT32((yyvsp[0].d));} +#line 2663 "parser.c" break; - case 86: /* hxbox_node: start "hset" xbox ">" */ -#line 524 "parser.y" - { - #line 3695 "format.w" - hput_tags((yyvsp[-3].u),TAG(hset_kind,(yyvsp[-1].info)));} -#line 2612 "parser.c" + case 90: /* vpack: max_depth $@3 box_shift box_goal list */ +#line 544 "parser.y" + { + #line 3733 "format.w" + (yyval.info)= (yyvsp[-2].info) |(yyvsp[-1].info);} +#line 2671 "parser.c" break; - case 87: /* hxbox_node: start "hpack" hpack ">" */ -#line 527 "parser.y" - { - #line 3696 "format.w" - hput_tags((yyvsp[-3].u),TAG(hpack_kind,(yyvsp[-1].info)));} -#line 2620 "parser.c" + case 91: /* $@4: %empty */ +#line 547 "parser.y" + { + #line 3734 "format.w" + HPUT32((yyvsp[0].d)^0x40000000);} +#line 2679 "parser.c" + break; + + case 92: /* vpack: "top" max_depth $@4 box_shift box_goal list */ +#line 549 "parser.y" + { + #line 3734 "format.w" + (yyval.info)= (yyvsp[-2].info) |(yyvsp[-1].info);} +#line 2687 "parser.c" + break; + + case 93: /* vxbox_node: start "vpack" vpack ">" */ +#line 553 "parser.y" + { + #line 3736 "format.w" + hput_tags((yyvsp[-3].u),TAG(vpack_kind,(yyvsp[-1].info)));} +#line 2695 "parser.c" break; - case 90: /* ltype: %empty */ -#line 533 "parser.y" + case 96: /* ltype: %empty */ +#line 559 "parser.y" { - #line 3806 "format.w" + #line 3850 "format.w" (yyval.info)= 1;} -#line 2628 "parser.c" +#line 2703 "parser.c" break; - case 91: /* ltype: "align" */ -#line 535 "parser.y" + case 97: /* ltype: "align" */ +#line 561 "parser.y" { - #line 3806 "format.w" + #line 3850 "format.w" (yyval.info)= 1;} -#line 2636 "parser.c" +#line 2711 "parser.c" break; - case 92: /* ltype: "center" */ -#line 537 "parser.y" + case 98: /* ltype: "center" */ +#line 563 "parser.y" { - #line 3806 "format.w" + #line 3850 "format.w" (yyval.info)= 2;} -#line 2644 "parser.c" +#line 2719 "parser.c" break; - case 93: /* ltype: "expand" */ -#line 539 "parser.y" + case 99: /* ltype: "expand" */ +#line 565 "parser.y" { - #line 3806 "format.w" + #line 3850 "format.w" (yyval.info)= 3;} -#line 2652 "parser.c" +#line 2727 "parser.c" break; - case 94: /* leaders: glue_node ltype rule_node */ -#line 542 "parser.y" + case 100: /* leaders: glue_node ltype rule_node */ +#line 568 "parser.y" { - #line 3807 "format.w" + #line 3851 "format.w" if((yyvsp[-2].b))(yyval.info)= (yyvsp[-1].info) |b100;else (yyval.info)= (yyvsp[-1].info);} -#line 2660 "parser.c" +#line 2735 "parser.c" break; - case 95: /* leaders: glue_node ltype hbox_node */ -#line 545 "parser.y" + case 101: /* leaders: glue_node ltype hbox_node */ +#line 571 "parser.y" { - #line 3808 "format.w" + #line 3852 "format.w" if((yyvsp[-2].b))(yyval.info)= (yyvsp[-1].info) |b100;else (yyval.info)= (yyvsp[-1].info);} -#line 2668 "parser.c" +#line 2743 "parser.c" break; - case 96: /* leaders: glue_node ltype vbox_node */ -#line 548 "parser.y" + case 102: /* leaders: glue_node ltype vbox_node */ +#line 574 "parser.y" { - #line 3809 "format.w" + #line 3853 "format.w" if((yyvsp[-2].b))(yyval.info)= (yyvsp[-1].info) |b100;else (yyval.info)= (yyvsp[-1].info);} -#line 2676 "parser.c" +#line 2751 "parser.c" break; - case 97: /* content_node: start "leaders" leaders ">" */ -#line 551 "parser.y" + case 103: /* content_node: start "leaders" leaders ">" */ +#line 577 "parser.y" { - #line 3810 "format.w" + #line 3854 "format.w" hput_tags((yyvsp[-3].u),TAG(leaders_kind,(yyvsp[-1].info)));} -#line 2684 "parser.c" +#line 2759 "parser.c" break; - case 98: /* $@4: %empty */ -#line 555 "parser.y" + case 104: /* $@5: %empty */ +#line 581 "parser.y" { - #line 3916 "format.w" + #line 3960 "format.w" if((yyvsp[0].d)!=0)HPUT32((yyvsp[0].d));} -#line 2692 "parser.c" +#line 2767 "parser.c" break; - case 99: /* baseline: dimension $@4 glue_node glue_node */ -#line 558 "parser.y" + case 105: /* baseline: dimension $@5 glue_node glue_node */ +#line 584 "parser.y" { - #line 3917 "format.w" + #line 3961 "format.w" (yyval.info)= b000;if((yyvsp[-3].d)!=0)(yyval.info) |= b001; if((yyvsp[-1].b))(yyval.info) |= b100; if((yyvsp[0].b))(yyval.info) |= b010; } -#line 2703 "parser.c" +#line 2778 "parser.c" break; - case 100: /* content_node: start "baseline" baseline ">" */ -#line 565 "parser.y" + case 106: /* content_node: start "baseline" baseline ">" */ +#line 591 "parser.y" { - #line 3922 "format.w" + #line 3966 "format.w" if((yyvsp[-1].info)==b000)HPUT8(0);hput_tags((yyvsp[-3].u),TAG(baseline_kind,(yyvsp[-1].info)));} -#line 2711 "parser.c" +#line 2786 "parser.c" break; - case 102: /* cc_list: cc_list TXT_CC */ -#line 569 "parser.y" + case 108: /* cc_list: cc_list TXT_CC */ +#line 595 "parser.y" { - #line 4005 "format.w" + #line 4049 "format.w" hput_utf8((yyvsp[0].u));} -#line 2719 "parser.c" +#line 2794 "parser.c" break; - case 103: /* lig_cc: UNSIGNED */ -#line 572 "parser.y" + case 109: /* lig_cc: UNSIGNED */ +#line 598 "parser.y" { - #line 4006 "format.w" + #line 4050 "format.w" RNG("UTF-8 code",(yyvsp[0].u),0,0x1FFFFF);(yyval.u)= hpos-hstart;hput_utf8((yyvsp[0].u));} -#line 2727 "parser.c" +#line 2802 "parser.c" break; - case 104: /* lig_cc: CHARCODE */ -#line 575 "parser.y" + case 110: /* lig_cc: CHARCODE */ +#line 601 "parser.y" { - #line 4007 "format.w" + #line 4051 "format.w" (yyval.u)= hpos-hstart;hput_utf8((yyvsp[0].u));} -#line 2735 "parser.c" +#line 2810 "parser.c" break; - case 105: /* ref: REFERENCE */ -#line 578 "parser.y" + case 111: /* ref: REFERENCE */ +#line 604 "parser.y" { - #line 4008 "format.w" + #line 4052 "format.w" HPUT8((yyvsp[0].u));(yyval.u)= (yyvsp[0].u);} -#line 2743 "parser.c" +#line 2818 "parser.c" break; - case 106: /* $@5: %empty */ -#line 581 "parser.y" + case 112: /* $@6: %empty */ +#line 607 "parser.y" { - #line 4009 "format.w" + #line 4053 "format.w" REF(font_kind,(yyvsp[0].u));} -#line 2751 "parser.c" +#line 2826 "parser.c" break; - case 107: /* ligature: ref $@5 lig_cc TXT_START cc_list TXT_END */ -#line 584 "parser.y" + case 113: /* ligature: ref $@6 lig_cc TXT_START cc_list TXT_END */ +#line 610 "parser.y" { - #line 4010 "format.w" + #line 4054 "format.w" (yyval.lg).f= (yyvsp[-5].u);(yyval.lg).l.p= (yyvsp[-3].u);(yyval.lg).l.s= (hpos-hstart)-(yyvsp[-3].u); RNG("Ligature size",(yyval.lg).l.s,0,255);} -#line 2760 "parser.c" +#line 2835 "parser.c" break; - case 108: /* content_node: start "ligature" ligature ">" */ -#line 588 "parser.y" + case 114: /* content_node: start "ligature" ligature ">" */ +#line 614 "parser.y" { - #line 4012 "format.w" + #line 4056 "format.w" hput_tags((yyvsp[-3].u),hput_ligature(&((yyvsp[-1].lg))));} -#line 2768 "parser.c" +#line 2843 "parser.c" break; - case 109: /* replace_count: explicit */ -#line 592 "parser.y" + case 115: /* replace_count: explicit */ +#line 618 "parser.y" { - #line 4122 "format.w" + #line 4166 "format.w" if((yyvsp[0].b)){(yyval.u)= 0x80;HPUT8(0x80);}else (yyval.u)= 0x00;} -#line 2776 "parser.c" +#line 2851 "parser.c" break; - case 110: /* replace_count: explicit UNSIGNED */ -#line 595 "parser.y" + case 116: /* replace_count: explicit UNSIGNED */ +#line 621 "parser.y" { - #line 4123 "format.w" + #line 4167 "format.w" RNG("Replace count",(yyvsp[0].u),0,31); (yyval.u)= ((yyvsp[0].u)) |(((yyvsp[-1].b))?0x80:0x00);if((yyval.u)!=0)HPUT8((yyval.u));} -#line 2785 "parser.c" +#line 2860 "parser.c" break; - case 111: /* disc: replace_count list list */ -#line 599 "parser.y" + case 117: /* disc: replace_count list list */ +#line 625 "parser.y" { - #line 4125 "format.w" + #line 4169 "format.w" (yyval.dc).r= (yyvsp[-2].u);(yyval.dc).p= (yyvsp[-1].l);(yyval.dc).q= (yyvsp[0].l); - if((yyvsp[0].l).s==0){hpos= hpos-2;if((yyvsp[-1].l).s==0)hpos= hpos-2;}} -#line 2794 "parser.c" + if((yyvsp[0].l).s==0){hpos= hpos-3;if((yyvsp[-1].l).s==0)hpos= hpos-3;}} +#line 2869 "parser.c" break; - case 112: /* disc: replace_count list */ -#line 603 "parser.y" + case 118: /* disc: replace_count list */ +#line 629 "parser.y" { - #line 4127 "format.w" - (yyval.dc).r= (yyvsp[-1].u);(yyval.dc).p= (yyvsp[0].l);if((yyvsp[0].l).s==0)hpos= hpos-2;(yyval.dc).q.s= 0;} -#line 2802 "parser.c" + #line 4171 "format.w" + (yyval.dc).r= (yyvsp[-1].u);(yyval.dc).p= (yyvsp[0].l);if((yyvsp[0].l).s==0)hpos= hpos-3;(yyval.dc).q.s= 0;} +#line 2877 "parser.c" break; - case 113: /* disc: replace_count */ -#line 606 "parser.y" + case 119: /* disc: replace_count */ +#line 632 "parser.y" { - #line 4128 "format.w" + #line 4172 "format.w" (yyval.dc).r= (yyvsp[0].u);(yyval.dc).p.s= 0;(yyval.dc).q.s= 0;} -#line 2810 "parser.c" +#line 2885 "parser.c" break; - case 114: /* disc_node: start "disc" disc ">" */ -#line 612 "parser.y" + case 120: /* disc_node: start "disc" disc ">" */ +#line 638 "parser.y" { - #line 4132 "format.w" + #line 4176 "format.w" hput_tags((yyvsp[-3].u),hput_disc(&((yyvsp[-1].dc))));} -#line 2818 "parser.c" +#line 2893 "parser.c" break; - case 116: /* par_dimen: xdimen */ -#line 618 "parser.y" + case 122: /* par_dimen: xdimen */ +#line 644 "parser.y" { - #line 4286 "format.w" + #line 4328 "format.w" hput_xdimen_node(&((yyvsp[0].xd)));} -#line 2826 "parser.c" +#line 2901 "parser.c" break; - case 117: /* par: xdimen_ref param_ref list */ -#line 621 "parser.y" + case 123: /* par: xdimen_ref param_ref list */ +#line 647 "parser.y" { - #line 4287 "format.w" + #line 4329 "format.w" (yyval.info)= b000;} -#line 2834 "parser.c" +#line 2909 "parser.c" break; - case 118: /* par: xdimen_ref empty_param_list non_empty_param_list list */ -#line 624 "parser.y" - { - #line 4288 "format.w" - (yyval.info)= b010;} -#line 2842 "parser.c" - break; - - case 119: /* par: xdimen_ref empty_param_list list */ -#line 627 "parser.y" - { - #line 4289 "format.w" + case 124: /* par: xdimen_ref param_list list */ +#line 650 "parser.y" + { + #line 4330 "format.w" (yyval.info)= b010;} -#line 2850 "parser.c" +#line 2917 "parser.c" break; - case 120: /* $@6: %empty */ -#line 630 "parser.y" + case 125: /* $@7: %empty */ +#line 653 "parser.y" { - #line 4290 "format.w" + #line 4331 "format.w" hput_xdimen_node(&((yyvsp[-1].xd)));} -#line 2858 "parser.c" +#line 2925 "parser.c" break; - case 121: /* par: xdimen param_ref $@6 list */ -#line 632 "parser.y" + case 126: /* par: xdimen param_ref $@7 list */ +#line 655 "parser.y" { - #line 4290 "format.w" + #line 4331 "format.w" (yyval.info)= b100;} -#line 2866 "parser.c" +#line 2933 "parser.c" break; - case 122: /* par: par_dimen empty_param_list non_empty_param_list list */ -#line 635 "parser.y" - { - #line 4291 "format.w" - (yyval.info)= b110;} -#line 2874 "parser.c" - break; - - case 123: /* par: par_dimen empty_param_list list */ -#line 638 "parser.y" - { - #line 4292 "format.w" + case 127: /* par: par_dimen param_list list */ +#line 658 "parser.y" + { + #line 4332 "format.w" (yyval.info)= b110;} -#line 2882 "parser.c" +#line 2941 "parser.c" break; - case 124: /* content_node: start "par" par ">" */ -#line 642 "parser.y" + case 128: /* content_node: start "par" par ">" */ +#line 662 "parser.y" { - #line 4294 "format.w" + #line 4334 "format.w" hput_tags((yyvsp[-3].u),TAG(par_kind,(yyvsp[-1].info)));} -#line 2890 "parser.c" +#line 2949 "parser.c" break; - case 125: /* math: param_ref list */ -#line 646 "parser.y" + case 129: /* math: param_ref list */ +#line 666 "parser.y" { - #line 4360 "format.w" + #line 4400 "format.w" (yyval.info)= b000;} -#line 2898 "parser.c" +#line 2957 "parser.c" break; - case 126: /* math: param_ref list hbox_node */ -#line 649 "parser.y" + case 130: /* math: param_ref list hbox_node */ +#line 669 "parser.y" { - #line 4361 "format.w" + #line 4401 "format.w" (yyval.info)= b001;} -#line 2906 "parser.c" +#line 2965 "parser.c" break; - case 127: /* math: param_ref hbox_node list */ -#line 652 "parser.y" + case 131: /* math: param_ref hbox_node list */ +#line 672 "parser.y" { - #line 4362 "format.w" + #line 4402 "format.w" (yyval.info)= b010;} -#line 2914 "parser.c" - break; - - case 128: /* math: empty_param_list list */ -#line 655 "parser.y" - { - #line 4363 "format.w" - (yyval.info)= b100;} -#line 2922 "parser.c" - break; - - case 129: /* math: empty_param_list list hbox_node */ -#line 658 "parser.y" - { - #line 4364 "format.w" - (yyval.info)= b101;} -#line 2930 "parser.c" - break; - - case 130: /* math: empty_param_list hbox_node list */ -#line 661 "parser.y" - { - #line 4365 "format.w" - (yyval.info)= b110;} -#line 2938 "parser.c" +#line 2973 "parser.c" break; - case 131: /* math: empty_param_list non_empty_param_list list */ -#line 664 "parser.y" - { - #line 4366 "format.w" + case 132: /* math: param_list list */ +#line 675 "parser.y" + { + #line 4403 "format.w" (yyval.info)= b100;} -#line 2946 "parser.c" +#line 2981 "parser.c" break; - case 132: /* math: empty_param_list non_empty_param_list list hbox_node */ -#line 667 "parser.y" - { - #line 4367 "format.w" + case 133: /* math: param_list list hbox_node */ +#line 678 "parser.y" + { + #line 4404 "format.w" (yyval.info)= b101;} -#line 2954 "parser.c" +#line 2989 "parser.c" break; - case 133: /* math: empty_param_list non_empty_param_list hbox_node list */ -#line 670 "parser.y" - { - #line 4368 "format.w" + case 134: /* math: param_list hbox_node list */ +#line 681 "parser.y" + { + #line 4405 "format.w" (yyval.info)= b110;} -#line 2962 "parser.c" +#line 2997 "parser.c" break; - case 134: /* content_node: start "math" math ">" */ -#line 674 "parser.y" + case 135: /* content_node: start "math" math ">" */ +#line 685 "parser.y" { - #line 4370 "format.w" + #line 4407 "format.w" hput_tags((yyvsp[-3].u),TAG(math_kind,(yyvsp[-1].info)));} -#line 2970 "parser.c" +#line 3005 "parser.c" break; - case 135: /* on_off: "on" */ -#line 678 "parser.y" + case 136: /* on_off: "on" */ +#line 689 "parser.y" { - #line 4420 "format.w" + #line 4457 "format.w" (yyval.i)= 1;} -#line 2978 "parser.c" +#line 3013 "parser.c" break; - case 136: /* on_off: "off" */ -#line 680 "parser.y" + case 137: /* on_off: "off" */ +#line 691 "parser.y" { - #line 4420 "format.w" + #line 4457 "format.w" (yyval.i)= 0;} -#line 2986 "parser.c" +#line 3021 "parser.c" break; - case 137: /* math: on_off */ -#line 683 "parser.y" + case 138: /* math: on_off */ +#line 694 "parser.y" { - #line 4421 "format.w" + #line 4458 "format.w" (yyval.info)= b011 |((yyvsp[0].i)<<2);} -#line 2994 "parser.c" +#line 3029 "parser.c" break; - case 138: /* content_node: start "adjust" list ">" */ -#line 687 "parser.y" + case 139: /* content_node: start "adjust" list ">" */ +#line 698 "parser.y" { - #line 4452 "format.w" + #line 4489 "format.w" hput_tags((yyvsp[-3].u),TAG(adjust_kind,1));} -#line 3002 "parser.c" +#line 3037 "parser.c" break; - case 139: /* span_count: UNSIGNED */ -#line 691 "parser.y" + case 140: /* span_count: UNSIGNED */ +#line 702 "parser.y" { - #line 4551 "format.w" + #line 4588 "format.w" (yyval.info)= hput_span_count((yyvsp[0].u));} -#line 3010 "parser.c" +#line 3045 "parser.c" break; - case 140: /* content_node: start "item" content_node ">" */ -#line 694 "parser.y" + case 141: /* content_node: start "item" content_node ">" */ +#line 705 "parser.y" { - #line 4552 "format.w" + #line 4589 "format.w" hput_tags((yyvsp[-3].u),TAG(item_kind,1));} -#line 3018 "parser.c" +#line 3053 "parser.c" break; - case 141: /* content_node: start "item" span_count content_node ">" */ -#line 697 "parser.y" + case 142: /* content_node: start "item" span_count content_node ">" */ +#line 708 "parser.y" { - #line 4553 "format.w" + #line 4590 "format.w" hput_tags((yyvsp[-4].u),TAG(item_kind,(yyvsp[-2].info)));} -#line 3026 "parser.c" +#line 3061 "parser.c" break; - case 142: /* content_node: start "item" list ">" */ -#line 700 "parser.y" + case 143: /* content_node: start "item" list ">" */ +#line 711 "parser.y" { - #line 4554 "format.w" + #line 4591 "format.w" hput_tags((yyvsp[-3].u),TAG(item_kind,b000));} -#line 3034 "parser.c" +#line 3069 "parser.c" break; - case 143: /* table: "h" box_goal list list */ -#line 704 "parser.y" + case 144: /* table: "h" box_goal list list */ +#line 715 "parser.y" { - #line 4556 "format.w" + #line 4593 "format.w" (yyval.info)= (yyvsp[-2].info);} -#line 3042 "parser.c" +#line 3077 "parser.c" break; - case 144: /* table: "v" box_goal list list */ -#line 707 "parser.y" + case 145: /* table: "v" box_goal list list */ +#line 718 "parser.y" { - #line 4557 "format.w" + #line 4594 "format.w" (yyval.info)= (yyvsp[-2].info) |b010;} -#line 3050 "parser.c" +#line 3085 "parser.c" break; - case 145: /* content_node: start "table" table ">" */ -#line 711 "parser.y" + case 146: /* content_node: start "table" table ">" */ +#line 722 "parser.y" { - #line 4559 "format.w" + #line 4596 "format.w" hput_tags((yyvsp[-3].u),TAG(table_kind,(yyvsp[-1].info)));} -#line 3058 "parser.c" +#line 3093 "parser.c" break; - case 146: /* image_aspect: number */ -#line 715 "parser.y" + case 147: /* image_aspect: number */ +#line 726 "parser.y" { - #line 4693 "format.w" + #line 4730 "format.w" (yyval.f)= (yyvsp[0].f);} -#line 3066 "parser.c" +#line 3101 "parser.c" break; - case 147: /* image_aspect: %empty */ -#line 717 "parser.y" + case 148: /* image_aspect: %empty */ +#line 728 "parser.y" { - #line 4693 "format.w" + #line 4730 "format.w" (yyval.f)= 0.0;} -#line 3074 "parser.c" +#line 3109 "parser.c" break; - case 148: /* image_width: "width" xdimen */ -#line 720 "parser.y" + case 149: /* image_width: "width" xdimen */ +#line 731 "parser.y" { - #line 4694 "format.w" + #line 4731 "format.w" (yyval.xd)= (yyvsp[0].xd);} -#line 3082 "parser.c" +#line 3117 "parser.c" break; - case 149: /* image_width: %empty */ -#line 723 "parser.y" + case 150: /* image_width: %empty */ +#line 734 "parser.y" { - #line 4695 "format.w" + #line 4732 "format.w" (yyval.xd)= xdimen_defaults[zero_xdimen_no];} -#line 3090 "parser.c" +#line 3125 "parser.c" break; - case 150: /* image_height: "height" xdimen */ -#line 726 "parser.y" + case 151: /* image_height: "height" xdimen */ +#line 737 "parser.y" { - #line 4696 "format.w" + #line 4733 "format.w" (yyval.xd)= (yyvsp[0].xd);} -#line 3098 "parser.c" +#line 3133 "parser.c" break; - case 151: /* image_height: %empty */ -#line 729 "parser.y" + case 152: /* image_height: %empty */ +#line 740 "parser.y" { - #line 4697 "format.w" + #line 4734 "format.w" (yyval.xd)= xdimen_defaults[zero_xdimen_no];} -#line 3106 "parser.c" +#line 3141 "parser.c" break; - case 152: /* image_spec: UNSIGNED image_aspect image_width image_height */ -#line 734 "parser.y" + case 153: /* image_spec: UNSIGNED image_aspect image_width image_height */ +#line 745 "parser.y" { - #line 4700 "format.w" + #line 4737 "format.w" (yyval.info)= hput_image_spec((yyvsp[-3].u),(yyvsp[-2].f),0,&((yyvsp[-1].xd)),0,&((yyvsp[0].xd)));} -#line 3114 "parser.c" +#line 3149 "parser.c" break; - case 153: /* image_spec: UNSIGNED image_aspect "width" REFERENCE image_height */ -#line 738 "parser.y" + case 154: /* image_spec: UNSIGNED image_aspect "width" REFERENCE image_height */ +#line 749 "parser.y" { - #line 4702 "format.w" + #line 4739 "format.w" (yyval.info)= hput_image_spec((yyvsp[-4].u),(yyvsp[-3].f),(yyvsp[-1].u),NULL,0,&((yyvsp[0].xd)));} -#line 3122 "parser.c" +#line 3157 "parser.c" break; - case 154: /* image_spec: UNSIGNED image_aspect image_width "height" REFERENCE */ -#line 742 "parser.y" + case 155: /* image_spec: UNSIGNED image_aspect image_width "height" REFERENCE */ +#line 753 "parser.y" { - #line 4704 "format.w" + #line 4741 "format.w" (yyval.info)= hput_image_spec((yyvsp[-4].u),(yyvsp[-3].f),0,&((yyvsp[-2].xd)),(yyvsp[0].u),NULL);} -#line 3130 "parser.c" +#line 3165 "parser.c" break; - case 155: /* image_spec: UNSIGNED image_aspect "width" REFERENCE "height" REFERENCE */ -#line 746 "parser.y" + case 156: /* image_spec: UNSIGNED image_aspect "width" REFERENCE "height" REFERENCE */ +#line 757 "parser.y" { - #line 4706 "format.w" + #line 4743 "format.w" (yyval.info)= hput_image_spec((yyvsp[-5].u),(yyvsp[-4].f),(yyvsp[-2].u),NULL,(yyvsp[0].u),NULL);} -#line 3138 "parser.c" +#line 3173 "parser.c" break; - case 156: /* image: image_spec list */ -#line 750 "parser.y" + case 157: /* image: image_spec list */ +#line 761 "parser.y" { - #line 4708 "format.w" + #line 4745 "format.w" (yyval.info)= (yyvsp[-1].info);} -#line 3146 "parser.c" +#line 3181 "parser.c" break; - case 157: /* content_node: start "image" image ">" */ -#line 754 "parser.y" + case 158: /* content_node: start "image" image ">" */ +#line 765 "parser.y" { - #line 4710 "format.w" + #line 4747 "format.w" hput_tags((yyvsp[-3].u),TAG(image_kind,(yyvsp[-1].info)));} -#line 3154 "parser.c" +#line 3189 "parser.c" break; - case 158: /* max_value: "outline" UNSIGNED */ -#line 758 "parser.y" + case 159: /* max_value: "outline" UNSIGNED */ +#line 769 "parser.y" { - #line 5310 "format.w" + #line 5347 "format.w" max_outline= (yyvsp[0].u); RNG("max outline",max_outline,0,0xFFFF); DBG(DBGDEF |DBGLABEL,"Setting max outline to %d\n",max_outline); } -#line 3165 "parser.c" +#line 3200 "parser.c" break; - case 159: /* placement: "top" */ -#line 765 "parser.y" + case 160: /* placement: "top" */ +#line 776 "parser.y" { - #line 5402 "format.w" + #line 5439 "format.w" (yyval.i)= LABEL_TOP;} -#line 3173 "parser.c" +#line 3208 "parser.c" break; - case 160: /* placement: "bot" */ -#line 767 "parser.y" + case 161: /* placement: "bot" */ +#line 778 "parser.y" { - #line 5402 "format.w" + #line 5439 "format.w" (yyval.i)= LABEL_BOT;} -#line 3181 "parser.c" +#line 3216 "parser.c" break; - case 161: /* placement: "mid" */ -#line 769 "parser.y" + case 162: /* placement: "mid" */ +#line 780 "parser.y" { - #line 5402 "format.w" + #line 5439 "format.w" (yyval.i)= LABEL_MID;} -#line 3189 "parser.c" +#line 3224 "parser.c" break; - case 162: /* placement: %empty */ -#line 771 "parser.y" + case 163: /* placement: %empty */ +#line 782 "parser.y" { - #line 5402 "format.w" + #line 5439 "format.w" (yyval.i)= LABEL_MID;} -#line 3197 "parser.c" +#line 3232 "parser.c" break; - case 163: /* content_node: "<" "label" REFERENCE placement ">" */ -#line 775 "parser.y" + case 164: /* content_node: "<" "label" REFERENCE placement ">" */ +#line 786 "parser.y" { - #line 5404 "format.w" + #line 5441 "format.w" hset_label((yyvsp[-2].u),(yyvsp[-1].i));} -#line 3205 "parser.c" +#line 3240 "parser.c" break; - case 164: /* content_node: start "link" REFERENCE on_off ">" */ -#line 780 "parser.y" + case 165: /* content_node: start "link" REFERENCE on_off ">" */ +#line 791 "parser.y" { - #line 5662 "format.w" + #line 5699 "format.w" hput_tags((yyvsp[-4].u),hput_link((yyvsp[-2].u),(yyvsp[-1].i)));} -#line 3213 "parser.c" +#line 3248 "parser.c" break; - case 165: /* def_node: "<" "outline" REFERENCE integer position list ">" */ -#line 784 "parser.y" + case 166: /* def_node: "<" "outline" REFERENCE integer position list ">" */ +#line 795 "parser.y" { - #line 5792 "format.w" + #line 5829 "format.w" static int outline_no= -1; (yyval.rf).k= outline_kind;(yyval.rf).n= (yyvsp[-4].u); @@ -3223,215 +3258,265 @@ yyreduce: outline_no++; hset_outline(outline_no,(yyvsp[-4].u),(yyvsp[-3].i),(yyvsp[-2].u)); } -#line 3227 "parser.c" +#line 3262 "parser.c" + break; + + case 167: /* def_node: start "unknown" UNSIGNED UNSIGNED ">" */ +#line 805 "parser.y" + { + #line 5956 "format.w" + hput_tags((yyvsp[-4].u),hput_unknown_def((yyvsp[-2].u),(yyvsp[-1].u),0));} +#line 3270 "parser.c" + break; + + case 168: /* def_node: start "unknown" UNSIGNED UNSIGNED UNSIGNED ">" */ +#line 808 "parser.y" + { + #line 5957 "format.w" + hput_tags((yyvsp[-5].u),hput_unknown_def((yyvsp[-3].u),(yyvsp[-2].u),(yyvsp[-1].u)));} +#line 3278 "parser.c" + break; + + case 169: /* content_node: start "unknown" UNSIGNED unknown_bytes unknown_nodes ">" */ +#line 812 "parser.y" + { + #line 5969 "format.w" + hput_tags((yyvsp[-5].u),hput_unknown((yyvsp[-5].u),(yyvsp[-3].u),(yyvsp[-2].u),(yyvsp[-1].u)));} +#line 3286 "parser.c" + break; + + case 170: /* unknown_bytes: %empty */ +#line 815 "parser.y" + { + #line 5970 "format.w" + (yyval.u)= 0;} +#line 3294 "parser.c" + break; + + case 171: /* unknown_bytes: unknown_bytes UNSIGNED */ +#line 817 "parser.y" + { + #line 5970 "format.w" + RNG("byte",(yyvsp[0].u),0,0xFF);HPUT8((yyvsp[0].u));(yyval.u)= (yyvsp[-1].u)+1;} +#line 3302 "parser.c" + break; + + case 176: /* unknown_nodes: %empty */ +#line 821 "parser.y" + { + #line 5972 "format.w" + (yyval.u)= 0;} +#line 3310 "parser.c" break; - case 166: /* stream_link: ref */ -#line 794 "parser.y" + case 177: /* unknown_nodes: unknown_nodes unknown_node */ +#line 823 "parser.y" + { + #line 5972 "format.w" + RNG("unknown subnodes",(yyvsp[-1].u),0,3);(yyval.u)= (yyvsp[-1].u)+1;} +#line 3318 "parser.c" + break; + + case 178: /* stream_link: ref */ +#line 827 "parser.y" { - #line 6207 "format.w" + #line 6407 "format.w" REF_RNG(stream_kind,(yyvsp[0].u));} -#line 3235 "parser.c" +#line 3326 "parser.c" break; - case 167: /* stream_link: "*" */ -#line 796 "parser.y" + case 179: /* stream_link: "*" */ +#line 829 "parser.y" { - #line 6207 "format.w" + #line 6407 "format.w" HPUT8(255);} -#line 3243 "parser.c" +#line 3334 "parser.c" break; - case 168: /* stream_split: stream_link stream_link UNSIGNED */ -#line 799 "parser.y" + case 180: /* stream_split: stream_link stream_link UNSIGNED */ +#line 832 "parser.y" { - #line 6208 "format.w" + #line 6408 "format.w" RNG("split ratio",(yyvsp[0].u),0,1000);HPUT16((yyvsp[0].u));} -#line 3251 "parser.c" +#line 3342 "parser.c" break; - case 169: /* $@7: %empty */ -#line 802 "parser.y" + case 181: /* $@8: %empty */ +#line 835 "parser.y" { - #line 6209 "format.w" + #line 6409 "format.w" RNG("magnification factor",(yyvsp[0].u),0,1000);HPUT16((yyvsp[0].u));} -#line 3259 "parser.c" +#line 3350 "parser.c" break; - case 171: /* stream_type: stream_info */ -#line 806 "parser.y" + case 183: /* stream_type: stream_info */ +#line 839 "parser.y" { - #line 6211 "format.w" + #line 6411 "format.w" (yyval.info)= 0;} -#line 3267 "parser.c" +#line 3358 "parser.c" break; - case 172: /* stream_type: "first" */ -#line 808 "parser.y" + case 184: /* stream_type: "first" */ +#line 841 "parser.y" { - #line 6211 "format.w" + #line 6411 "format.w" (yyval.info)= 1;} -#line 3275 "parser.c" +#line 3366 "parser.c" break; - case 173: /* stream_type: "last" */ -#line 810 "parser.y" + case 185: /* stream_type: "last" */ +#line 843 "parser.y" { - #line 6211 "format.w" + #line 6411 "format.w" (yyval.info)= 2;} -#line 3283 "parser.c" +#line 3374 "parser.c" break; - case 174: /* stream_type: "top" */ -#line 812 "parser.y" + case 186: /* stream_type: "top" */ +#line 845 "parser.y" { - #line 6211 "format.w" + #line 6411 "format.w" (yyval.info)= 3;} -#line 3291 "parser.c" +#line 3382 "parser.c" break; - case 175: /* stream_def_node: start "stream (definition)" ref stream_type list xdimen_node glue_node list glue_node ">" */ -#line 818 "parser.y" + case 187: /* stream_def_node: start "stream (definition)" ref stream_type list xdimen_node glue_node list glue_node ">" */ +#line 851 "parser.y" { - #line 6215 "format.w" + #line 6415 "format.w" DEF((yyval.rf),stream_kind,(yyvsp[-7].u));hput_tags((yyvsp[-9].u),TAG(stream_kind,(yyvsp[-6].info) |b100));} -#line 3299 "parser.c" +#line 3390 "parser.c" break; - case 176: /* stream_ins_node: start "stream (definition)" ref ">" */ -#line 823 "parser.y" + case 188: /* stream_ins_node: start "stream (definition)" ref ">" */ +#line 856 "parser.y" { - #line 6218 "format.w" + #line 6418 "format.w" RNG("Stream insertion",(yyvsp[-1].u),0,max_ref[stream_kind]);hput_tags((yyvsp[-3].u),TAG(stream_kind,b100));} -#line 3307 "parser.c" - break; - - case 179: /* stream: empty_param_list list */ -#line 829 "parser.y" - { - #line 6313 "format.w" - (yyval.info)= b010;} -#line 3315 "parser.c" +#line 3398 "parser.c" break; - case 180: /* stream: empty_param_list non_empty_param_list list */ -#line 832 "parser.y" - { - #line 6314 "format.w" + case 191: /* stream: param_list list */ +#line 862 "parser.y" + { + #line 6513 "format.w" (yyval.info)= b010;} -#line 3323 "parser.c" +#line 3406 "parser.c" break; - case 181: /* stream: param_ref list */ -#line 835 "parser.y" + case 192: /* stream: param_ref list */ +#line 865 "parser.y" { - #line 6315 "format.w" + #line 6514 "format.w" (yyval.info)= b000;} -#line 3331 "parser.c" +#line 3414 "parser.c" break; - case 182: /* content_node: start "stream" stream_ref stream ">" */ -#line 839 "parser.y" + case 193: /* content_node: start "stream" stream_ref stream ">" */ +#line 869 "parser.y" { - #line 6317 "format.w" + #line 6516 "format.w" hput_tags((yyvsp[-4].u),TAG(stream_kind,(yyvsp[-1].info)));} -#line 3339 "parser.c" +#line 3422 "parser.c" break; - case 183: /* page_priority: %empty */ -#line 843 "parser.y" + case 194: /* page_priority: %empty */ +#line 873 "parser.y" { - #line 6420 "format.w" + #line 6619 "format.w" HPUT8(1);} -#line 3347 "parser.c" +#line 3430 "parser.c" break; - case 184: /* page_priority: UNSIGNED */ -#line 846 "parser.y" + case 195: /* page_priority: UNSIGNED */ +#line 876 "parser.y" { - #line 6421 "format.w" + #line 6620 "format.w" RNG("page priority",(yyvsp[0].u),0,255);HPUT8((yyvsp[0].u));} -#line 3355 "parser.c" +#line 3438 "parser.c" break; - case 187: /* $@8: %empty */ -#line 852 "parser.y" + case 198: /* $@9: %empty */ +#line 882 "parser.y" { - #line 6425 "format.w" + #line 6624 "format.w" hput_string((yyvsp[0].s));} -#line 3363 "parser.c" +#line 3446 "parser.c" break; - case 188: /* $@9: %empty */ -#line 854 "parser.y" + case 199: /* $@10: %empty */ +#line 884 "parser.y" { - #line 6425 "format.w" + #line 6624 "format.w" HPUT32((yyvsp[0].d));} -#line 3371 "parser.c" +#line 3454 "parser.c" break; - case 190: /* content_node: "<" "range" REFERENCE "on" ">" */ -#line 861 "parser.y" + case 201: /* content_node: "<" "range" REFERENCE "on" ">" */ +#line 891 "parser.y" { - #line 6537 "format.w" + #line 6737 "format.w" REF(page_kind,(yyvsp[-2].u));hput_range((yyvsp[-2].u),true);} -#line 3379 "parser.c" +#line 3462 "parser.c" break; - case 191: /* content_node: "<" "range" REFERENCE "off" ">" */ -#line 864 "parser.y" + case 202: /* content_node: "<" "range" REFERENCE "off" ">" */ +#line 894 "parser.y" { - #line 6538 "format.w" + #line 6738 "format.w" REF(page_kind,(yyvsp[-2].u));hput_range((yyvsp[-2].u),false);} -#line 3387 "parser.c" +#line 3470 "parser.c" break; - case 193: /* $@10: %empty */ -#line 870 "parser.y" + case 204: /* $@11: %empty */ +#line 900 "parser.y" { - #line 7231 "format.w" + #line 7436 "format.w" new_directory((yyvsp[0].u)+1);new_output_buffers();} -#line 3395 "parser.c" +#line 3478 "parser.c" break; - case 197: /* entry: "<" "entry" UNSIGNED string ">" */ -#line 875 "parser.y" + case 208: /* entry: "<" "entry" UNSIGNED string ">" */ +#line 905 "parser.y" { - #line 7234 "format.w" + #line 7439 "format.w" RNG("Section number",(yyvsp[-2].u),3,max_section_no);hset_entry(&(dir[(yyvsp[-2].u)]),(yyvsp[-2].u),0,0,(yyvsp[-1].s));} -#line 3403 "parser.c" +#line 3486 "parser.c" break; - case 198: /* $@11: %empty */ -#line 879 "parser.y" + case 209: /* $@12: %empty */ +#line 909 "parser.y" { - #line 7777 "format.w" + #line 7982 "format.w" hput_definitions_start();} -#line 3411 "parser.c" +#line 3494 "parser.c" break; - case 199: /* definition_section: "<" "definitions" $@11 max_definitions definition_list ">" */ -#line 883 "parser.y" + case 210: /* definition_section: "<" "definitions" $@12 max_definitions definition_list ">" */ +#line 913 "parser.y" { - #line 7779 "format.w" + #line 7984 "format.w" hput_definitions_end();} -#line 3419 "parser.c" +#line 3502 "parser.c" break; - case 202: /* max_definitions: "<" "max" max_list ">" */ -#line 889 "parser.y" + case 213: /* max_definitions: "<" "max" max_list ">" */ +#line 919 "parser.y" { - #line 7895 "format.w" + #line 8100 "format.w" /*253:*/ if(max_ref[label_kind]>=0) ALLOCATE(labels,max_ref[label_kind]+1,Label); /*:253*/ /*274:*/ if(max_outline>=0) ALLOCATE(outlines,max_outline+1,Outline); - /*:274*/ /*301:*/ + /*:274*/ /*310:*/ ALLOCATE(page_on,max_ref[page_kind]+1,int); ALLOCATE(range_pos,2*(max_ref[range_kind]+1),RangePos); - /*:301*/ /*367:*/ + /*:310*/ /*376:*/ + definition_bits[0][list_kind]= (1<<(MAX_LIST_DEFAULT+1))-1; + definition_bits[0][param_kind]= (1<<(MAX_LIST_DEFAULT+1))-1; definition_bits[0][int_kind]= (1<<(MAX_INT_DEFAULT+1))-1; definition_bits[0][dimen_kind]= (1<<(MAX_DIMEN_DEFAULT+1))-1; definition_bits[0][xdimen_kind]= (1<<(MAX_XDIMEN_DEFAULT+1))-1; @@ -3440,544 +3525,536 @@ yyreduce: definition_bits[0][page_kind]= (1<<(MAX_PAGE_DEFAULT+1))-1; definition_bits[0][stream_kind]= (1<<(MAX_STREAM_DEFAULT+1))-1; definition_bits[0][range_kind]= (1<<(MAX_RANGE_DEFAULT+1))-1; - /*:367*/ /*382:*/ + /*:376*/ /*391:*/ ALLOCATE(hfont_name,max_ref[font_kind]+1,char*); - /*:382*/hput_max_definitions();} -#line 3447 "parser.c" + /*:391*/hput_max_definitions();} +#line 3532 "parser.c" break; - case 205: /* max_value: "font" UNSIGNED */ -#line 915 "parser.y" + case 216: /* max_value: "font" UNSIGNED */ +#line 947 "parser.y" { - #line 7899 "format.w" + #line 8104 "format.w" hset_max(font_kind,(yyvsp[0].u));} -#line 3455 "parser.c" +#line 3540 "parser.c" break; - case 206: /* max_value: "int" UNSIGNED */ -#line 918 "parser.y" + case 217: /* max_value: "int" UNSIGNED */ +#line 950 "parser.y" { - #line 7900 "format.w" + #line 8105 "format.w" hset_max(int_kind,(yyvsp[0].u));} -#line 3463 "parser.c" +#line 3548 "parser.c" break; - case 207: /* max_value: "dimen" UNSIGNED */ -#line 921 "parser.y" + case 218: /* max_value: "dimen" UNSIGNED */ +#line 953 "parser.y" { - #line 7901 "format.w" + #line 8106 "format.w" hset_max(dimen_kind,(yyvsp[0].u));} -#line 3471 "parser.c" +#line 3556 "parser.c" break; - case 208: /* max_value: "ligature" UNSIGNED */ -#line 924 "parser.y" + case 219: /* max_value: "ligature" UNSIGNED */ +#line 956 "parser.y" { - #line 7902 "format.w" + #line 8107 "format.w" hset_max(ligature_kind,(yyvsp[0].u));} -#line 3479 "parser.c" +#line 3564 "parser.c" break; - case 209: /* max_value: "disc" UNSIGNED */ -#line 927 "parser.y" + case 220: /* max_value: "disc" UNSIGNED */ +#line 959 "parser.y" { - #line 7903 "format.w" + #line 8108 "format.w" hset_max(disc_kind,(yyvsp[0].u));} -#line 3487 "parser.c" +#line 3572 "parser.c" break; - case 210: /* max_value: "glue" UNSIGNED */ -#line 930 "parser.y" + case 221: /* max_value: "glue" UNSIGNED */ +#line 962 "parser.y" { - #line 7904 "format.w" + #line 8109 "format.w" hset_max(glue_kind,(yyvsp[0].u));} -#line 3495 "parser.c" +#line 3580 "parser.c" break; - case 211: /* max_value: "language" UNSIGNED */ -#line 933 "parser.y" + case 222: /* max_value: "language" UNSIGNED */ +#line 965 "parser.y" { - #line 7905 "format.w" + #line 8110 "format.w" hset_max(language_kind,(yyvsp[0].u));} -#line 3503 "parser.c" +#line 3588 "parser.c" break; - case 212: /* max_value: "rule" UNSIGNED */ -#line 936 "parser.y" + case 223: /* max_value: "rule" UNSIGNED */ +#line 968 "parser.y" { - #line 7906 "format.w" + #line 8111 "format.w" hset_max(rule_kind,(yyvsp[0].u));} -#line 3511 "parser.c" +#line 3596 "parser.c" break; - case 213: /* max_value: "image" UNSIGNED */ -#line 939 "parser.y" + case 224: /* max_value: "image" UNSIGNED */ +#line 971 "parser.y" { - #line 7907 "format.w" + #line 8112 "format.w" hset_max(image_kind,(yyvsp[0].u));} -#line 3519 "parser.c" +#line 3604 "parser.c" break; - case 214: /* max_value: "leaders" UNSIGNED */ -#line 942 "parser.y" + case 225: /* max_value: "leaders" UNSIGNED */ +#line 974 "parser.y" { - #line 7908 "format.w" + #line 8113 "format.w" hset_max(leaders_kind,(yyvsp[0].u));} -#line 3527 "parser.c" +#line 3612 "parser.c" break; - case 215: /* max_value: "baseline" UNSIGNED */ -#line 945 "parser.y" + case 226: /* max_value: "baseline" UNSIGNED */ +#line 977 "parser.y" { - #line 7909 "format.w" + #line 8114 "format.w" hset_max(baseline_kind,(yyvsp[0].u));} -#line 3535 "parser.c" +#line 3620 "parser.c" break; - case 216: /* max_value: "xdimen" UNSIGNED */ -#line 948 "parser.y" + case 227: /* max_value: "xdimen" UNSIGNED */ +#line 980 "parser.y" { - #line 7910 "format.w" + #line 8115 "format.w" hset_max(xdimen_kind,(yyvsp[0].u));} -#line 3543 "parser.c" +#line 3628 "parser.c" break; - case 217: /* max_value: "param" UNSIGNED */ -#line 951 "parser.y" + case 228: /* max_value: "param" UNSIGNED */ +#line 983 "parser.y" { - #line 7911 "format.w" + #line 8116 "format.w" hset_max(param_kind,(yyvsp[0].u));} -#line 3551 "parser.c" +#line 3636 "parser.c" break; - case 218: /* max_value: "stream (definition)" UNSIGNED */ -#line 954 "parser.y" + case 229: /* max_value: "stream (definition)" UNSIGNED */ +#line 986 "parser.y" { - #line 7912 "format.w" + #line 8117 "format.w" hset_max(stream_kind,(yyvsp[0].u));} -#line 3559 "parser.c" +#line 3644 "parser.c" break; - case 219: /* max_value: "page" UNSIGNED */ -#line 957 "parser.y" + case 230: /* max_value: "page" UNSIGNED */ +#line 989 "parser.y" { - #line 7913 "format.w" + #line 8118 "format.w" hset_max(page_kind,(yyvsp[0].u));} -#line 3567 "parser.c" +#line 3652 "parser.c" break; - case 220: /* max_value: "range" UNSIGNED */ -#line 960 "parser.y" + case 231: /* max_value: "range" UNSIGNED */ +#line 992 "parser.y" { - #line 7914 "format.w" + #line 8119 "format.w" hset_max(range_kind,(yyvsp[0].u));} -#line 3575 "parser.c" +#line 3660 "parser.c" break; - case 221: /* max_value: "label" UNSIGNED */ -#line 963 "parser.y" + case 232: /* max_value: "label" UNSIGNED */ +#line 995 "parser.y" { - #line 7915 "format.w" + #line 8120 "format.w" hset_max(label_kind,(yyvsp[0].u));} -#line 3583 "parser.c" +#line 3668 "parser.c" break; - case 222: /* def_node: start "font" ref font ">" */ -#line 969 "parser.y" + case 233: /* def_node: start "font" ref font ">" */ +#line 1001 "parser.y" { - #line 8112 "format.w" + #line 8320 "format.w" DEF((yyval.rf),font_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),(yyvsp[-1].info));} -#line 3591 "parser.c" +#line 3676 "parser.c" break; - case 223: /* def_node: start "int" ref integer ">" */ -#line 972 "parser.y" + case 234: /* def_node: start "int" ref integer ">" */ +#line 1004 "parser.y" { - #line 8113 "format.w" + #line 8321 "format.w" DEF((yyval.rf),int_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_int((yyvsp[-1].i)));} -#line 3599 "parser.c" +#line 3684 "parser.c" break; - case 224: /* def_node: start "dimen" ref dimension ">" */ -#line 975 "parser.y" + case 235: /* def_node: start "dimen" ref dimension ">" */ +#line 1007 "parser.y" { - #line 8114 "format.w" + #line 8322 "format.w" DEF((yyval.rf),dimen_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_dimen((yyvsp[-1].d)));} -#line 3607 "parser.c" +#line 3692 "parser.c" break; - case 225: /* def_node: start "language" ref string ">" */ -#line 978 "parser.y" + case 236: /* def_node: start "language" ref string ">" */ +#line 1010 "parser.y" { - #line 8115 "format.w" + #line 8323 "format.w" DEF((yyval.rf),language_kind,(yyvsp[-2].u));hput_string((yyvsp[-1].s));hput_tags((yyvsp[-4].u),TAG(language_kind,0));} -#line 3615 "parser.c" +#line 3700 "parser.c" break; - case 226: /* def_node: start "glue" ref glue ">" */ -#line 981 "parser.y" + case 237: /* def_node: start "glue" ref glue ">" */ +#line 1013 "parser.y" { - #line 8116 "format.w" + #line 8324 "format.w" DEF((yyval.rf),glue_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_glue(&((yyvsp[-1].g))));} -#line 3623 "parser.c" +#line 3708 "parser.c" break; - case 227: /* def_node: start "xdimen" ref xdimen ">" */ -#line 984 "parser.y" + case 238: /* def_node: start "xdimen" ref xdimen ">" */ +#line 1016 "parser.y" { - #line 8117 "format.w" + #line 8325 "format.w" DEF((yyval.rf),xdimen_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_xdimen(&((yyvsp[-1].xd))));} -#line 3631 "parser.c" +#line 3716 "parser.c" break; - case 228: /* def_node: start "rule" ref rule ">" */ -#line 987 "parser.y" + case 239: /* def_node: start "rule" ref rule ">" */ +#line 1019 "parser.y" { - #line 8118 "format.w" + #line 8326 "format.w" DEF((yyval.rf),rule_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_rule(&((yyvsp[-1].r))));} -#line 3639 "parser.c" +#line 3724 "parser.c" break; - case 229: /* def_node: start "leaders" ref leaders ">" */ -#line 990 "parser.y" + case 240: /* def_node: start "leaders" ref leaders ">" */ +#line 1022 "parser.y" { - #line 8119 "format.w" + #line 8327 "format.w" DEF((yyval.rf),leaders_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),TAG(leaders_kind,(yyvsp[-1].info)));} -#line 3647 "parser.c" +#line 3732 "parser.c" break; - case 230: /* def_node: start "baseline" ref baseline ">" */ -#line 993 "parser.y" + case 241: /* def_node: start "baseline" ref baseline ">" */ +#line 1025 "parser.y" { - #line 8120 "format.w" + #line 8328 "format.w" DEF((yyval.rf),baseline_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),TAG(baseline_kind,(yyvsp[-1].info)));} -#line 3655 "parser.c" +#line 3740 "parser.c" break; - case 231: /* def_node: start "ligature" ref ligature ">" */ -#line 996 "parser.y" + case 242: /* def_node: start "ligature" ref ligature ">" */ +#line 1028 "parser.y" { - #line 8121 "format.w" + #line 8329 "format.w" DEF((yyval.rf),ligature_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_ligature(&((yyvsp[-1].lg))));} -#line 3663 "parser.c" +#line 3748 "parser.c" break; - case 232: /* def_node: start "disc" ref disc ">" */ -#line 999 "parser.y" + case 243: /* def_node: start "disc" ref disc ">" */ +#line 1031 "parser.y" { - #line 8122 "format.w" + #line 8330 "format.w" DEF((yyval.rf),disc_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_disc(&((yyvsp[-1].dc))));} -#line 3671 "parser.c" +#line 3756 "parser.c" break; - case 233: /* def_node: start "image" ref image ">" */ -#line 1002 "parser.y" + case 244: /* def_node: start "image" ref image ">" */ +#line 1034 "parser.y" { - #line 8123 "format.w" + #line 8331 "format.w" DEF((yyval.rf),image_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),TAG(image_kind,(yyvsp[-1].info)));} -#line 3679 "parser.c" +#line 3764 "parser.c" break; - case 234: /* def_node: start "param" ref parameters ">" */ -#line 1005 "parser.y" + case 245: /* def_node: start "param" ref parameters ">" */ +#line 1037 "parser.y" { - #line 8124 "format.w" + #line 8332 "format.w" DEF((yyval.rf),param_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),hput_list((yyvsp[-4].u)+2,&((yyvsp[-1].l))));} -#line 3687 "parser.c" +#line 3772 "parser.c" break; - case 235: /* def_node: start "page" ref page ">" */ -#line 1008 "parser.y" + case 246: /* def_node: start "page" ref page ">" */ +#line 1040 "parser.y" { - #line 8125 "format.w" + #line 8333 "format.w" DEF((yyval.rf),page_kind,(yyvsp[-2].u));hput_tags((yyvsp[-4].u),TAG(page_kind,0));} -#line 3695 "parser.c" +#line 3780 "parser.c" break; - case 236: /* def_node: start "int" ref ref ">" */ -#line 1013 "parser.y" + case 247: /* def_node: start "int" ref ref ">" */ +#line 1045 "parser.y" { - #line 8144 "format.w" + #line 8352 "format.w" DEF_REF((yyval.rf),int_kind,(yyvsp[-2].u),(yyvsp[-1].u));hput_tags((yyvsp[-4].u),TAG(int_kind,0));} -#line 3703 "parser.c" +#line 3788 "parser.c" break; - case 237: /* def_node: start "dimen" ref ref ">" */ -#line 1016 "parser.y" + case 248: /* def_node: start "dimen" ref ref ">" */ +#line 1048 "parser.y" { - #line 8145 "format.w" + #line 8353 "format.w" DEF_REF((yyval.rf),dimen_kind,(yyvsp[-2].u),(yyvsp[-1].u));hput_tags((yyvsp[-4].u),TAG(dimen_kind,0));} -#line 3711 "parser.c" +#line 3796 "parser.c" break; - case 238: /* def_node: start "glue" ref ref ">" */ -#line 1019 "parser.y" + case 249: /* def_node: start "glue" ref ref ">" */ +#line 1051 "parser.y" { - #line 8146 "format.w" + #line 8354 "format.w" DEF_REF((yyval.rf),glue_kind,(yyvsp[-2].u),(yyvsp[-1].u));hput_tags((yyvsp[-4].u),TAG(glue_kind,0));} -#line 3719 "parser.c" +#line 3804 "parser.c" break; - case 240: /* def_list: def_list def_node */ -#line 1024 "parser.y" + case 251: /* def_list: def_list def_node */ +#line 1056 "parser.y" { - #line 8260 "format.w" + #line 8470 "format.w" check_param_def(&((yyvsp[0].rf)));} -#line 3727 "parser.c" +#line 3812 "parser.c" break; - case 241: /* parameters: estimate def_list */ -#line 1027 "parser.y" + case 252: /* parameters: estimate def_list */ +#line 1059 "parser.y" { - #line 8261 "format.w" - (yyval.l).p= (yyvsp[0].u);(yyval.l).k= param_kind;(yyval.l).s= (hpos-hstart)-(yyvsp[0].u);} -#line 3735 "parser.c" + #line 8471 "format.w" + (yyval.l).p= (yyvsp[0].u);(yyval.l).t= TAG(param_kind,b001);(yyval.l).s= (hpos-hstart)-(yyvsp[0].u);} +#line 3820 "parser.c" break; - case 242: /* empty_param_list: position */ -#line 1031 "parser.y" - { - #line 8282 "format.w" - HPUTX(2);hpos++;hput_tags((yyvsp[0].u),TAG(param_kind,1));} -#line 3743 "parser.c" - break; - - case 243: /* $@12: %empty */ -#line 1034 "parser.y" - { - #line 8283 "format.w" - hpos= hpos-2;} -#line 3751 "parser.c" + case 253: /* named_param_list: start "param" parameters ">" */ +#line 1064 "parser.y" +{ + #line 8484 "format.w" + hput_tags((yyvsp[-3].u),hput_list((yyvsp[-3].u)+1,&((yyvsp[-1].l))));} +#line 3828 "parser.c" break; - case 244: /* non_empty_param_list: start "param" $@12 parameters ">" */ -#line 1037 "parser.y" + case 255: /* param_list: start parameters ">" */ +#line 1068 "parser.y" { - #line 8284 "format.w" - hput_tags((yyvsp[-4].u)-2,hput_list((yyvsp[-4].u)-1,&((yyvsp[-1].l))));} -#line 3759 "parser.c" + #line 8486 "format.w" + hput_tags((yyvsp[-2].u),hput_list((yyvsp[-2].u)+1,&((yyvsp[-1].l))));} +#line 3836 "parser.c" break; - case 246: /* font_head: string dimension UNSIGNED UNSIGNED */ -#line 1045 "parser.y" + case 257: /* font_head: string dimension UNSIGNED UNSIGNED */ +#line 1076 "parser.y" { - #line 8426 "format.w" + #line 8632 "format.w" uint8_t f= (yyvsp[-4].u);SET_DBIT(f,font_kind);hfont_name[f]= strdup((yyvsp[-3].s));(yyval.info)= hput_font_head(f,hfont_name[f],(yyvsp[-2].d),(yyvsp[-1].u),(yyvsp[0].u));} -#line 3767 "parser.c" +#line 3844 "parser.c" break; - case 249: /* font_param: start "penalty" fref penalty ">" */ -#line 1052 "parser.y" + case 260: /* font_param: start "penalty" fref penalty ">" */ +#line 1083 "parser.y" { - #line 8431 "format.w" + #line 8637 "format.w" hput_tags((yyvsp[-4].u),hput_int((yyvsp[-1].i)));} -#line 3775 "parser.c" +#line 3852 "parser.c" break; - case 250: /* font_param: start "kern" fref kern ">" */ -#line 1055 "parser.y" + case 261: /* font_param: start "kern" fref kern ">" */ +#line 1086 "parser.y" { - #line 8432 "format.w" + #line 8638 "format.w" hput_tags((yyvsp[-4].u),hput_kern(&((yyvsp[-1].kt))));} -#line 3783 "parser.c" +#line 3860 "parser.c" break; - case 251: /* font_param: start "ligature" fref ligature ">" */ -#line 1058 "parser.y" + case 262: /* font_param: start "ligature" fref ligature ">" */ +#line 1089 "parser.y" { - #line 8433 "format.w" + #line 8639 "format.w" hput_tags((yyvsp[-4].u),hput_ligature(&((yyvsp[-1].lg))));} -#line 3791 "parser.c" +#line 3868 "parser.c" break; - case 252: /* font_param: start "disc" fref disc ">" */ -#line 1061 "parser.y" + case 263: /* font_param: start "disc" fref disc ">" */ +#line 1092 "parser.y" { - #line 8434 "format.w" + #line 8640 "format.w" hput_tags((yyvsp[-4].u),hput_disc(&((yyvsp[-1].dc))));} -#line 3799 "parser.c" +#line 3876 "parser.c" break; - case 253: /* font_param: start "glue" fref glue ">" */ -#line 1064 "parser.y" + case 264: /* font_param: start "glue" fref glue ">" */ +#line 1095 "parser.y" { - #line 8435 "format.w" + #line 8641 "format.w" hput_tags((yyvsp[-4].u),hput_glue(&((yyvsp[-1].g))));} -#line 3807 "parser.c" +#line 3884 "parser.c" break; - case 254: /* font_param: start "language" fref string ">" */ -#line 1067 "parser.y" + case 265: /* font_param: start "language" fref string ">" */ +#line 1098 "parser.y" { - #line 8436 "format.w" + #line 8642 "format.w" hput_string((yyvsp[-1].s));hput_tags((yyvsp[-4].u),TAG(language_kind,0));} -#line 3815 "parser.c" +#line 3892 "parser.c" break; - case 255: /* font_param: start "rule" fref rule ">" */ -#line 1070 "parser.y" + case 266: /* font_param: start "rule" fref rule ">" */ +#line 1101 "parser.y" { - #line 8437 "format.w" + #line 8643 "format.w" hput_tags((yyvsp[-4].u),hput_rule(&((yyvsp[-1].r))));} -#line 3823 "parser.c" +#line 3900 "parser.c" break; - case 256: /* font_param: start "image" fref image ">" */ -#line 1073 "parser.y" + case 267: /* font_param: start "image" fref image ">" */ +#line 1104 "parser.y" { - #line 8438 "format.w" + #line 8644 "format.w" hput_tags((yyvsp[-4].u),TAG(image_kind,(yyvsp[-1].info)));} -#line 3831 "parser.c" +#line 3908 "parser.c" break; - case 257: /* fref: ref */ -#line 1077 "parser.y" + case 268: /* fref: ref */ +#line 1108 "parser.y" { - #line 8440 "format.w" + #line 8646 "format.w" RNG("Font parameter",(yyvsp[0].u),0,MAX_FONT_PARAMS);} -#line 3839 "parser.c" +#line 3916 "parser.c" break; - case 258: /* xdimen_ref: ref */ -#line 1081 "parser.y" + case 269: /* xdimen_ref: ref */ +#line 1112 "parser.y" { - #line 8513 "format.w" + #line 8723 "format.w" REF(xdimen_kind,(yyvsp[0].u));} -#line 3847 "parser.c" +#line 3924 "parser.c" break; - case 259: /* param_ref: ref */ -#line 1084 "parser.y" + case 270: /* param_ref: ref */ +#line 1115 "parser.y" { - #line 8514 "format.w" + #line 8724 "format.w" REF(param_kind,(yyvsp[0].u));} -#line 3855 "parser.c" +#line 3932 "parser.c" break; - case 260: /* stream_ref: ref */ -#line 1087 "parser.y" + case 271: /* stream_ref: ref */ +#line 1118 "parser.y" { - #line 8515 "format.w" + #line 8725 "format.w" REF_RNG(stream_kind,(yyvsp[0].u));} -#line 3863 "parser.c" +#line 3940 "parser.c" break; - case 261: /* content_node: start "penalty" ref ">" */ -#line 1093 "parser.y" + case 272: /* content_node: start "penalty" ref ">" */ +#line 1124 "parser.y" { - #line 8519 "format.w" + #line 8729 "format.w" REF(penalty_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(penalty_kind,0));} -#line 3871 "parser.c" +#line 3948 "parser.c" break; - case 262: /* content_node: start "kern" explicit ref ">" */ -#line 1097 "parser.y" + case 273: /* content_node: start "kern" explicit ref ">" */ +#line 1128 "parser.y" { - #line 8521 "format.w" + #line 8731 "format.w" REF(dimen_kind,(yyvsp[-1].u));hput_tags((yyvsp[-4].u),TAG(kern_kind,((yyvsp[-2].b))?b100:b000));} -#line 3879 "parser.c" +#line 3956 "parser.c" break; - case 263: /* content_node: start "kern" explicit "xdimen" ref ">" */ -#line 1101 "parser.y" + case 274: /* content_node: start "kern" explicit "xdimen" ref ">" */ +#line 1132 "parser.y" { - #line 8523 "format.w" + #line 8733 "format.w" REF(xdimen_kind,(yyvsp[-1].u));hput_tags((yyvsp[-5].u),TAG(kern_kind,((yyvsp[-3].b))?b101:b001));} -#line 3887 "parser.c" +#line 3964 "parser.c" break; - case 264: /* content_node: start "glue" ref ">" */ -#line 1104 "parser.y" + case 275: /* content_node: start "glue" ref ">" */ +#line 1135 "parser.y" { - #line 8524 "format.w" + #line 8734 "format.w" REF(glue_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(glue_kind,0));} -#line 3895 "parser.c" +#line 3972 "parser.c" break; - case 265: /* content_node: start "ligature" ref ">" */ -#line 1107 "parser.y" + case 276: /* content_node: start "ligature" ref ">" */ +#line 1138 "parser.y" { - #line 8525 "format.w" + #line 8735 "format.w" REF(ligature_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(ligature_kind,0));} -#line 3903 "parser.c" +#line 3980 "parser.c" break; - case 266: /* content_node: start "disc" ref ">" */ -#line 1110 "parser.y" + case 277: /* content_node: start "disc" ref ">" */ +#line 1141 "parser.y" { - #line 8526 "format.w" + #line 8736 "format.w" REF(disc_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(disc_kind,0));} -#line 3911 "parser.c" +#line 3988 "parser.c" break; - case 267: /* content_node: start "rule" ref ">" */ -#line 1113 "parser.y" + case 278: /* content_node: start "rule" ref ">" */ +#line 1144 "parser.y" { - #line 8527 "format.w" + #line 8737 "format.w" REF(rule_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(rule_kind,0));} -#line 3919 "parser.c" +#line 3996 "parser.c" break; - case 268: /* content_node: start "image" ref ">" */ -#line 1116 "parser.y" + case 279: /* content_node: start "image" ref ">" */ +#line 1147 "parser.y" { - #line 8528 "format.w" + #line 8738 "format.w" REF(image_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(image_kind,0));} -#line 3927 "parser.c" +#line 4004 "parser.c" break; - case 269: /* content_node: start "leaders" ref ">" */ -#line 1119 "parser.y" + case 280: /* content_node: start "leaders" ref ">" */ +#line 1150 "parser.y" { - #line 8529 "format.w" + #line 8739 "format.w" REF(leaders_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(leaders_kind,0));} -#line 3935 "parser.c" +#line 4012 "parser.c" break; - case 270: /* content_node: start "baseline" ref ">" */ -#line 1122 "parser.y" + case 281: /* content_node: start "baseline" ref ">" */ +#line 1153 "parser.y" { - #line 8530 "format.w" + #line 8740 "format.w" REF(baseline_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),TAG(baseline_kind,0));} -#line 3943 "parser.c" +#line 4020 "parser.c" break; - case 271: /* content_node: start "language" REFERENCE ">" */ -#line 1125 "parser.y" + case 282: /* content_node: start "language" REFERENCE ">" */ +#line 1156 "parser.y" { - #line 8531 "format.w" + #line 8741 "format.w" REF(language_kind,(yyvsp[-1].u));hput_tags((yyvsp[-3].u),hput_language((yyvsp[-1].u)));} -#line 3951 "parser.c" +#line 4028 "parser.c" break; - case 272: /* glue_node: start "glue" ref ">" */ -#line 1129 "parser.y" + case 283: /* glue_node: start "glue" ref ">" */ +#line 1160 "parser.y" { - #line 8533 "format.w" + #line 8743 "format.w" REF(glue_kind,(yyvsp[-1].u)); if((yyvsp[-1].u)==zero_skip_no){hpos= hpos-2;(yyval.b)= false;} else{hput_tags((yyvsp[-3].u),TAG(glue_kind,0));(yyval.b)= true;}} -#line 3961 "parser.c" +#line 4038 "parser.c" break; - case 273: /* $@13: %empty */ -#line 1136 "parser.y" + case 284: /* $@13: %empty */ +#line 1167 "parser.y" { - #line 8964 "format.w" + #line 9190 "format.w" hput_content_start();} -#line 3969 "parser.c" +#line 4046 "parser.c" break; - case 274: /* content_section: "<" "content" $@13 content_list ">" */ -#line 1139 "parser.y" + case 285: /* content_section: "<" "content" $@13 content_list ">" */ +#line 1170 "parser.y" { - #line 8965 "format.w" + #line 9191 "format.w" hput_content_end();hput_range_defs();hput_label_defs();} -#line 3977 "parser.c" +#line 4054 "parser.c" break; -#line 3981 "parser.c" +#line 4058 "parser.c" default: break; } @@ -4201,6 +4278,6 @@ yyreturnlab: return yyresult; } -#line 1143 "parser.y" +#line 1174 "parser.y" - /*:520*/ + /*:534*/ |