diff options
Diffstat (limited to 'Build/source/texk/web2c/hitexdir/hiparser.y')
-rw-r--r-- | Build/source/texk/web2c/hitexdir/hiparser.y | 434 |
1 files changed, 217 insertions, 217 deletions
diff --git a/Build/source/texk/web2c/hitexdir/hiparser.y b/Build/source/texk/web2c/hitexdir/hiparser.y index b3f1b1e2a05..37c4b31b8b5 100644 --- a/Build/source/texk/web2c/hitexdir/hiparser.y +++ b/Build/source/texk/web2c/hitexdir/hiparser.y @@ -1,6 +1,6 @@ - /*510:*/ + /*512:*/ %{ - #line 10216 "format.w" + #line 10299 "format.w" #include "hibasetypes.h" #include <string.h> @@ -10,9 +10,9 @@ #include "hiput.h" extern char**hfont_name; - /*356:*/ + /*358:*/ uint32_t definition_bits[0x100/32][32]= { - #line 7578 "format.w" + #line 7627 "format.w" {0}}; #define SET_DBIT(N,K) ((N)>0xFF?1:(definition_bits[N/32][K] |= (1<<((N)&(32-1))))) @@ -22,52 +22,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]) - /*:356*/ /*360:*/ + /*:358*/ /*362:*/ #define DEF_REF(D,K,M,N) DEF(D,K,M);\ if ((M)>max_default[K]) QUIT("Defining non default reference %d for %s",M,definition_name[K]); \ if ((N)>max_fixed[K]) QUIT("Defining reference %d for %s by non fixed reference %d",M,definition_name[K],N); - /*:360*/ + /*:362*/ extern void hset_entry(entry_t*e,uint16_t i,uint32_t size, uint32_t xsize,char*file_name); - /*423:*/ + /*425:*/ #ifdef DEBUG #define YYDEBUG 1 extern int yydebug; #else #define YYDEBUG 0 #endif - /*:423*/ + /*:425*/ extern int yylex(void); - /*352:*/ + /*354:*/ void hset_max(kind_t k,int n) { - #line 7421 "format.w" + #line 7470 "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; } - /*:352*/ /*363:*/ + /*:354*/ /*365:*/ void check_param_def(ref_t*df) { - #line 7727 "format.w" + #line 7776 "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]); } - /*:363*/ /*422:*/ + /*:365*/ /*424:*/ extern int yylineno; int yyerror(const char*msg) { - #line 8803 "format.w" + #line 8886 "format.w" QUIT(" in line %d %s",yylineno,msg); return 0; } - /*:422*/ + /*:424*/ %} @@ -77,7 +77,7 @@ int yyerror(const char*msg) %union { - #line 10241 "format.w" + #line 10324 "format.w" uint32_t u; int32_t i; char *s; float64_t f; glyph_t c; dimen_t d;stretch_t st;xdimen_t xd;kern_t kt; rule_t r;glue_t g;image_t x; @@ -242,23 +242,23 @@ int yyerror(const char*msg) /*:295*/ /*322:*/ %token DIRECTORY "directory" %token SECTION "entry" - /*:322*/ /*341:*/ + /*:322*/ /*343:*/ %token DEFINITIONS "definitions" - /*:341*/ /*349:*/ + /*:343*/ /*351:*/ %token MAX "max" - /*:349*/ /*358:*/ + /*:351*/ /*360:*/ %type <rf> def_node - /*:358*/ /*364:*/ + /*:360*/ /*366:*/ %token PARAM "param" %type <u> def_list %type <l> parameters - /*:364*/ /*373:*/ + /*:366*/ /*375:*/ %token FONT "font" %type <info> font font_head - /*:373*/ /*401:*/ + /*:375*/ /*403:*/ %token CONTENT "content" - /*:401*/ + /*:403*/ %% /*5:*/ glyph:UNSIGNED REFERENCE{ @@ -447,309 +447,309 @@ txt:TXT_CC{ box_dimen:dimension dimension dimension { - #line 3470 "format.w" + #line 3472 "format.w" $$= hput_box_dimen($1,$2,$3);}; box_shift:{ - #line 3471 "format.w" + #line 3473 "format.w" $$= b000;} |SHIFTED dimension{ - #line 3472 "format.w" + #line 3474 "format.w" $$= hput_box_shift($2);}; box_glue_set:{ - #line 3474 "format.w" + #line 3476 "format.w" $$= b000;} |PLUS stretch{ - #line 3475 "format.w" + #line 3477 "format.w" $$= hput_box_glue_set(+1,$2.f,$2.o);} |MINUS stretch{ - #line 3476 "format.w" + #line 3478 "format.w" $$= hput_box_glue_set(-1,$2.f,$2.o);}; box:box_dimen box_shift box_glue_set list{ - #line 3479 "format.w" + #line 3481 "format.w" $$= $1 |$2 |$3;}; hbox_node:start HBOX box END{ - #line 3481 "format.w" + #line 3483 "format.w" hput_tags($1,TAG(hbox_kind,$3));}; vbox_node:start VBOX box END{ - #line 3482 "format.w" + #line 3484 "format.w" hput_tags($1,TAG(vbox_kind,$3));}; content_node:hbox_node |vbox_node; /*:163*/ /*171:*/ box_flex:plus minus{ - #line 3663 "format.w" + #line 3665 "format.w" hput_stretch(&($1));hput_stretch(&($2));}; xbox:box_dimen box_shift box_flex xdimen_ref list{ - #line 3664 "format.w" + #line 3666 "format.w" $$= $1 |$2;} |box_dimen box_shift box_flex xdimen_node list{ - #line 3665 "format.w" + #line 3667 "format.w" $$= $1 |$2 |b100;}; box_goal:TO xdimen_ref{ - #line 3667 "format.w" + #line 3669 "format.w" $$= b000;} |ADD xdimen_ref{ - #line 3668 "format.w" + #line 3670 "format.w" $$= b001;} |TO xdimen_node{ - #line 3669 "format.w" + #line 3671 "format.w" $$= b100;} |ADD xdimen_node{ - #line 3670 "format.w" + #line 3672 "format.w" $$= b101;}; hpack:box_shift box_goal list{ - #line 3672 "format.w" + #line 3674 "format.w" $$= $2;}; vpack:box_shift MAX DEPTH dimension{ - #line 3673 "format.w" + #line 3675 "format.w" HPUT32($4);}box_goal list{ - #line 3673 "format.w" + #line 3675 "format.w" $$= $1 |$6;}; vxbox_node:start VSET xbox END{ - #line 3675 "format.w" + #line 3677 "format.w" hput_tags($1,TAG(vset_kind,$3));} |start VPACK vpack END{ - #line 3676 "format.w" + #line 3678 "format.w" hput_tags($1,TAG(vpack_kind,$3));}; hxbox_node:start HSET xbox END{ - #line 3679 "format.w" + #line 3681 "format.w" hput_tags($1,TAG(hset_kind,$3));} |start HPACK hpack END{ - #line 3680 "format.w" + #line 3682 "format.w" hput_tags($1,TAG(hpack_kind,$3));}; content_node:vxbox_node |hxbox_node; /*:171*/ /*176:*/ ltype:{ - #line 3790 "format.w" + #line 3792 "format.w" $$= 1;} |ALIGN{ - #line 3790 "format.w" + #line 3792 "format.w" $$= 1;} |CENTER{ - #line 3790 "format.w" + #line 3792 "format.w" $$= 2;} |EXPAND{ - #line 3790 "format.w" + #line 3792 "format.w" $$= 3;}; leaders:glue_node ltype rule_node{ - #line 3791 "format.w" + #line 3793 "format.w" if($1)$$= $2 |b100;else $$= $2;} |glue_node ltype hbox_node{ - #line 3792 "format.w" + #line 3794 "format.w" if($1)$$= $2 |b100;else $$= $2;} |glue_node ltype vbox_node{ - #line 3793 "format.w" + #line 3795 "format.w" if($1)$$= $2 |b100;else $$= $2;}; content_node:start LEADERS leaders END{ - #line 3794 "format.w" + #line 3796 "format.w" hput_tags($1,TAG(leaders_kind,$3));} /*:176*/ /*183:*/ baseline:dimension{ - #line 3900 "format.w" + #line 3902 "format.w" if($1!=0)HPUT32($1);} glue_node glue_node{ - #line 3901 "format.w" + #line 3903 "format.w" $$= b000;if($1!=0)$$ |= b001; if($3)$$ |= b100; if($4)$$ |= b010; }; content_node:start BASELINE baseline END { - #line 3906 "format.w" + #line 3908 "format.w" if($3==b000)HPUT8(0);hput_tags($1,TAG(baseline_kind,$3));}; /*:183*/ /*190:*/ cc_list: |cc_list TXT_CC{ - #line 3989 "format.w" + #line 3991 "format.w" hput_utf8($2);}; lig_cc:UNSIGNED{ - #line 3990 "format.w" + #line 3992 "format.w" RNG("UTF-8 code",$1,0,0x1FFFFF);$$= hpos-hstart;hput_utf8($1);}; lig_cc:CHARCODE{ - #line 3991 "format.w" + #line 3993 "format.w" $$= hpos-hstart;hput_utf8($1);}; ref:REFERENCE{ - #line 3992 "format.w" + #line 3994 "format.w" HPUT8($1);$$= $1;}; ligature:ref{ - #line 3993 "format.w" + #line 3995 "format.w" REF(font_kind,$1);}lig_cc TXT_START cc_list TXT_END { - #line 3994 "format.w" + #line 3996 "format.w" $$.f= $1;$$.l.p= $3;$$.l.s= (hpos-hstart)-$3; RNG("Ligature size",$$.l.s,0,255);}; content_node:start LIGATURE ligature END{ - #line 3996 "format.w" + #line 3998 "format.w" hput_tags($1,hput_ligature(&($3)));}; /*:190*/ /*198:*/ replace_count:explicit{ - #line 4106 "format.w" + #line 4108 "format.w" if($1){$$= 0x80;HPUT8(0x80);}else $$= 0x00;} |explicit UNSIGNED{ - #line 4107 "format.w" + #line 4109 "format.w" RNG("Replace count",$2,0,31); $$= ($2) |(($1)?0x80:0x00);if($$!=0)HPUT8($$);}; disc:replace_count list list{ - #line 4109 "format.w" + #line 4111 "format.w" $$.r= $1;$$.p= $2;$$.q= $3; if($3.s==0){hpos= hpos-2;if($2.s==0)hpos= hpos-2;}} |replace_count list{ - #line 4111 "format.w" + #line 4113 "format.w" $$.r= $1;$$.p= $2;if($2.s==0)hpos= hpos-2;$$.q.s= 0;} |replace_count{ - #line 4112 "format.w" + #line 4114 "format.w" $$.r= $1;$$.p.s= 0;$$.q.s= 0;}; disc_node:start DISC disc END { - #line 4116 "format.w" + #line 4118 "format.w" hput_tags($1,hput_disc(&($3)));}; content_node:disc_node; /*:198*/ /*206:*/ par_dimen:xdimen{ - #line 4268 "format.w" + #line 4270 "format.w" hput_xdimen_node(&($1));}; par:xdimen_ref param_ref list{ - #line 4269 "format.w" + #line 4271 "format.w" $$= b000;} |xdimen_ref empty_param_list non_empty_param_list list{ - #line 4270 "format.w" + #line 4272 "format.w" $$= b010;} |xdimen_ref empty_param_list list{ - #line 4271 "format.w" + #line 4273 "format.w" $$= b010;} |xdimen param_ref{ - #line 4272 "format.w" + #line 4274 "format.w" hput_xdimen_node(&($1));}list{ - #line 4272 "format.w" + #line 4274 "format.w" $$= b100;} |par_dimen empty_param_list non_empty_param_list list{ - #line 4273 "format.w" + #line 4275 "format.w" $$= b110;} |par_dimen empty_param_list list{ - #line 4274 "format.w" + #line 4276 "format.w" $$= b110;}; content_node:start PAR par END{ - #line 4276 "format.w" + #line 4278 "format.w" hput_tags($1,TAG(par_kind,$3));}; /*:206*/ /*211:*/ math:param_ref list{ - #line 4342 "format.w" + #line 4344 "format.w" $$= b000;} |param_ref list hbox_node{ - #line 4343 "format.w" + #line 4345 "format.w" $$= b001;} |param_ref hbox_node list{ - #line 4344 "format.w" + #line 4346 "format.w" $$= b010;} |empty_param_list list{ - #line 4345 "format.w" + #line 4347 "format.w" $$= b100;} |empty_param_list list hbox_node{ - #line 4346 "format.w" + #line 4348 "format.w" $$= b101;} |empty_param_list hbox_node list{ - #line 4347 "format.w" + #line 4349 "format.w" $$= b110;} |empty_param_list non_empty_param_list list{ - #line 4348 "format.w" + #line 4350 "format.w" $$= b100;} |empty_param_list non_empty_param_list list hbox_node{ - #line 4349 "format.w" + #line 4351 "format.w" $$= b101;} |empty_param_list non_empty_param_list hbox_node list{ - #line 4350 "format.w" + #line 4352 "format.w" $$= b110;}; content_node:start MATH math END{ - #line 4352 "format.w" + #line 4354 "format.w" hput_tags($1,TAG(math_kind,$3));}; /*:211*/ /*216:*/ on_off:ON{ - #line 4402 "format.w" + #line 4404 "format.w" $$= 1;} |OFF{ - #line 4402 "format.w" + #line 4404 "format.w" $$= 0;}; math:on_off{ - #line 4403 "format.w" + #line 4405 "format.w" $$= b011 |($1<<2);}; /*:216*/ /*220:*/ content_node:start ADJUST list END{ - #line 4434 "format.w" + #line 4436 "format.w" hput_tags($1,TAG(adjust_kind,1));}; /*:220*/ /*224:*/ span_count:UNSIGNED{ - #line 4533 "format.w" + #line 4535 "format.w" $$= hput_span_count($1);}; content_node:start ITEM content_node END{ - #line 4534 "format.w" + #line 4536 "format.w" hput_tags($1,TAG(item_kind,1));}; content_node:start ITEM span_count content_node END{ - #line 4535 "format.w" + #line 4537 "format.w" hput_tags($1,TAG(item_kind,$3));}; content_node:start ITEM list END{ - #line 4536 "format.w" + #line 4538 "format.w" hput_tags($1,TAG(item_kind,b000));}; table:H box_goal list list{ - #line 4538 "format.w" + #line 4540 "format.w" $$= $2;}; table:V box_goal list list{ - #line 4539 "format.w" + #line 4541 "format.w" $$= $2 |b010;}; content_node:start TABLE table END{ - #line 4541 "format.w" + #line 4543 "format.w" hput_tags($1,TAG(table_kind,$3));}; /*:224*/ /*231:*/ image_dimen:dimension dimension{ - #line 4629 "format.w" + #line 4631 "format.w" $$.w= $1;$$.h= $2;} |{ - #line 4629 "format.w" + #line 4631 "format.w" $$.w= $$.h= 0;}; image:UNSIGNED image_dimen plus minus{ - #line 4630 "format.w" + #line 4632 "format.w" $$.w= $2.w;$$.h= $2.h;$$.p= $3;$$.m= $4;RNG("Section number",$1,3,max_section_no);$$.n= $1;}; content_node:start IMAGE image END{ - #line 4631 "format.w" + #line 4633 "format.w" hput_tags($1,hput_image(&($3)));} /*:231*/ /*241:*/ max_value:OUTLINE UNSIGNED{ - #line 4868 "format.w" + #line 4870 "format.w" max_outline= $2; RNG("max outline",max_outline,0,0xFFFF); DBG(DBGDEF |DBGLABEL,"Setting max outline to %d\n",max_outline); }; /*:241*/ /*248:*/ placement:TOP{ - #line 4960 "format.w" + #line 4962 "format.w" $$= LABEL_TOP;} |BOT{ - #line 4960 "format.w" + #line 4962 "format.w" $$= LABEL_BOT;} |MID{ - #line 4960 "format.w" + #line 4962 "format.w" $$= LABEL_MID;} |{ - #line 4960 "format.w" + #line 4962 "format.w" $$= LABEL_MID;}; content_node:START LABEL REFERENCE placement END { - #line 4962 "format.w" + #line 4964 "format.w" hset_label($3,$4);} /*:248*/ /*262:*/ content_node:start LINK REFERENCE on_off END { - #line 5220 "format.w" + #line 5222 "format.w" hput_tags($1,hput_link($3,$4));}; /*:262*/ /*272:*/ def_node:START OUTLINE REFERENCE integer position list END{ - #line 5350 "format.w" + #line 5352 "format.w" static int outline_no= -1; $$.k= outline_kind;$$.n= $3; @@ -759,102 +759,102 @@ def_node:START OUTLINE REFERENCE integer position list END{ }; /*:272*/ /*279:*/ stream_link:ref{ - #line 5765 "format.w" + #line 5767 "format.w" REF_RNG(stream_kind,$1);} |NOREFERENCE{ - #line 5765 "format.w" + #line 5767 "format.w" HPUT8(255);}; stream_split:stream_link stream_link UNSIGNED{ - #line 5766 "format.w" + #line 5768 "format.w" RNG("split ratio",$3,0,1000);HPUT16($3);}; stream_info:xdimen_node UNSIGNED{ - #line 5767 "format.w" + #line 5769 "format.w" RNG("magnification factor",$2,0,1000);HPUT16($2);}stream_split; stream_type:stream_info{ - #line 5769 "format.w" + #line 5771 "format.w" $$= 0;} |FIRST{ - #line 5769 "format.w" + #line 5771 "format.w" $$= 1;} |LAST{ - #line 5769 "format.w" + #line 5771 "format.w" $$= 2;} |TOP{ - #line 5769 "format.w" + #line 5771 "format.w" $$= 3;}; stream_def_node:start STREAMDEF ref stream_type list xdimen_node glue_node list glue_node END { - #line 5773 "format.w" + #line 5775 "format.w" DEF($$,stream_kind,$3);hput_tags($1,TAG(stream_kind,$4 |b100));}; stream_ins_node:start STREAMDEF ref END { - #line 5776 "format.w" + #line 5778 "format.w" RNG("Stream insertion",$3,0,max_ref[stream_kind]);hput_tags($1,TAG(stream_kind,b100));}; content_node:stream_def_node |stream_ins_node; /*:279*/ /*284:*/ stream:empty_param_list list{ - #line 5871 "format.w" + #line 5873 "format.w" $$= b010;} |empty_param_list non_empty_param_list list{ - #line 5872 "format.w" + #line 5874 "format.w" $$= b010;} |param_ref list{ - #line 5873 "format.w" + #line 5875 "format.w" $$= b000;}; content_node:start STREAM stream_ref stream END { - #line 5875 "format.w" + #line 5877 "format.w" hput_tags($1,TAG(stream_kind,$4));}; /*:284*/ /*289:*/ page_priority:{ - #line 5978 "format.w" + #line 5980 "format.w" HPUT8(1);} |UNSIGNED{ - #line 5979 "format.w" + #line 5981 "format.w" RNG("page priority",$1,0,255);HPUT8($1);}; stream_def_list: |stream_def_list stream_def_node; page:string{ - #line 5983 "format.w" + #line 5985 "format.w" hput_string($1);}page_priority glue_node dimension{ - #line 5983 "format.w" + #line 5985 "format.w" HPUT32($5);} xdimen_node xdimen_node list stream_def_list; /*:289*/ /*297:*/ content_node:START RANGE REFERENCE ON END{ - #line 6095 "format.w" + #line 6097 "format.w" REF(page_kind,$3);hput_range($3,true);} |START RANGE REFERENCE OFF END{ - #line 6096 "format.w" + #line 6098 "format.w" REF(page_kind,$3);hput_range($3,false);}; /*:297*/ /*308:*/ hint:directory_section definition_section content_section; /*:308*/ /*324:*/ directory_section:START DIRECTORY UNSIGNED{ - #line 6786 "format.w" + #line 6788 "format.w" new_directory($3+1);new_output_buffers();}entry_list END; entry_list: |entry_list entry; entry:START SECTION UNSIGNED string END { - #line 6789 "format.w" + #line 6791 "format.w" RNG("Section number",$3,3,max_section_no);hset_entry(&(dir[$3]),$3,0,0,$4);}; - /*:324*/ /*343:*/ + /*:324*/ /*345:*/ definition_section:START DEFINITIONS{ - #line 7277 "format.w" + #line 7326 "format.w" hput_definitions_start();} max_definitions definition_list END{ - #line 7279 "format.w" + #line 7328 "format.w" hput_definitions_end();}; definition_list: |definition_list def_node; - /*:343*/ /*351:*/ + /*:345*/ /*353:*/ max_definitions:START MAX max_list END { - #line 7395 "format.w" + #line 7444 "format.w" /*245:*/ if(max_ref[label_kind]>=0) ALLOCATE(labels,max_ref[label_kind]+1,label_t); @@ -864,7 +864,7 @@ max_definitions:START MAX max_list END /*:266*/ /*293:*/ ALLOCATE(page_on,max_ref[page_kind]+1,int); ALLOCATE(range_pos,2*(max_ref[range_kind]+1),range_pos_t); - /*:293*/ /*357:*/ + /*:293*/ /*359:*/ 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; @@ -873,239 +873,239 @@ max_definitions:START MAX max_list END 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; - /*:357*/ /*372:*/ + /*:359*/ /*374:*/ ALLOCATE(hfont_name,max_ref[font_kind]+1,char*); - /*:372*/hput_max_definitions();}; + /*:374*/hput_max_definitions();}; max_list: |max_list START max_value END; max_value:FONT UNSIGNED{ - #line 7399 "format.w" + #line 7448 "format.w" hset_max(font_kind,$2);} |INTEGER UNSIGNED{ - #line 7400 "format.w" + #line 7449 "format.w" hset_max(int_kind,$2);} |DIMEN UNSIGNED{ - #line 7401 "format.w" + #line 7450 "format.w" hset_max(dimen_kind,$2);} |LIGATURE UNSIGNED{ - #line 7402 "format.w" + #line 7451 "format.w" hset_max(ligature_kind,$2);} |DISC UNSIGNED{ - #line 7403 "format.w" + #line 7452 "format.w" hset_max(disc_kind,$2);} |GLUE UNSIGNED{ - #line 7404 "format.w" + #line 7453 "format.w" hset_max(glue_kind,$2);} |LANGUAGE UNSIGNED{ - #line 7405 "format.w" + #line 7454 "format.w" hset_max(language_kind,$2);} |RULE UNSIGNED{ - #line 7406 "format.w" + #line 7455 "format.w" hset_max(rule_kind,$2);} |IMAGE UNSIGNED{ - #line 7407 "format.w" + #line 7456 "format.w" hset_max(image_kind,$2);} |LEADERS UNSIGNED{ - #line 7408 "format.w" + #line 7457 "format.w" hset_max(leaders_kind,$2);} |BASELINE UNSIGNED{ - #line 7409 "format.w" + #line 7458 "format.w" hset_max(baseline_kind,$2);} |XDIMEN UNSIGNED{ - #line 7410 "format.w" + #line 7459 "format.w" hset_max(xdimen_kind,$2);} |PARAM UNSIGNED{ - #line 7411 "format.w" + #line 7460 "format.w" hset_max(param_kind,$2);} |STREAMDEF UNSIGNED{ - #line 7412 "format.w" + #line 7461 "format.w" hset_max(stream_kind,$2);} |PAGE UNSIGNED{ - #line 7413 "format.w" + #line 7462 "format.w" hset_max(page_kind,$2);} |RANGE UNSIGNED{ - #line 7414 "format.w" + #line 7463 "format.w" hset_max(range_kind,$2);} |LABEL UNSIGNED{ - #line 7415 "format.w" + #line 7464 "format.w" hset_max(label_kind,$2);}; - /*:351*/ /*359:*/ + /*:353*/ /*361:*/ def_node: start FONT ref font END{ - #line 7612 "format.w" + #line 7661 "format.w" DEF($$,font_kind,$3);hput_tags($1,$4);} |start INTEGER ref integer END{ - #line 7613 "format.w" + #line 7662 "format.w" DEF($$,int_kind,$3);hput_tags($1,hput_int($4));} |start DIMEN ref dimension END{ - #line 7614 "format.w" + #line 7663 "format.w" DEF($$,dimen_kind,$3);hput_tags($1,hput_dimen($4));} |start LANGUAGE ref string END{ - #line 7615 "format.w" + #line 7664 "format.w" DEF($$,language_kind,$3);hput_string($4);hput_tags($1,TAG(language_kind,0));} |start GLUE ref glue END{ - #line 7616 "format.w" + #line 7665 "format.w" DEF($$,glue_kind,$3);hput_tags($1,hput_glue(&($4)));} |start XDIMEN ref xdimen END{ - #line 7617 "format.w" + #line 7666 "format.w" DEF($$,xdimen_kind,$3);hput_tags($1,hput_xdimen(&($4)));} |start RULE ref rule END{ - #line 7618 "format.w" + #line 7667 "format.w" DEF($$,rule_kind,$3);hput_tags($1,hput_rule(&($4)));} |start LEADERS ref leaders END{ - #line 7619 "format.w" + #line 7668 "format.w" DEF($$,leaders_kind,$3);hput_tags($1,TAG(leaders_kind,$4));} |start BASELINE ref baseline END{ - #line 7620 "format.w" + #line 7669 "format.w" DEF($$,baseline_kind,$3);hput_tags($1,TAG(baseline_kind,$4));} |start LIGATURE ref ligature END{ - #line 7621 "format.w" + #line 7670 "format.w" DEF($$,ligature_kind,$3);hput_tags($1,hput_ligature(&($4)));} |start DISC ref disc END{ - #line 7622 "format.w" + #line 7671 "format.w" DEF($$,disc_kind,$3);hput_tags($1,hput_disc(&($4)));} |start IMAGE ref image END{ - #line 7623 "format.w" + #line 7672 "format.w" DEF($$,image_kind,$3);hput_tags($1,hput_image(&($4)));} |start PARAM ref parameters END{ - #line 7624 "format.w" + #line 7673 "format.w" DEF($$,param_kind,$3);hput_tags($1,hput_list($1+2,&($4)));} |start PAGE ref page END{ - #line 7625 "format.w" + #line 7674 "format.w" DEF($$,page_kind,$3);hput_tags($1,TAG(page_kind,0));}; - /*:359*/ /*361:*/ + /*:361*/ /*363:*/ def_node: start INTEGER ref ref END{ - #line 7644 "format.w" + #line 7693 "format.w" DEF_REF($$,int_kind,$3,$4);hput_tags($1,TAG(int_kind,0));} |start DIMEN ref ref END{ - #line 7645 "format.w" + #line 7694 "format.w" DEF_REF($$,dimen_kind,$3,$4);hput_tags($1,TAG(dimen_kind,0));} |start GLUE ref ref END{ - #line 7646 "format.w" + #line 7695 "format.w" DEF_REF($$,glue_kind,$3,$4);hput_tags($1,TAG(glue_kind,0));}; - /*:361*/ /*366:*/ + /*:363*/ /*368:*/ def_list:position |def_list def_node{ - #line 7760 "format.w" + #line 7809 "format.w" check_param_def(&($2));}; parameters:estimate def_list{ - #line 7761 "format.w" + #line 7810 "format.w" $$.p= $2;$$.k= param_kind;$$.s= (hpos-hstart)-$2;}; - /*:366*/ /*367:*/ + /*:368*/ /*369:*/ empty_param_list:position{ - #line 7782 "format.w" + #line 7831 "format.w" HPUTX(2);hpos++;hput_tags($1,TAG(param_kind,1));}; non_empty_param_list:start PARAM{ - #line 7783 "format.w" + #line 7832 "format.w" hpos= hpos-2;}parameters END { - #line 7784 "format.w" + #line 7833 "format.w" hput_tags($1-2,hput_list($1-1,&($4)));}; - /*:367*/ /*375:*/ + /*:369*/ /*377:*/ font:font_head font_param_list; font_head:string dimension UNSIGNED UNSIGNED { - #line 7926 "format.w" + #line 7975 "format.w" uint8_t f= $<u>0;SET_DBIT(f,font_kind);hfont_name[f]= strdup($1);$$= hput_font_head(f,hfont_name[f],$2,$3,$4);}; font_param_list:glue_node disc_node |font_param_list font_param; font_param: start PENALTY fref penalty END{ - #line 7931 "format.w" + #line 7980 "format.w" hput_tags($1,hput_int($4));} |start KERN fref kern END{ - #line 7932 "format.w" + #line 7981 "format.w" hput_tags($1,hput_kern(&($4)));} |start LIGATURE fref ligature END{ - #line 7933 "format.w" + #line 7982 "format.w" hput_tags($1,hput_ligature(&($4)));} |start DISC fref disc END{ - #line 7934 "format.w" + #line 7983 "format.w" hput_tags($1,hput_disc(&($4)));} |start GLUE fref glue END{ - #line 7935 "format.w" + #line 7984 "format.w" hput_tags($1,hput_glue(&($4)));} |start LANGUAGE fref string END{ - #line 7936 "format.w" + #line 7985 "format.w" hput_string($4);hput_tags($1,TAG(language_kind,0));} |start RULE fref rule END{ - #line 7937 "format.w" + #line 7986 "format.w" hput_tags($1,hput_rule(&($4)));} |start IMAGE fref image END{ - #line 7938 "format.w" + #line 7987 "format.w" hput_tags($1,hput_image(&($4)));}; fref:ref{ - #line 7940 "format.w" + #line 7989 "format.w" RNG("Font parameter",$1,0,MAX_FONT_PARAMS);}; - /*:375*/ /*378:*/ + /*:377*/ /*380:*/ xdimen_ref:ref{ - #line 8013 "format.w" + #line 8062 "format.w" REF(xdimen_kind,$1);}; param_ref:ref{ - #line 8014 "format.w" + #line 8063 "format.w" REF(param_kind,$1);}; stream_ref:ref{ - #line 8015 "format.w" + #line 8064 "format.w" REF_RNG(stream_kind,$1);}; content_node: start PENALTY ref END{ - #line 8019 "format.w" + #line 8068 "format.w" REF(penalty_kind,$3);hput_tags($1,TAG(penalty_kind,0));} |start KERN explicit ref END { - #line 8021 "format.w" + #line 8070 "format.w" REF(dimen_kind,$4);hput_tags($1,TAG(kern_kind,($3)?b100:b000));} |start KERN explicit XDIMEN ref END { - #line 8023 "format.w" + #line 8072 "format.w" REF(xdimen_kind,$5);hput_tags($1,TAG(kern_kind,($3)?b101:b001));} |start GLUE ref END{ - #line 8024 "format.w" + #line 8073 "format.w" REF(glue_kind,$3);hput_tags($1,TAG(glue_kind,0));} |start LIGATURE ref END{ - #line 8025 "format.w" + #line 8074 "format.w" REF(ligature_kind,$3);hput_tags($1,TAG(ligature_kind,0));} |start DISC ref END{ - #line 8026 "format.w" + #line 8075 "format.w" REF(disc_kind,$3);hput_tags($1,TAG(disc_kind,0));} |start RULE ref END{ - #line 8027 "format.w" + #line 8076 "format.w" REF(rule_kind,$3);hput_tags($1,TAG(rule_kind,0));} |start IMAGE ref END{ - #line 8028 "format.w" + #line 8077 "format.w" REF(image_kind,$3);hput_tags($1,TAG(image_kind,0));} |start LEADERS ref END{ - #line 8029 "format.w" + #line 8078 "format.w" REF(leaders_kind,$3);hput_tags($1,TAG(leaders_kind,0));} |start BASELINE ref END{ - #line 8030 "format.w" + #line 8079 "format.w" REF(baseline_kind,$3);hput_tags($1,TAG(baseline_kind,0));} |start LANGUAGE REFERENCE END{ - #line 8031 "format.w" + #line 8080 "format.w" REF(language_kind,$3);hput_tags($1,hput_language($3));}; glue_node:start GLUE ref END{ - #line 8033 "format.w" + #line 8082 "format.w" REF(glue_kind,$3); if($3==zero_skip_no){hpos= hpos-2;$$= false;} else{hput_tags($1,TAG(glue_kind,0));$$= true;}}; - /*:378*/ /*403:*/ + /*:380*/ /*405:*/ content_section:START CONTENT{ - #line 8464 "format.w" + #line 8513 "format.w" hput_content_start();}content_list END { - #line 8465 "format.w" + #line 8514 "format.w" hput_content_end();hput_range_defs();hput_label_defs();}; - /*:403*/ + /*:405*/ %% - /*:510*/ + /*:512*/ |