Changeset 3033


Ignore:
Timestamp:
Apr 16, 2013, 6:34:53 PM (6 years ago)
Author:
linmengl
Message:

update test.pablob

Location:
proto/pabloj/trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • proto/pabloj/trunk/input/test/pabloB/test.pablob

    r3032 r3033  
    1 kernel BasisBits
     1// KERNEL kernelName LCURLY funcDef (optFuncDef)? RCURLY TERMINATOR?;
     2               
     3kernel KernelName
    24{
    35        init
    46        {
    5          
     7                        
    68        }
    79
    8         function void do_block(struct Basis_bits basis_bits, struct Lex lex, struct U8 u8)
     10        function void do_block()
    911        {
    10                 var BitBlock temp1 = simd.or<1>(basis_bits.bit_0, basis_bits.bit_1);
    11                 var BitBlock temp2 = simd.andc<1>(basis_bits.bit_2, basis_bits.bit_3);
    12                 var BitBlock temp3 = simd.andc<1>(temp2, temp1);
    13                 var BitBlock temp4 = simd.andc<1>(basis_bits.bit_5, basis_bits.bit_4);
    14                 var BitBlock temp5 = simd.andc<1>(basis_bits.bit_6, basis_bits.bit_7);
    15                 var BitBlock temp6 = simd.and<1>(temp4, temp5);
    16                 lex.RefStart = simd.and<1>(temp3, temp6);
    17                 var BitBlock temp7 = simd.and<1>(basis_bits.bit_2, basis_bits.bit_3);
    18                 var BitBlock temp8 = simd.andc<1>(temp7, temp1);
    19                 var BitBlock temp9 = simd.andc<1>(basis_bits.bit_4, basis_bits.bit_5);
    20                 var BitBlock temp10 = simd.and<1>(basis_bits.bit_6, basis_bits.bit_7);
    21                 var BitBlock temp11 = simd.and<1>(temp9, temp10);
    22                 lex.Semicolon = simd.and<1>(temp8, temp11);
    23                 var BitBlock temp12 = simd.and<1>(basis_bits.bit_4, basis_bits.bit_5);
    24                 var BitBlock temp13 = simd.or<1>(basis_bits.bit_6, basis_bits.bit_7);
    25                 var BitBlock temp14 = simd.andc<1>(temp12, temp13);
    26                 lex.LAngle = simd.and<1>(temp8, temp14);
    27                 var BitBlock temp15 = simd.and<1>(temp12, temp5);
    28                 lex.RAngle = simd.and<1>(temp8, temp15);
    29                 var BitBlock temp16 = simd.andc<1>(basis_bits.bit_1, basis_bits.bit_0);
    30                 var BitBlock temp17 = simd.andc<1>(basis_bits.bit_3, basis_bits.bit_2);
    31                 var BitBlock temp18 = simd.and<1>(temp16, temp17);
    32                 lex.LBracket = simd.and<1>(temp18, temp11);
    33                 var BitBlock temp19 = simd.andc<1>(basis_bits.bit_7, basis_bits.bit_6);
    34                 var BitBlock temp20 = simd.and<1>(temp12, temp19);
    35                 lex.RBracket = simd.and<1>(temp18, temp20);
    36                 var BitBlock temp21 = simd.or<1>(basis_bits.bit_4, basis_bits.bit_5);
    37                 var BitBlock temp22 = simd.andc<1>(temp19, temp21);
    38                 lex.Exclam = simd.and<1>(temp3, temp22);
    39                 var BitBlock temp23 = simd.and<1>(temp12, temp10);
    40                 lex.QMark = simd.and<1>(temp8, temp23);
    41                 lex.Hyphen = simd.and<1>(temp3, temp20);
    42                 lex.Equals = simd.and<1>(temp8, temp20);
    43                 var BitBlock temp24 = simd.and<1>(temp4, temp10);
    44                 lex.SQuote = simd.and<1>(temp3, temp24);
    45                 var BitBlock temp25 = simd.andc<1>(temp5, temp21);
    46                 lex.DQuote = simd.and<1>(temp3, temp25);
    47                 lex.Slash = simd.and<1>(temp3, temp23);
    48                 var BitBlock temp26 = simd.andc<1>(temp10, temp21);
    49                 lex.Hash = simd.and<1>(temp3, temp26);
    50                 var BitBlock temp27 = simd.and<1>(temp16, temp7);
    51                 var BitBlock temp28 = simd.andc<1>(temp9, temp13);
    52                 lex.x = simd.and<1>(temp27, temp28);
    53                 var BitBlock temp29 = simd.and<1>(temp9, temp5);
    54                 lex.Colon = simd.and<1>(temp8, temp29);
    55                 var BitBlock temp30 = simd.and<1>(temp18, temp23);
    56                 var BitBlock temp31 = simd.or<1>(temp30, lex.Colon);
    57                 var BitBlock temp32 = simd.andc<1>(temp16, basis_bits.bit_2);
    58                 var BitBlock temp33 = simd.or<1>(basis_bits.bit_5, temp10);
    59                 var BitBlock temp34 = simd.and<1>(basis_bits.bit_4, temp33);
    60                 var BitBlock temp35 = simd.not<1>(temp34);
    61                 var BitBlock temp36 = simd.or<1>(temp21, temp13);
    62                 var BitBlock temp37 = simd.or<1>(simd.and<1>(basis_bits.bit_3, temp35), simd.andc<1>(temp36, basis_bits.bit_3));
    63                 var BitBlock temp38 = simd.and<1>(temp32, temp37);
    64                 var BitBlock temp39 = simd.or<1>(temp31, temp38);
    65                 var BitBlock temp40 = simd.and<1>(temp16, basis_bits.bit_2);
    66                 var BitBlock temp41 = simd.and<1>(temp40, temp37);
    67                 lex.ASCII_name_start = simd.or<1>(temp39, temp41);
    68                 var BitBlock temp42 = simd.or<1>(temp30, lex.Hyphen);
    69                 var BitBlock temp43 = simd.and<1>(temp3, temp15);
    70                 var BitBlock temp44 = simd.or<1>(temp42, temp43);
    71                 var BitBlock temp45 = simd.andc<1>(temp8, temp34);
    72                 var BitBlock temp46 = simd.or<1>(temp44, temp45);
    73                 var BitBlock temp47 = simd.or<1>(temp46, temp38);
    74                 lex.ASCII_name_char = simd.or<1>(temp47, temp41);
    75                 lex.NameScan = simd.or<1>(lex.ASCII_name_char, basis_bits.bit_0);
    76                 var BitBlock temp48 = simd.or<1>(temp1, basis_bits.bit_2);
    77                 var BitBlock x00_x1F = simd.not<1>(temp48);
    78                 var BitBlock temp49 = simd.or<1>(basis_bits.bit_2, basis_bits.bit_3);
    79                 var BitBlock temp50 = simd.or<1>(temp1, temp49);
    80                 lex.CR = simd.andc<1>(temp20, temp50);
    81                 lex.LF = simd.andc<1>(temp29, temp50);
    82                 var BitBlock temp51 = simd.and<1>(temp9, temp19);
    83                 lex.HT = simd.andc<1>(temp51, temp50);
    84                 lex.SP = simd.andc<1>(temp3, temp36);
    85                 var BitBlock temp52 = simd.or<1>(temp20, temp29);
    86                 var BitBlock temp53 = simd.or<1>(temp52, temp51);
    87                 var BitBlock temp54 = simd.andc<1>(temp53, temp50);
    88                 lex.WS = simd.or<1>(temp54, lex.SP);
    89                 var BitBlock temp55 = simd.or<1>(basis_bits.bit_5, basis_bits.bit_6);
    90                 var BitBlock temp56 = simd.and<1>(basis_bits.bit_4, temp55);
    91                 lex.Digit = simd.andc<1>(temp8, temp56);
    92                 var BitBlock temp57 = simd.andc<1>(temp16, temp49);
    93                 var BitBlock temp58 = simd.andc<1>(temp57, basis_bits.bit_4);
    94                 var BitBlock temp59 = simd.not<1>(temp10);
    95                 var BitBlock temp60 = simd.or<1>(simd.and<1>(basis_bits.bit_5, temp59), simd.andc<1>(temp13, basis_bits.bit_5));
    96                 var BitBlock temp61 = simd.and<1>(temp58, temp60);
    97                 var BitBlock temp62 = simd.or<1>(lex.Digit, temp61);
    98                 var BitBlock temp63 = simd.and<1>(temp16, temp2);
    99                 var BitBlock temp64 = simd.andc<1>(temp63, basis_bits.bit_4);
    100                 var BitBlock temp65 = simd.and<1>(temp64, temp60);
    101                 lex.Hex = simd.or<1>(temp62, temp65);
    102                 var BitBlock lex_error = simd.andc<1>(x00_x1F, lex.WS);
     12       
     13                var BitBlock a;
     14                var BitBlock b;
     15                var BitBlock c;
     16                var BitBlock k;
     17                var BitBlock r;
     18                var bool t;
     19               
     20                /*
     21                r = simd.add(abs);
     22                r = simd.neg(a);
     23                r = simd.add_hl(a);
     24                r = simd.xor_hl(a);
     25                r = simd.slli(k);
     26                r = simd.srli(k);
     27                r = simd.srai(k);
     28                r = simd.popcount(a);
     29                r = simd.ctz(a);       
     30                */
    10331
    104                 if (bitblock.any<1>((lex_error)))
    105                 {
    106                         assert_0_error("Error: illegal character", lex_error);
    107                 }
    108                 u8.unibyte = simd.not<1>(basis_bits.bit_0);
    109                 u8.suffix = simd.constant<1>(0);
    110                 var BitBlock u8_error = simd.constant<1>(0);
    111                 var BitBlock u8_FFFE_FFFF = simd.constant<1>(0);
    112                 var BitBlock u8anyscope = simd.constant<1>(0);
    113                 if (bitblock.any<1>((simd.or<1>(basis_bits.bit_0, carry_set_0.CarryRange(0, 10)))))
    114                 {
    115                         u8.prefix = simd.and<1>(basis_bits.bit_0, basis_bits.bit_1);
    116                         u8.prefix2 = simd.andc<1>(u8.prefix, basis_bits.bit_2);
    117                         u8.prefix3 = simd.and<1>(u8.prefix, temp2);
    118                         u8.prefix4 = simd.and<1>(u8.prefix, temp7);
    119                         u8.suffix = simd.andc<1>(basis_bits.bit_0, basis_bits.bit_1);
    120                         var BitBlock temp66 = simd.andc<1>(u8.prefix, temp49);
    121                         var BitBlock temp67 = simd.or<1>(temp21, basis_bits.bit_6);
    122                         var BitBlock temp68 = simd.andc<1>(temp66, temp67);
    123                         var BitBlock temp69 = simd.and<1>(basis_bits.bit_5, temp13);
    124                         var BitBlock temp70 = simd.or<1>(basis_bits.bit_4, temp69);
    125                         var BitBlock temp71 = simd.and<1>(u8.prefix4, temp70);
    126                         u8.badprefix = simd.or<1>(temp68, temp71);
    127                         u8_error = u8.badprefix;
    128                         u8.scope22 = carry_set_0.BitBlock_advance_ci_co(u8.prefix2, carry_set_0.CarryAt(0), 0);
    129                         u8anyscope = u8.scope22;
    130                         if (bitblock.any<1>((simd.or<1>(simd.or<1>(u8.prefix3, u8.prefix4), carry_set_0.CarryRange(1, 9)))))
    131                         {
    132                                 var BitBlock xE0 = simd.andc<1>(u8.prefix3, temp36);
    133                                 var BitBlock xED = simd.and<1>(u8.prefix3, temp20);
    134                                 var BitBlock xF0 = simd.andc<1>(u8.prefix4, temp36);
    135                                 var BitBlock temp72 = simd.andc<1>(temp4, temp13);
    136                                 var BitBlock xF4 = simd.and<1>(u8.prefix4, temp72);
    137                                 u8.xA0_xBF = simd.and<1>(u8.suffix, basis_bits.bit_2);
    138                                 u8.x80_x9F = simd.andc<1>(u8.suffix, basis_bits.bit_2);
    139                                 u8.x90_xBF = simd.and<1>(u8.suffix, temp49);
    140                                 u8.x80_x8F = simd.andc<1>(u8.suffix, temp49);
    141                                 var BitBlock xEF = simd.and<1>(u8.prefix3, temp23);
    142                                 var BitBlock temp73 = simd.and<1>(u8.suffix, temp7);
    143                                 u8.xBF = simd.and<1>(temp73, temp23);
    144                                 u8.xBE = simd.and<1>(temp73, temp15);
    145                                 u8.scope32 = carry_set_0.BitBlock_advance_ci_co(u8.prefix3, carry_set_0.CarryAt(1), 1);
    146                                 u8.scope33 = carry_set_0.BitBlock_advance_ci_co(u8.scope32, carry_set_0.CarryAt(2), 2);
    147                                 u8.scope42 = carry_set_0.BitBlock_advance_ci_co(u8.prefix4, carry_set_0.CarryAt(3), 3);
    148                                 u8.scope43 = carry_set_0.BitBlock_advance_ci_co(u8.scope42, carry_set_0.CarryAt(4), 4);
    149                                 u8.scope44 = carry_set_0.BitBlock_advance_ci_co(u8.scope43, carry_set_0.CarryAt(5), 5);
    150                                 var BitBlock E0_F0_scope = carry_set_0.BitBlock_advance_ci_co(simd.or<1>(xE0, xF0), carry_set_0.CarryAt(6), 6);
    151                                 var BitBlock ED_F4_scope = carry_set_0.BitBlock_advance_ci_co(simd.or<1>(xED, xF4), carry_set_0.CarryAt(7), 7);
    152                                 u8.xE0_scope = simd.and<1>(u8.scope32, E0_F0_scope);
    153                                 u8.xED_scope = simd.and<1>(u8.scope32, ED_F4_scope);
    154                                 u8.xF0_scope = simd.and<1>(u8.scope42, E0_F0_scope);
    155                                 u8.xF4_scope = simd.and<1>(u8.scope42, ED_F4_scope);
    156                                 u8.xEF_scope = carry_set_0.BitBlock_advance_ci_co(xEF, carry_set_0.CarryAt(8), 8);
    157                                 var BitBlock u8lastscope = simd.or<1>(simd.or<1>(u8.scope22, u8.scope33), u8.scope44);
    158                                 u8anyscope = simd.or<1>(simd.or<1>(simd.or<1>(u8lastscope, u8.scope32), u8.scope42), u8.scope43);
    159                                 var BitBlock u8error1 = simd.and<1>(u8.xE0_scope, u8.x80_x9F);
    160                                 var BitBlock u8error2 = simd.and<1>(u8.xED_scope, u8.xA0_xBF);
    161                                 var BitBlock u8error3 = simd.and<1>(u8.xF0_scope, u8.x80_x8F);
    162                                 var BitBlock u8error4 = simd.and<1>(u8.xF4_scope, u8.x90_xBF);
    163                                 u8_error = simd.or<1>(u8_error, simd.or<1>(simd.or<1>(simd.or<1>(u8error1, u8error2), u8error3), u8error4));
    164                                 var BitBlock EF_BF_pending = carry_set_0.BitBlock_advance_ci_co(simd.and<1>(u8.xEF_scope, u8.xBF), carry_set_0.CarryAt(9), 9);
    165                                 u8_FFFE_FFFF = simd.and<1>(EF_BF_pending, simd.or<1>(u8.xBE, u8.xBF));
    166                         }
    167                         else
    168                         {
    169                                 carry_set_0.CarryDequeueEnqueue(1, 9);
    170                         }
    171                         var BitBlock u8mismatch = simd.xor<1>(u8anyscope, u8.suffix);
    172                         if (bitblock.any<1>((simd.or<1>(simd.or<1>(u8_error, u8mismatch), u8_FFFE_FFFF))))
    173                         {
    174                                 assert_0_error("UTF-8 error found", simd.or<1>(simd.or<1>(u8_error, u8mismatch), u8_FFFE_FFFF));
    175                         }
    176                 }
    177                 else
    178                 {
    179                         carry_set_0.CarryDequeueEnqueue(0, 10);
    180                 }
    181                 carry_set_0.CarryAdjust(10);
     32                t = bitblock.any<1>(a);
     33                r = bitblock.slli<1>(10, a);
     34                bitblock.store_unaligned<1>(a, b);
     35                r = bitblock.load_aligned<1>(b);
     36               
     37                r = simd.not<1>(a);             
     38                r = simd.nor<1>(a, b);
     39                r = simd.ifh<16>(a, b, c);                     
     40               
     41                r = simd.constant<2>(3);
     42                r = simd.slli<8>(1, a);                 
    18243
     44                r = simd.add<1>(a,b);
     45                r = simd.sub<2>(a,b);
     46                r = simd.mult<4>(a,b);
     47                r = simd.eq<8>(a,b);
     48                r = simd.gt<16>(a,b);
     49                r = simd.ugt<32>(a,b);
     50                r = simd.lt<64>(a,b);
     51                r = simd.ult<128>(a,b);
     52                r = simd.max<128>(a,b);
     53                r = simd.umax<1>(a,b);
     54                r = simd.min<2>(a,b);
     55                r = simd.umin<4>(a,b);
     56                r = simd.sll<64>(a,b);
     57                r = simd.srl<64>(a,b);
     58                //r = simd.srai<32>(10,a);
     59               
     60                //r = simd.if<128>(a,b,c);
     61               
    18362        }
    18463
    185         function void do_final_block(struct Basis_bits basis_bits, struct Lex lex, struct U8 u8, BitBlock EOF_mask) {
    186                 var BitBlock temp1 = simd.or<1>(basis_bits.bit_0, basis_bits.bit_1);
    187                 var BitBlock temp2 = simd.andc<1>(basis_bits.bit_2, basis_bits.bit_3);
    188                 var BitBlock temp3 = simd.andc<1>(temp2, temp1);
    189                 var BitBlock temp4 = simd.andc<1>(basis_bits.bit_5, basis_bits.bit_4);
    190                 var BitBlock temp5 = simd.andc<1>(basis_bits.bit_6, basis_bits.bit_7);
    191                 var BitBlock temp6 = simd.and<1>(temp4, temp5);
    192                 lex.RefStart = simd.and<1>(temp3, temp6);
    193                 var BitBlock temp7 = simd.and<1>(basis_bits.bit_2, basis_bits.bit_3);
    194                 var BitBlock temp8 = simd.andc<1>(temp7, temp1);
    195                 var BitBlock temp9 = simd.andc<1>(basis_bits.bit_4, basis_bits.bit_5);
    196                 var BitBlock temp10 = simd.and<1>(basis_bits.bit_6, basis_bits.bit_7);
    197                 var BitBlock temp11 = simd.and<1>(temp9, temp10);
    198                 lex.Semicolon = simd.and<1>(temp8, temp11);
    199                 var BitBlock temp12 = simd.and<1>(basis_bits.bit_4, basis_bits.bit_5);
    200                 var BitBlock temp13 = simd.or<1>(basis_bits.bit_6, basis_bits.bit_7);
    201                 var BitBlock temp14 = simd.andc<1>(temp12, temp13);
    202                 lex.LAngle = simd.and<1>(temp8, temp14);
    203                 var BitBlock temp15 = simd.and<1>(temp12, temp5);
    204                 lex.RAngle = simd.and<1>(temp8, temp15);
    205                 var BitBlock temp16 = simd.andc<1>(basis_bits.bit_1, basis_bits.bit_0);
    206                 var BitBlock temp17 = simd.andc<1>(basis_bits.bit_3, basis_bits.bit_2);
    207                 var BitBlock temp18 = simd.and<1>(temp16, temp17);
    208                 lex.LBracket = simd.and<1>(temp18, temp11);
    209                 var BitBlock temp19 = simd.andc<1>(basis_bits.bit_7, basis_bits.bit_6);
    210                 var BitBlock temp20 = simd.and<1>(temp12, temp19);
    211                 lex.RBracket = simd.and<1>(temp18, temp20);
    212                 var BitBlock temp21 = simd.or<1>(basis_bits.bit_4, basis_bits.bit_5);
    213                 var BitBlock temp22 = simd.andc<1>(temp19, temp21);
    214                 lex.Exclam = simd.and<1>(temp3, temp22);
    215                 var BitBlock temp23 = simd.and<1>(temp12, temp10);
    216                 lex.QMark = simd.and<1>(temp8, temp23);
    217                 lex.Hyphen = simd.and<1>(temp3, temp20);
    218                 lex.Equals = simd.and<1>(temp8, temp20);
    219                 var BitBlock temp24 = simd.and<1>(temp4, temp10);
    220                 lex.SQuote = simd.and<1>(temp3, temp24);
    221                 var BitBlock temp25 = simd.andc<1>(temp5, temp21);
    222                 lex.DQuote = simd.and<1>(temp3, temp25);
    223                 lex.Slash = simd.and<1>(temp3, temp23);
    224                 var BitBlock temp26 = simd.andc<1>(temp10, temp21);
    225                 lex.Hash = simd.and<1>(temp3, temp26);
    226                 var BitBlock temp27 = simd.and<1>(temp16, temp7);
    227                 var BitBlock temp28 = simd.andc<1>(temp9, temp13);
    228                 lex.x = simd.and<1>(temp27, temp28);
    229                 var BitBlock temp29 = simd.and<1>(temp9, temp5);
    230                 lex.Colon = simd.and<1>(temp8, temp29);
    231                 var BitBlock temp30 = simd.and<1>(temp18, temp23);
    232                 var BitBlock temp31 = simd.or<1>(temp30, lex.Colon);
    233                 var BitBlock temp32 = simd.andc<1>(temp16, basis_bits.bit_2);
    234                 var BitBlock temp33 = simd.or<1>(basis_bits.bit_5, temp10);
    235                 var BitBlock temp34 = simd.and<1>(basis_bits.bit_4, temp33);
    236                 var BitBlock temp35 = simd.not<1>(temp34);
    237                 var BitBlock temp36 = simd.or<1>(temp21, temp13);
    238                 var BitBlock temp37 = simd.or<1>(simd.and<1>(basis_bits.bit_3, temp35), simd.andc<1>(temp36, basis_bits.bit_3));
    239                 var BitBlock temp38 = simd.and<1>(temp32, temp37);
    240                 var BitBlock temp39 = simd.or<1>(temp31, temp38);
    241                 var BitBlock temp40 = simd.and<1>(temp16, basis_bits.bit_2);
    242                 var BitBlock temp41 = simd.and<1>(temp40, temp37);
    243                 lex.ASCII_name_start = simd.or<1>(temp39, temp41);
    244                 var BitBlock temp42 = simd.or<1>(temp30, lex.Hyphen);
    245                 var BitBlock temp43 = simd.and<1>(temp3, temp15);
    246                 var BitBlock temp44 = simd.or<1>(temp42, temp43);
    247                 var BitBlock temp45 = simd.andc<1>(temp8, temp34);
    248                 var BitBlock temp46 = simd.or<1>(temp44, temp45);
    249                 var BitBlock temp47 = simd.or<1>(temp46, temp38);
    250                 lex.ASCII_name_char = simd.or<1>(temp47, temp41);
    251                 lex.NameScan = simd.or<1>(lex.ASCII_name_char, basis_bits.bit_0);
    252                 var BitBlock temp48 = simd.or<1>(temp1, basis_bits.bit_2);
    253                 var BitBlock x00_x1F = simd.not<1>(temp48);
    254                 var BitBlock temp49 = simd.or<1>(basis_bits.bit_2, basis_bits.bit_3);
    255                 var BitBlock temp50 = simd.or<1>(temp1, temp49);
    256                 lex.CR = simd.andc<1>(temp20, temp50);
    257                 lex.LF = simd.andc<1>(temp29, temp50);
    258                 var BitBlock temp51 = simd.and<1>(temp9, temp19);
    259                 lex.HT = simd.andc<1>(temp51, temp50);
    260                 lex.SP = simd.andc<1>(temp3, temp36);
    261                 var BitBlock temp52 = simd.or<1>(temp20, temp29);
    262                 var BitBlock temp53 = simd.or<1>(temp52, temp51);
    263                 var BitBlock temp54 = simd.andc<1>(temp53, temp50);
    264                 lex.WS = simd.or<1>(temp54, lex.SP);
    265                 var BitBlock temp55 = simd.or<1>(basis_bits.bit_5, basis_bits.bit_6);
    266                 var BitBlock temp56 = simd.and<1>(basis_bits.bit_4, temp55);
    267                 lex.Digit = simd.andc<1>(temp8, temp56);
    268                 var BitBlock temp57 = simd.andc<1>(temp16, temp49);
    269                 var BitBlock temp58 = simd.andc<1>(temp57, basis_bits.bit_4);
    270                 var BitBlock temp59 = simd.not<1>(temp10);
    271                 var BitBlock temp60 = simd.or<1>(simd.and<1>(basis_bits.bit_5, temp59), simd.andc<1>(temp13, basis_bits.bit_5));
    272                 var BitBlock temp61 = simd.and<1>(temp58, temp60);
    273                 var BitBlock temp62 = simd.or<1>(lex.Digit, temp61);
    274                 var BitBlock temp63 = simd.and<1>(temp16, temp2);
    275                 var BitBlock temp64 = simd.andc<1>(temp63, basis_bits.bit_4);
    276                 var BitBlock temp65 = simd.and<1>(temp64, temp60);
    277                 lex.Hex = simd.or<1>(temp62, temp65);
    278                 var BitBlock lex_error = simd.andc<1>(x00_x1F, lex.WS);
    279                 if (bitblock.any<1>((simd.and<1>(lex_error, EOF_mask))))
    280                 {
    281                         assert_0_error("Error: illegal character", simd.and<1>(lex_error, EOF_mask));
    282                 }
    283                 u8.unibyte = simd.not<1>(basis_bits.bit_0);
    284                 u8.suffix = simd.constant<1>(0);
    285                 var BitBlock u8_error = simd.constant<1>(0);
    286                 var BitBlock u8_FFFE_FFFF = simd.constant<1>(0);
    287                 var BitBlock u8anyscope = simd.constant<1>(0);
    288                 if (bitblock.any<1>((simd.or<1>(basis_bits.bit_0, carry_set_0.CarryRange(0, 10)))))
    289                 {
    290                         u8.prefix = simd.and<1>(basis_bits.bit_0, basis_bits.bit_1);
    291                         u8.prefix2 = simd.andc<1>(u8.prefix, basis_bits.bit_2);
    292                         u8.prefix3 = simd.and<1>(u8.prefix, temp2);
    293                         u8.prefix4 = simd.and<1>(u8.prefix, temp7);
    294                         u8.suffix = simd.andc<1>(basis_bits.bit_0, basis_bits.bit_1);
    295                         var BitBlock temp66 = simd.andc<1>(u8.prefix, temp49);
    296                         var BitBlock temp67 = simd.or<1>(temp21, basis_bits.bit_6);
    297                         var BitBlock temp68 = simd.andc<1>(temp66, temp67);
    298                         var BitBlock temp69 = simd.and<1>(basis_bits.bit_5, temp13);
    299                         var BitBlock temp70 = simd.or<1>(basis_bits.bit_4, temp69);
    300                         var BitBlock temp71 = simd.and<1>(u8.prefix4, temp70);
    301                         u8.badprefix = simd.or<1>(temp68, temp71);
    302                         u8_error = u8.badprefix;
    303                         u8.scope22 = carry_set_0.BitBlock_advance_ci_co(u8.prefix2, carry_set_0.CarryAt(0), 0);
    304                         u8anyscope = u8.scope22;
    305                         if (bitblock.any<1>((simd.or<1>(simd.or<1>(u8.prefix3, u8.prefix4), carry_set_0.CarryRange(1, 9)))))
    306                         {
    307                                 var BitBlock xE0 = simd.andc<1>(u8.prefix3, temp36);
    308                                 var BitBlock xED = simd.and<1>(u8.prefix3, temp20);
    309                                 var BitBlock xF0 = simd.andc<1>(u8.prefix4, temp36);
    310                                 var BitBlock temp72 = simd.andc<1>(temp4, temp13);
    311                                 var BitBlock xF4 = simd.and<1>(u8.prefix4, temp72);
    312                                 u8.xA0_xBF = simd.and<1>(u8.suffix, basis_bits.bit_2);
    313                                 u8.x80_x9F = simd.andc<1>(u8.suffix, basis_bits.bit_2);
    314                                 u8.x90_xBF = simd.and<1>(u8.suffix, temp49);
    315                                 u8.x80_x8F = simd.andc<1>(u8.suffix, temp49);
    316                                 var BitBlock xEF = simd.and<1>(u8.prefix3, temp23);
    317                                 var BitBlock temp73 = simd.and<1>(u8.suffix, temp7);
    318                                 u8.xBF = simd.and<1>(temp73, temp23);
    319                                 u8.xBE = simd.and<1>(temp73, temp15);
    320                                 u8.scope32 = carry_set_0.BitBlock_advance_ci_co(u8.prefix3, carry_set_0.CarryAt(1), 1);
    321                                 u8.scope33 = carry_set_0.BitBlock_advance_ci_co(u8.scope32, carry_set_0.CarryAt(2), 2);
    322                                 u8.scope42 = carry_set_0.BitBlock_advance_ci_co(u8.prefix4, carry_set_0.CarryAt(3), 3);
    323                                 u8.scope43 = carry_set_0.BitBlock_advance_ci_co(u8.scope42, carry_set_0.CarryAt(4), 4);
    324                                 u8.scope44 = carry_set_0.BitBlock_advance_ci_co(u8.scope43, carry_set_0.CarryAt(5), 5);
    325                                 var BitBlock E0_F0_scope = carry_set_0.BitBlock_advance_ci_co(simd.or<1>(xE0, xF0), carry_set_0.CarryAt(6), 6);
    326                                 var BitBlock ED_F4_scope = carry_set_0.BitBlock_advance_ci_co(simd.or<1>(xED, xF4), carry_set_0.CarryAt(7), 7);
    327                                 u8.xE0_scope = simd.and<1>(u8.scope32, E0_F0_scope);
    328                                 u8.xED_scope = simd.and<1>(u8.scope32, ED_F4_scope);
    329                                 u8.xF0_scope = simd.and<1>(u8.scope42, E0_F0_scope);
    330                                 u8.xF4_scope = simd.and<1>(u8.scope42, ED_F4_scope);
    331                                 u8.xEF_scope = carry_set_0.BitBlock_advance_ci_co(xEF, carry_set_0.CarryAt(8), 8);
    332                                 var BitBlock u8lastscope = simd.or<1>(simd.or<1>(u8.scope22, u8.scope33), u8.scope44);
    333                                 u8anyscope = simd.or<1>(simd.or<1>(simd.or<1>(u8lastscope, u8.scope32), u8.scope42), u8.scope43);
    334                                 var BitBlock u8error1 = simd.and<1>(u8.xE0_scope, u8.x80_x9F);
    335                                 var BitBlock u8error2 = simd.and<1>(u8.xED_scope, u8.xA0_xBF);
    336                                 var BitBlock u8error3 = simd.and<1>(u8.xF0_scope, u8.x80_x8F);
    337                                 var BitBlock u8error4 = simd.and<1>(u8.xF4_scope, u8.x90_xBF);
    338                                 u8_error = simd.or<1>(u8_error, simd.or<1>(simd.or<1>(simd.or<1>(u8error1, u8error2), u8error3), u8error4));
    339                                 var BitBlock EF_BF_pending = carry_set_0.BitBlock_advance_ci_co(simd.and<1>(u8.xEF_scope, u8.xBF), carry_set_0.CarryAt(9), 9);
    340                                 u8_FFFE_FFFF = simd.and<1>(EF_BF_pending, simd.or<1>(u8.xBE, u8.xBF));
    341                         }
    342                         else
    343                         {
    344                                 carry_set_0.CarryDequeueEnqueue(1, 9);
    345                         }
    346                         var BitBlock u8mismatch = simd.xor<1>(u8anyscope, u8.suffix);
    347                         if (bitblock.any<1>((simd.or<1>(simd.or<1>(u8_error, u8mismatch), u8_FFFE_FFFF))))
    348                         {
    349                                 assert_0_error("UTF-8 error found", simd.or<1>(simd.or<1>(u8_error, u8mismatch), u8_FFFE_FFFF));
    350                         }
    351                 }
    352                 else
    353                 {
    354                         carry_set_0.CarryDequeueEnqueue(0, 10);
    355                 }       
     64        function void do_final_block()
     65        {
     66               
     67               
    35668        }
     69
     70        CarryDeclare(carry_set_0, 0, 0);
    35771};     
  • proto/pabloj/trunk/src/toolchain/pabloB/codeGenerator/visitors/Unparser.java

    r3032 r3033  
    4242import toolchain.pabloB.codeGenerator.idisa.AbstractIDISABuiltin2Lang;
    4343import toolchain.pabloB.codeGenerator.idisa.AbstractIDISABuiltinGenerator;
    44 import toolchain.pabloB.codeGenerator.idisa.SIMDBuiltinGenerator;
    4544import toolchain.pabloB.lang.idisa.IDISABuiltin;
    46 import toolchain.pabloB.lang.types.PrimitiveType;
    47 
    48 import java.util.ArrayList;
    4945import java.util.Iterator;
    5046import java.util.List;
    51 
    52 
    53 import static toolchain.pabloB.lang.types.PrimitiveType.BITBLOCK;
    54 import static toolchain.pabloB.lang.types.PrimitiveType.BITFIELD;
    5547
    5648public class Unparser extends AbstractUnparser {
  • proto/pabloj/trunk/src/toolchain/pabloS/semanticAnalyzer/visitors/PabloS2PabloBXFormer.java

    r3010 r3033  
    1111import java.util.Map;
    1212
    13 import pabloB.ast.AssignNode;
    1413import pabloB.ast.ASTNode;
    1514import pabloB.ast.FuncCallNode;
Note: See TracChangeset for help on using the changeset viewer.