Changeset 7 for trunk/src/bitlex.c


Ignore:
Timestamp:
Dec 22, 2007, 11:08:10 AM (11 years ago)
Author:
cameron
Message:

Reference extraction; checking ]]> in text; < in atts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bitlex.c

    r4 r7  
    2828static inline void ComputeLexicalItemBlocks(BitBlock bit[], BitBlock LexItem[]) {
    2929  BitBlock temp1 = simd_or(bit[0], bit[1]);
    30   BitBlock temp2 = simd_and(bit[2], bit[3]);
     30  BitBlock temp2 = simd_andc(bit[2], bit[3]);
    3131  BitBlock temp3 = simd_andc(temp2, temp1);
    32   BitBlock temp4 = simd_and(bit[4], bit[5]);
    33   BitBlock temp5 = simd_or(bit[6], bit[7]);
    34   BitBlock temp6 = simd_andc(temp4, temp5);
    35   LexItem[LAngle] = simd_and(temp3, temp6);
    36   BitBlock temp7 = simd_andc(bit[6], bit[7]);
    37   BitBlock temp8 = simd_and(temp4, temp7);
    38   LexItem[RAngle] = simd_and(temp3, temp8);
    39   BitBlock temp9 = simd_andc(bit[2], bit[3]);
    40   BitBlock temp10 = simd_andc(temp9, temp1);
    41   BitBlock temp11 = simd_and(bit[6], bit[7]);
    42   BitBlock temp12 = simd_and(temp4, temp11);
    43   BitBlock Slash = simd_and(temp10, temp12);
    44   BitBlock temp13 = simd_andc(bit[1], bit[0]);
    45   BitBlock temp14 = simd_andc(bit[3], bit[2]);
    46   BitBlock temp15 = simd_and(temp13, temp14);
    47   BitBlock temp16 = simd_andc(bit[7], bit[6]);
    48   BitBlock temp17 = simd_and(temp4, temp16);
    49   LexItem[RBracket] = simd_and(temp15, temp17);
    50   LexItem[Hyphen] = simd_and(temp10, temp17);
    51   LexItem[QMark] = simd_and(temp3, temp12);
    52   BitBlock Equals = simd_and(temp3, temp17);
    53   BitBlock temp18 = simd_andc(bit[5], bit[4]);
    54   BitBlock temp19 = simd_and(temp18, temp11);
    55   LexItem[SQuote] = simd_and(temp10, temp19);
    56   BitBlock temp20 = simd_or(bit[4], bit[5]);
    57   BitBlock temp21 = simd_andc(temp7, temp20);
    58   LexItem[DQuote] = simd_and(temp10, temp21);
    59   BitBlock temp22 = simd_or(temp20, temp5);
    60   BitBlock temp23 = simd_andc(temp10, temp22);
    61   BitBlock temp24 = simd_or(bit[2], bit[3]);
    62   BitBlock temp25 = simd_or(temp1, temp24);
    63   BitBlock temp26 = simd_andc(temp17, temp25);
    64   BitBlock temp27 = simd_or(temp23, temp26);
    65   BitBlock temp28 = simd_andc(bit[4], bit[5]);
    66   BitBlock temp29 = simd_and(temp28, temp16);
    67   BitBlock temp30 = simd_andc(temp29, temp25);
     32  BitBlock temp4 = simd_andc(bit[5], bit[4]);
     33  BitBlock temp5 = simd_andc(bit[6], bit[7]);
     34  BitBlock temp6 = simd_and(temp4, temp5);
     35  BitBlock RefStart = simd_and(temp3, temp6);
     36  BitBlock temp7 = simd_and(bit[2], bit[3]);
     37  BitBlock temp8 = simd_andc(temp7, temp1);
     38  BitBlock temp9 = simd_andc(bit[4], bit[5]);
     39  BitBlock temp10 = simd_and(bit[6], bit[7]);
     40  BitBlock temp11 = simd_and(temp9, temp10);
     41  BitBlock Semicolon = simd_and(temp8, temp11);
     42  BitBlock temp12 = simd_and(bit[4], bit[5]);
     43  BitBlock temp13 = simd_or(bit[6], bit[7]);
     44  BitBlock temp14 = simd_andc(temp12, temp13);
     45  BitBlock LAngle = simd_and(temp8, temp14);
     46  BitBlock temp15 = simd_and(temp12, temp5);
     47  LexItem[RAngle] = simd_and(temp8, temp15);
     48  BitBlock temp16 = simd_andc(bit[1], bit[0]);
     49  BitBlock temp17 = simd_andc(bit[3], bit[2]);
     50  BitBlock temp18 = simd_and(temp16, temp17);
     51  BitBlock temp19 = simd_andc(bit[7], bit[6]);
     52  BitBlock temp20 = simd_and(temp12, temp19);
     53  LexItem[RBracket] = simd_and(temp18, temp20);
     54  LexItem[Hyphen] = simd_and(temp3, temp20);
     55  BitBlock temp21 = simd_and(temp12, temp10);
     56  LexItem[QMark] = simd_and(temp8, temp21);
     57  BitBlock Equals = simd_and(temp8, temp20);
     58  BitBlock temp22 = simd_and(temp4, temp10);
     59  LexItem[SQuote] = simd_and(temp3, temp22);
     60  BitBlock temp23 = simd_or(bit[4], bit[5]);
     61  BitBlock temp24 = simd_andc(temp5, temp23);
     62  LexItem[DQuote] = simd_and(temp3, temp24);
     63  BitBlock temp25 = simd_or(temp1, bit[2]);
     64  BitBlock Control = simd_andc(simd_const_1(1), temp25);
     65  BitBlock temp26 = simd_or(temp23, temp13);
     66  BitBlock temp27 = simd_andc(temp3, temp26);
     67  BitBlock temp28 = simd_or(bit[2], bit[3]);
     68  BitBlock temp29 = simd_or(temp1, temp28);
     69  BitBlock temp30 = simd_andc(temp20, temp29);
    6870  BitBlock temp31 = simd_or(temp27, temp30);
    69   BitBlock temp32 = simd_and(temp28, temp7);
    70   BitBlock temp33 = simd_andc(temp32, temp25);
    71   BitBlock WhiteSpace = simd_or(temp31, temp33);
     71  BitBlock temp32 = simd_and(temp9, temp19);
     72  BitBlock temp33 = simd_andc(temp32, temp29);
     73  BitBlock temp34 = simd_or(temp31, temp33);
     74  BitBlock temp35 = simd_and(temp9, temp5);
     75  BitBlock temp36 = simd_andc(temp35, temp29);
     76  BitBlock WhiteSpace = simd_or(temp34, temp36);
     77  BitBlock Slash = simd_and(temp3, temp21);
     78  BitBlock AttScan = simd_or(LAngle, RefStart);
     79  LexItem[SQuote] = simd_or(LexItem[SQuote], AttScan);
     80  LexItem[DQuote] = simd_or(LexItem[DQuote], AttScan);
     81  LexItem[MarkupStart] = simd_or(simd_or(LAngle, RefStart), LexItem[RBracket]);
    7282  LexItem[NonWS] = simd_not(WhiteSpace);
    73   LexItem[NameFollow] = simd_or(simd_or(WhiteSpace,
     83  LexItem[NameFollow] = simd_or(simd_or(simd_or(WhiteSpace, Semicolon),
    7484                                        simd_or(Slash, LexItem[RAngle])),
    7585                                simd_or(Equals, LexItem[QMark]));
     
    94104  start_BOM_interval(lextranspose_timer);
    95105#endif
    96   for (int j = LAngle; j < LexicalItemCount; j++) {
     106  for (int j = MarkupStart; j < LexicalItemCount; j++) {
    97107    for (int i = 0; i < BUFFER_BLOCKS; i++) {
    98108      parsing_engine_data->item_stream[j][i] = lx_blk[i].LexicalItems[j];
Note: See TracChangeset for help on using the changeset viewer.