Changeset 77 for trunk


Ignore:
Timestamp:
Mar 28, 2008, 10:30:27 AM (11 years ago)
Author:
lindanl
Message:

Update NameFollow? for DTDs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bitlex.c

    r72 r77  
    286286template <>
    287287static inline void ComputeLexicalItemBlocks<ASCII>(BitBlock bit[], BitBlock LexItem[]) {
    288         BitBlock temp1 = simd_or(bit[0], bit[1]);
    289         BitBlock temp2 = simd_and(bit[2], bit[3]);
    290         BitBlock temp3 = simd_andc(temp2, temp1);
    291         BitBlock temp4 = simd_and(bit[4], bit[5]);
    292         BitBlock temp5 = simd_or(bit[6], bit[7]);
    293         BitBlock temp6 = simd_andc(temp4, temp5);
    294         BitBlock temp7 = simd_and(temp3, temp6);
    295         BitBlock temp8 = simd_andc(bit[2], bit[3]);
    296         BitBlock temp9 = simd_andc(temp8, temp1);
    297         BitBlock temp10 = simd_andc(bit[5], bit[4]);
    298         BitBlock temp11 = simd_andc(bit[6], bit[7]);
    299         BitBlock temp12 = simd_and(temp10, temp11);
    300         BitBlock temp13 = simd_and(temp9, temp12);
    301         LexItem[MarkupStart] = simd_or(temp7, temp13);
    302         BitBlock temp14 = simd_and(temp4, temp11);
    303         BitBlock RAngle = simd_and(temp3, temp14);
    304         BitBlock temp15 = simd_andc(bit[1], bit[0]);
    305         BitBlock temp16 = simd_andc(bit[3], bit[2]);
    306         BitBlock temp17 = simd_and(temp15, temp16);
    307         BitBlock temp18 = simd_andc(bit[7], bit[6]);
    308         BitBlock temp19 = simd_and(temp4, temp18);
    309         BitBlock RBracket = simd_and(temp17, temp19);
    310         LexItem[Hyphen] = simd_and(temp9, temp19);
    311         BitBlock temp20 = simd_and(bit[6], bit[7]);
    312         BitBlock temp21 = simd_and(temp4, temp20);
    313         LexItem[QMark] = simd_and(temp3, temp21);
    314         BitBlock temp22 = simd_or(bit[4], bit[5]);
    315         BitBlock temp23 = simd_andc(temp11, temp22);
    316         BitBlock temp24 = simd_and(temp10, temp20);
    317         BitBlock temp25 = simd_or(temp23, temp24);
    318         BitBlock temp26 = simd_and(temp9, temp25);
    319         BitBlock temp27 = simd_or(temp26, temp7);
    320         LexItem[Quote] = simd_or(temp27, temp13);
    321         BitBlock temp28 = simd_andc(bit[4], bit[5]);
    322         BitBlock temp29 = simd_and(temp28, temp20);
    323         BitBlock temp30 = simd_or(temp29, temp19);
    324         BitBlock temp31 = simd_and(temp3, temp30);
    325         BitBlock temp32 = simd_and(temp9, temp21);
    326         BitBlock temp33 = simd_or(temp31, temp32);
    327         BitBlock temp34 = simd_or(temp33, RAngle);
    328         LexItem[NameFollow] = simd_or(temp34, LexItem[QMark]);
     288  BitBlock temp1 = simd_or(bit[0], bit[1]);
     289  BitBlock temp2 = simd_and(bit[2], bit[3]);
     290  BitBlock temp3 = simd_andc(temp2, temp1);
     291  BitBlock temp4 = simd_and(bit[4], bit[5]);
     292  BitBlock temp5 = simd_or(bit[6], bit[7]);
     293  BitBlock temp6 = simd_andc(temp4, temp5);
     294  BitBlock temp7 = simd_and(temp3, temp6);
     295  BitBlock temp8 = simd_andc(bit[2], bit[3]);
     296  BitBlock temp9 = simd_andc(temp8, temp1);
     297  BitBlock temp10 = simd_andc(bit[5], bit[4]);
     298  BitBlock temp11 = simd_andc(bit[6], bit[7]);
     299  BitBlock temp12 = simd_and(temp10, temp11);
     300  BitBlock temp13 = simd_and(temp9, temp12);
     301  LexItem[MarkupStart] = simd_or(temp7, temp13);
     302  BitBlock temp14 = simd_and(temp4, temp11);
     303  BitBlock RAngle = simd_and(temp3, temp14);
     304  BitBlock temp15 = simd_andc(bit[1], bit[0]);
     305  BitBlock temp16 = simd_andc(bit[3], bit[2]);
     306  BitBlock temp17 = simd_and(temp15, temp16);
     307  BitBlock temp18 = simd_andc(bit[7], bit[6]);
     308  BitBlock temp19 = simd_and(temp4, temp18);
     309  BitBlock RBracket = simd_and(temp17, temp19);
     310  LexItem[Hyphen] = simd_and(temp9, temp19);
     311  BitBlock temp20 = simd_and(bit[6], bit[7]);
     312  BitBlock temp21 = simd_and(temp4, temp20);
     313  LexItem[QMark] = simd_and(temp3, temp21);
     314  BitBlock temp22 = simd_or(bit[4], bit[5]);
     315  BitBlock temp23 = simd_andc(temp11, temp22);
     316  BitBlock temp24 = simd_and(temp10, temp20);
     317  BitBlock temp25 = simd_or(temp23, temp24);
     318  BitBlock temp26 = simd_and(temp9, temp25);
     319  BitBlock temp27 = simd_or(temp26, temp7);
     320  LexItem[Quote] = simd_or(temp27, temp13);
     321  BitBlock temp28 = simd_and(bit[5], temp5);
     322  BitBlock temp29 = simd_and(bit[4], temp28);
     323  BitBlock temp30 = simd_andc(temp29, temp21);
     324  BitBlock temp31 = simd_andc(temp9, temp30);
     325  BitBlock temp32 = simd_and(temp3, bit[4]);
     326  BitBlock temp33 = simd_or(bit[5], temp20);
     327  BitBlock temp34 = simd_and(temp32, temp33);
     328  BitBlock temp35 = simd_or(temp31, temp34);
     329  BitBlock temp36 = simd_and(temp17, bit[4]);
     330  BitBlock temp37 = simd_andc(simd_const_1(1), temp20);
     331  BitBlock temp38 = simd_if(bit[5], temp37, temp20);
     332  BitBlock temp39 = simd_and(temp36, temp38);
     333  BitBlock temp40 = simd_or(temp35, temp39);
     334  BitBlock temp41 = simd_and(temp15, temp2);
     335  BitBlock temp42 = simd_and(temp41, bit[4]);
     336  BitBlock temp43 = simd_and(temp42, temp38);
     337  LexItem[NameFollow] = simd_or(temp40, temp43);
    329338#ifdef DIGIT_AND_HEX_ITEMS
    330         BitBlock temp35 = simd_or(bit[5], bit[6]);
    331         BitBlock temp36 = simd_and(bit[4], temp35);
    332         BitBlock Digit = simd_andc(temp3, temp36);
    333         BitBlock temp37 = simd_or(bit[2], bit[3]);
    334         BitBlock temp38 = simd_andc(temp15, temp37);
    335         BitBlock temp39 = simd_andc(temp38, bit[4]);
    336         BitBlock temp40 = simd_andc(simd_const_1(1), temp20);
    337         BitBlock temp41 = simd_if(bit[5], temp40, temp5);
    338         BitBlock temp42 = simd_and(temp39, temp41);
    339         BitBlock temp43 = simd_or(Digit, temp42);
    340         BitBlock temp44 = simd_and(temp15, temp8);
    341         BitBlock temp45 = simd_andc(temp44, bit[4]);
    342         BitBlock temp46 = simd_and(temp45, temp41);
    343         BitBlock Hex = simd_or(temp43, temp46);
    344         LexItem[NonDigit] = simd_not(Digit);
    345         LexItem[NonHex] = simd_not(Hex);
     339  BitBlock temp44 = simd_or(bit[5], bit[6]);
     340  BitBlock temp45 = simd_and(bit[4], temp44);
     341  BitBlock Digit = simd_andc(temp3, temp45);
     342  BitBlock temp46 = simd_or(bit[2], bit[3]);
     343  BitBlock temp47 = simd_andc(temp15, temp46);
     344  BitBlock temp48 = simd_andc(temp47, bit[4]);
     345  BitBlock temp49 = simd_if(bit[5], temp37, temp5);
     346  BitBlock temp50 = simd_and(temp48, temp49);
     347  BitBlock temp51 = simd_or(Digit, temp50);
     348  BitBlock temp52 = simd_and(temp15, temp8);
     349  BitBlock temp53 = simd_andc(temp52, bit[4]);
     350  BitBlock temp54 = simd_and(temp53, temp49);
     351  BitBlock Hex = simd_or(temp51, temp54);
     352  LexItem[NonDigit] = simd_not(Digit);
     353  LexItem[NonHex] = simd_not(Hex);
    346354#endif 
    347355        /* Mark potential occurrences of ']]>'  These are all actual
     
    360368template <>
    361369static inline void ComputeLexicalItemBlocks<EBCDIC>(BitBlock bit[], BitBlock LexItem[]) {
    362         BitBlock temp1 = simd_andc(bit[1], bit[0]);
    363         BitBlock temp2 = simd_or(bit[2], bit[3]);
    364         BitBlock temp3 = simd_andc(temp1, temp2);
    365         BitBlock temp4 = simd_and(bit[4], bit[5]);
    366         BitBlock temp5 = simd_or(bit[6], bit[7]);
    367         BitBlock temp6 = simd_andc(temp4, temp5);
    368         BitBlock temp7 = simd_and(temp3, temp6);
    369         BitBlock temp8 = simd_andc(bit[3], bit[2]);
    370         BitBlock temp9 = simd_and(temp1, temp8);
    371         BitBlock temp10 = simd_or(bit[4], bit[5]);
    372         BitBlock temp11 = simd_or(temp10, temp5);
    373         BitBlock temp12 = simd_andc(temp9, temp11);
    374         LexItem[MarkupStart] = simd_or(temp7, temp12);
    375         BitBlock temp13 = simd_andc(bit[2], bit[3]);
    376         BitBlock temp14 = simd_and(temp1, temp13);
    377         BitBlock temp15 = simd_andc(bit[6], bit[7]);
    378         BitBlock temp16 = simd_and(temp4, temp15);
    379         BitBlock RAngle = simd_and(temp14, temp16);
    380         BitBlock temp17 = simd_andc(bit[0], bit[1]);
    381         BitBlock temp18 = simd_and(bit[2], bit[3]);
    382         BitBlock temp19 = simd_and(temp17, temp18);
    383         BitBlock temp20 = simd_andc(bit[4], bit[5]);
    384         BitBlock temp21 = simd_and(bit[6], bit[7]);
    385         BitBlock temp22 = simd_and(temp20, temp21);
    386         BitBlock RBracket = simd_and(temp19, temp22);
    387         LexItem[Hyphen] = simd_andc(temp14, temp11);
    388         BitBlock temp23 = simd_and(temp4, temp21);
    389         LexItem[QMark] = simd_and(temp14, temp23);
    390         BitBlock temp24 = simd_and(temp1, temp18);
    391         BitBlock temp25 = simd_and(temp4, bit[7]);
    392         BitBlock temp26 = simd_and(temp24, temp25);
    393         BitBlock temp27 = simd_or(temp26, temp7);
    394         LexItem[Quote] = simd_or(temp27, temp12);
    395         BitBlock temp28 = simd_and(temp1, bit[3]);
    396         BitBlock temp29 = simd_and(temp16, temp28);
    397         BitBlock temp30 = simd_andc(bit[7], bit[6]);
    398         BitBlock temp31 = simd_andc(temp30, temp10);
    399         BitBlock temp32 = simd_and(temp14, temp31);
    400         BitBlock temp33 = simd_or(temp29, temp32);
    401         BitBlock temp34 = simd_or(temp33, RAngle);
    402         LexItem[NameFollow] = simd_or(temp34, LexItem[QMark]);
     370          BitBlock temp1 = simd_andc(bit[1], bit[0]);
     371  BitBlock temp2 = simd_or(bit[2], bit[3]);
     372  BitBlock temp3 = simd_andc(temp1, temp2);
     373  BitBlock temp4 = simd_and(bit[4], bit[5]);
     374  BitBlock temp5 = simd_or(bit[6], bit[7]);
     375  BitBlock temp6 = simd_andc(temp4, temp5);
     376  BitBlock temp7 = simd_and(temp3, temp6);
     377  BitBlock temp8 = simd_andc(bit[3], bit[2]);
     378  BitBlock temp9 = simd_and(temp1, temp8);
     379  BitBlock temp10 = simd_or(bit[4], bit[5]);
     380  BitBlock temp11 = simd_or(temp10, temp5);
     381  BitBlock temp12 = simd_andc(temp9, temp11);
     382  LexItem[MarkupStart] = simd_or(temp7, temp12);
     383  BitBlock temp13 = simd_andc(bit[2], bit[3]);
     384  BitBlock temp14 = simd_and(temp1, temp13);
     385  BitBlock temp15 = simd_andc(bit[6], bit[7]);
     386  BitBlock temp16 = simd_and(temp4, temp15);
     387  BitBlock RAngle = simd_and(temp14, temp16);
     388  BitBlock temp17 = simd_andc(bit[0], bit[1]);
     389  BitBlock temp18 = simd_and(bit[2], bit[3]);
     390  BitBlock temp19 = simd_and(temp17, temp18);
     391  BitBlock temp20 = simd_andc(bit[4], bit[5]);
     392  BitBlock temp21 = simd_and(bit[6], bit[7]);
     393  BitBlock temp22 = simd_and(temp20, temp21);
     394  BitBlock RBracket = simd_and(temp19, temp22);
     395  LexItem[Hyphen] = simd_andc(temp14, temp11);
     396  BitBlock temp23 = simd_and(temp4, temp21);
     397  BitBlock QMark = simd_and(temp14, temp23);
     398  BitBlock temp24 = simd_and(temp1, temp18);
     399  BitBlock temp25 = simd_and(temp4, bit[7]);
     400  BitBlock temp26 = simd_and(temp24, temp25);
     401  BitBlock temp27 = simd_or(temp26, temp7);
     402  LexItem[Quote] = simd_or(temp27, temp12);
     403  BitBlock temp28 = simd_andc(temp3, temp11);
     404  BitBlock temp29 = simd_and(temp20, temp15);
     405  BitBlock temp30 = simd_and(temp9, temp29);
     406  BitBlock temp31 = simd_or(temp28, temp30);
     407  BitBlock temp32 = simd_and(temp24, temp23);
     408  BitBlock temp33 = simd_or(temp31, temp32);
     409  BitBlock temp34 = simd_and(temp24, temp22);
     410  BitBlock temp35 = simd_or(temp33, temp34);
     411  BitBlock temp36 = simd_and(temp9, temp22);
     412  BitBlock temp37 = simd_or(temp35, temp36);
     413  BitBlock temp38 = simd_and(temp14, temp6);
     414  BitBlock temp39 = simd_or(temp37, temp38);
     415  BitBlock temp40 = simd_or(temp39, temp12);
     416  BitBlock temp41 = simd_andc(bit[7], bit[6]);
     417  BitBlock temp42 = simd_and(temp4, temp41);
     418  BitBlock temp43 = simd_and(temp24, temp42);
     419  BitBlock temp44 = simd_or(temp40, temp43);
     420  BitBlock temp45 = simd_and(temp3, temp42);
     421  BitBlock temp46 = simd_or(temp44, temp45);
     422  BitBlock temp47 = simd_and(temp9, temp42);
     423  BitBlock temp48 = simd_or(temp46, temp47);
     424  BitBlock temp49 = simd_and(temp9, temp6);
     425  BitBlock temp50 = simd_or(temp48, temp49);
     426  BitBlock temp51 = simd_and(temp3, temp16);
     427  BitBlock temp52 = simd_or(temp50, temp51);
     428  BitBlock temp53 = simd_and(temp14, temp22);
     429  BitBlock temp54 = simd_or(temp52, temp53);
     430  BitBlock temp55 = simd_andc(temp41, temp10);
     431  BitBlock temp56 = simd_and(temp14, temp55);
     432  BitBlock temp57 = simd_or(temp54, temp56);
     433  BitBlock temp58 = simd_and(temp9, temp16);
     434  BitBlock temp59 = simd_or(temp57, temp58);
     435  BitBlock temp60 = simd_or(temp59, temp7);
     436  BitBlock temp61 = simd_and(temp24, temp16);
     437  BitBlock temp62 = simd_or(temp60, temp61);
     438  BitBlock temp63 = simd_or(temp62, RAngle);
     439  BitBlock temp64 = simd_or(temp63, QMark);
     440  BitBlock temp65 = simd_and(temp19, temp29);
     441  BitBlock temp66 = simd_or(temp64, temp65);
     442  BitBlock temp67 = simd_and(bit[0], bit[1]);
     443  BitBlock temp68 = simd_and(temp67, temp13);
     444  BitBlock temp69 = simd_andc(temp68, temp11);
     445  BitBlock temp70 = simd_or(temp66, temp69);
     446  BitBlock temp71 = simd_or(temp70, RBracket);
     447  BitBlock temp72 = simd_andc(temp19, temp11);
     448  BitBlock temp73 = simd_or(temp71, temp72);
     449  BitBlock temp74 = simd_andc(temp67, temp2);
     450  BitBlock temp75 = simd_andc(temp74, temp11);
     451  BitBlock temp76 = simd_or(temp73, temp75);
     452  BitBlock temp77 = simd_and(temp3, temp23);
     453  BitBlock temp78 = simd_or(temp76, temp77);
     454  BitBlock temp79 = simd_and(temp67, temp8);
     455  BitBlock temp80 = simd_andc(temp79, temp11);
     456  BitBlock temp81 = simd_or(temp78, temp80);
     457  BitBlock temp82 = simd_and(temp17, temp13);
     458  BitBlock temp83 = simd_and(temp82, temp55);
     459  LexItem[NameFollow] = simd_or(temp81, temp83);
    403460#ifdef DIGIT_AND_HEX_ITEMS
    404         /* Need to improve the compiler's EBCDIC translation for ranges. */
    405         BitBlock temp35 = simd_and(bit[0], bit[1]);
    406         BitBlock temp36 = simd_and(temp35, temp18);
    407         BitBlock temp37 = simd_andc(temp11, temp31);
    408         BitBlock temp38 = simd_andc(temp15, temp10);
    409         BitBlock temp39 = simd_andc(temp37, temp38);
    410         BitBlock temp40 = simd_andc(temp21, temp10);
    411         BitBlock temp41 = simd_andc(temp39, temp40);
    412         BitBlock temp42 = simd_andc(bit[5], bit[4]);
    413         BitBlock temp43 = simd_andc(temp42, temp5);
    414         BitBlock temp44 = simd_andc(temp41, temp43);
    415         BitBlock temp45 = simd_and(temp42, temp30);
    416         BitBlock temp46 = simd_andc(temp44, temp45);
    417         BitBlock temp47 = simd_and(temp42, temp15);
    418         BitBlock temp48 = simd_andc(temp46, temp47);
    419         BitBlock temp49 = simd_and(temp42, temp21);
    420         BitBlock temp50 = simd_andc(temp48, temp49);
    421         BitBlock temp51 = simd_andc(temp20, temp5);
    422         BitBlock temp52 = simd_andc(temp50, temp51);
    423         BitBlock temp53 = simd_and(temp20, temp30);
    424         BitBlock temp54 = simd_andc(temp52, temp53);
    425         BitBlock Digit = simd_andc(temp36, temp54);
    426         BitBlock temp55 = simd_andc(temp35, temp2);
    427         BitBlock temp56 = simd_and(temp55, temp31);
    428         BitBlock temp57 = simd_or(Digit, temp56);
    429         BitBlock temp58 = simd_and(temp55, temp38);
    430         BitBlock temp59 = simd_or(temp57, temp58);
    431         BitBlock temp60 = simd_and(temp55, temp40);
    432         BitBlock temp61 = simd_or(temp59, temp60);
    433         BitBlock temp62 = simd_and(temp55, temp43);
    434         BitBlock temp63 = simd_or(temp61, temp62);
    435         BitBlock temp64 = simd_and(temp55, temp45);
    436         BitBlock temp65 = simd_or(temp63, temp64);
    437         BitBlock temp66 = simd_and(temp55, temp47);
    438         BitBlock temp67 = simd_or(temp65, temp66);
    439         BitBlock temp68 = simd_andc(temp17, temp2);
    440         BitBlock temp69 = simd_and(temp68, temp31);
    441         BitBlock temp70 = simd_or(temp67, temp69);
    442         BitBlock temp71 = simd_and(temp68, temp38);
    443         BitBlock temp72 = simd_or(temp70, temp71);
    444         BitBlock temp73 = simd_and(temp68, temp40);
    445         BitBlock temp74 = simd_or(temp72, temp73);
    446         BitBlock temp75 = simd_and(temp68, temp43);
    447         BitBlock temp76 = simd_or(temp74, temp75);
    448         BitBlock temp77 = simd_and(temp68, temp45);
    449         BitBlock temp78 = simd_or(temp76, temp77);
    450         BitBlock temp79 = simd_and(temp68, temp47);
    451         BitBlock Hex = simd_or(temp78, temp79);
    452         LexItem[NonDigit] = simd_not(Digit);
    453         LexItem[NonHex] = simd_not(Hex);
     461  BitBlock temp84 = simd_and(temp67, temp18);
     462  BitBlock temp85 = simd_andc(temp11, temp55);
     463  BitBlock temp86 = simd_andc(temp15, temp10);
     464  BitBlock temp87 = simd_andc(temp85, temp86);
     465  BitBlock temp88 = simd_andc(temp21, temp10);
     466  BitBlock temp89 = simd_andc(temp87, temp88);
     467  BitBlock temp90 = simd_andc(bit[5], bit[4]);
     468  BitBlock temp91 = simd_andc(temp90, temp5);
     469  BitBlock temp92 = simd_andc(temp89, temp91);
     470  BitBlock temp93 = simd_and(temp90, temp41);
     471  BitBlock temp94 = simd_andc(temp92, temp93);
     472  BitBlock temp95 = simd_and(temp90, temp15);
     473  BitBlock temp96 = simd_andc(temp94, temp95);
     474  BitBlock temp97 = simd_and(temp90, temp21);
     475  BitBlock temp98 = simd_andc(temp96, temp97);
     476  BitBlock temp99 = simd_andc(temp20, temp5);
     477  BitBlock temp100 = simd_andc(temp98, temp99);
     478  BitBlock temp101 = simd_and(temp20, temp41);
     479  BitBlock temp102 = simd_andc(temp100, temp101);
     480  BitBlock Digit = simd_andc(temp84, temp102);
     481  BitBlock temp103 = simd_and(temp74, temp55);
     482  BitBlock temp104 = simd_or(Digit, temp103);
     483  BitBlock temp105 = simd_and(temp74, temp86);
     484  BitBlock temp106 = simd_or(temp104, temp105);
     485  BitBlock temp107 = simd_and(temp74, temp88);
     486  BitBlock temp108 = simd_or(temp106, temp107);
     487  BitBlock temp109 = simd_and(temp74, temp91);
     488  BitBlock temp110 = simd_or(temp108, temp109);
     489  BitBlock temp111 = simd_and(temp74, temp93);
     490  BitBlock temp112 = simd_or(temp110, temp111);
     491  BitBlock temp113 = simd_and(temp74, temp95);
     492  BitBlock temp114 = simd_or(temp112, temp113);
     493  BitBlock temp115 = simd_andc(temp17, temp2);
     494  BitBlock temp116 = simd_and(temp115, temp55);
     495  BitBlock temp117 = simd_or(temp114, temp116);
     496  BitBlock temp118 = simd_and(temp115, temp86);
     497  BitBlock temp119 = simd_or(temp117, temp118);
     498  BitBlock temp120 = simd_and(temp115, temp88);
     499  BitBlock temp121 = simd_or(temp119, temp120);
     500  BitBlock temp122 = simd_and(temp115, temp91);
     501  BitBlock temp123 = simd_or(temp121, temp122);
     502  BitBlock temp124 = simd_and(temp115, temp93);
     503  BitBlock temp125 = simd_or(temp123, temp124);
     504  BitBlock temp126 = simd_and(temp115, temp95);
     505  BitBlock Hex = simd_or(temp125, temp126);
     506       
     507  LexItem[NonDigit] = simd_not(Digit);
     508  LexItem[NonHex] = simd_not(Hex);
    454509
    455510#endif 
Note: See TracChangeset for help on using the changeset viewer.