Pablo File For Regular Expression ' (ab|[d-f])* '
not_ = (~basis7)
not_1 = (~basis5)
not_2 = (~basis3)
not_3 = (~basis2)
not_4 = (~basis1)
not_5 = (~basis0)
and_ = (basis6 & not_)
and_1 = (basis4 & not_1)
or_ = (basis2 | basis3)
not_6 = (~or_)
or_1 = (basis0 | basis1)
not_7 = (~or_1)
and_2 = (and_ & and_1)
or_2 = (or_ | or_1)
not_8 = (~or_2)
and_3 = (and_2 & not_8)
CC_a = and_3
LF = CC_a
not_9 = (~basis6)
and_4 = (basis7 & not_9)
and_5 = (basis4 & basis5)
and_6 = (and_4 & and_5)
and_7 = (and_6 & not_8)
CC_d = and_7
and_8 = (basis4 & not_8)
xor_ = (basis5 ^ basis6)
and_9 = (and_8 & xor_)
CC_a_d = and_9
if CC_d:
cr1 = Advance CC_d 1
and_10 = (LF & cr1)
crlf = and_10
else:
crlf = 000...
.
and_11 = (basis0 & basis1)
or_3 = (basis4 | basis5)
or_4 = (basis6 | basis7)
BC_c0_ff = and_11
and_21 = (basis0 & not_4)
BC_80_bf = and_21
if BC_c0_ff:
and_12 = (not_3 & and_11)
or_5 = (basis6 | or_3)
or_6 = (basis3 | or_5)
and_13 = (and_12 & or_6)
BC_c2_df = and_13
and_14 = (basis2 & not_2)
and_15 = (and_11 & and_14)
BC_e0_ef = and_15
not_10 = (~basis4)
and_16 = (basis2 & basis3)
and_17 = (and_11 & and_16)
and_18 = (not_10 & and_17)
not_11 = (~or_4)
not_12 = (~basis5)
and_19 = (basis5 & or_4)
not_13 = (~and_19)
and_20 = (and_18 & not_13)
BC_f0_f4 = and_20
u8suffix = BC_80_bf
if BC_c2_df:
advance = Advance BC_c2_df 1
u8scope22 = advance
or_7 = (basis4 | basis5)
not_14 = (~or_7)
and_22 = (and_ & not_14)
and_23 = (not_6 & and_11)
and_24 = (and_22 & and_23)
BC_c2 = and_24
advance1 = Advance BC_c2 1
and_25 = (basis5 & not_10)
and_26 = (and_4 & and_25)
and_27 = (not_6 & and_21)
and_28 = (and_26 & and_27)
BC_85 = and_28
and_29 = (advance1 & BC_85)
NEL = and_29
else:
u8scope22 = 000...
NEL = 000...
.
if BC_e0_ef:
advance2 = Advance BC_e0_ef 1
u8scope32 = advance2
advance3 = Advance BC_e0_ef 2
or_8 = (u8scope32 | advance3)
u8scope3X = or_8
or_9 = (basis4 | basis5)
not_15 = (~or_9)
and_30 = (and_ & not_15)
and_31 = (and_15 & and_30)
BC_e2 = and_31
advance4 = Advance BC_e2 1
or_10 = (basis6 | basis7)
not_16 = (~or_10)
or_11 = (or_9 | or_10)
not_17 = (~or_11)
and_32 = (not_6 & and_21)
and_33 = (not_17 & and_32)
BC_80 = and_33
and_34 = (advance4 & BC_80)
advance5 = Advance and_34 1
and_35 = (and_1 & not_9)
and_36 = (and_14 & and_21)
and_37 = (and_35 & and_36)
BC_a8_a9 = and_37
and_38 = (advance5 & BC_a8_a9)
LS_PS = and_38
and_39 = (and_15 & not_17)
BC_e0 = and_39
advance6 = Advance BC_e0 1
and_40 = (not_3 & and_21)
BC_80_9f = and_40
and_41 = (advance6 & BC_80_9f)
and_42 = (and_6 & and_15)
BC_ed = and_42
advance7 = Advance BC_ed 1
and_43 = (basis2 & and_21)
BC_a0_bf = and_43
and_44 = (advance7 & BC_a0_bf)
or_12 = (and_41 | and_44)
EX_invalid = or_12
else:
u8scope32 = 000...
u8scope3X = 000...
LS_PS = 000...
EX_invalid = 000...
.
if BC_f0_f4:
u8scope42 = Advance BC_f0_f4 1
u8scope43 = Advance u8scope42 1
u8scope44 = Advance u8scope43 1
or_13 = (u8scope42 | u8scope43)
u8scope4nonfinal = or_13
or_14 = (u8scope44 | u8scope4nonfinal)
u8scope4X = or_14
or_15 = (basis6 | basis7)
not_18 = (~or_15)
or_16 = (basis4 | basis5)
not_19 = (~or_16)
or_17 = (or_15 | or_16)
not_20 = (~or_17)
and_45 = (and_17 & not_20)
BC_f0 = and_45
advance8 = Advance BC_f0 1
and_46 = (not_6 & and_21)
BC_80_8f = and_46
and_47 = (advance8 & BC_80_8f)
and_48 = (basis5 & not_10)
and_49 = (not_18 & and_48)
and_50 = (and_17 & and_49)
BC_f4 = and_50
advance9 = Advance BC_f4 1
or_18 = (basis2 | basis3)
and_51 = (and_21 & or_18)
BC_90_bf = and_51
and_52 = (advance9 & BC_90_bf)
or_19 = (and_47 | and_52)
FX_invalid = or_19
else:
u8scope4nonfinal = 000...
u8scope4X = 000...
FX_invalid = 000...
.
or_20 = (u8scope3X | u8scope4X)
or_21 = (u8scope22 | or_20)
or_22 = (BC_c2_df | BC_e0_ef)
or_23 = (BC_f0_f4 | or_22)
xor_1 = (u8suffix ^ or_21)
or_24 = (EX_invalid | FX_invalid)
xor_2 = (BC_c0_ff ^ or_23)
or_25 = (xor_1 | or_24)
or_26 = (xor_2 | or_25)
u8invalid = or_26
not_21 = (~u8invalid)
u8valid = not_21
and_53 = (BC_c0_ff & u8valid)
valid_pfx = and_53
or_27 = (BC_c0_ff | u8scope32)
or_28 = (u8scope4nonfinal | or_27)
and_54 = (u8valid & or_28)
nonfinal = and_54
or_29 = (NEL | LS_PS)
NEL_LS_PS = or_29
else:
u8invalid = 000...
valid_pfx = 000...
nonfinal = 000...
NEL_LS_PS = 000...
.
or_30 = (CC_a_d | NEL_LS_PS)
or_31 = (basis2 | basis3)
CC_0_7f = not_5
not_22 = (~u8invalid)
and_55 = (CC_0_7f & not_22)
initial = (valid_pfx | and_55)
or_32 = (u8invalid | nonfinal)
final = (~or_32)
not_23 = (~crlf)
and_56 = (or_30 & not_23)
not_24 = (~and_56)
and_57 = (and_56 & not_23)
lf = and_57
BC_80_bf1 = and_21
not_25 = (~basis4)
or_33 = (basis6 | basis7)
not_26 = (~or_33)
or_34 = (basis4 | basis5)
not_27 = (~or_34)
and_58 = (basis2 & not_2)
or_35 = (or_33 | or_34)
not_28 = (~or_35)
and_59 = (and_58 & not_7)
and_60 = (not_28 & and_59)
CC_20 = and_60
and_61 = (basis1 & not_5)
and_62 = (and_4 & not_27)
and_63 = (and_58 & and_61)
and_64 = (and_62 & and_63)
CC_61 = and_64
and_65 = (and_ & not_27)
and_66 = (and_63 & and_65)
CC_62 = and_66
and_67 = (basis5 & not_25)
and_68 = (and_63 & and_67)
not_29 = (~basis6)
and_69 = (basis6 & basis7)
not_30 = (~and_69)
and_70 = (and_68 & not_30)
CC_64_66 = and_70
m = (CC_20 & not_24)
and_72 = (CC_61 & not_24)
and_73 = (CC_62 & not_24)
and_74 = (CC_64_66 & not_24)
adv = Advance m 1
test = adv
pending = adv
accum = adv
while test:
m1 = (and_72 & pending)
adv1 = Advance m1 1
m2 = (and_73 & adv1)
m3 = (and_74 & pending)
alt = (m2 | m3)
adv2 = Advance alt 1
not_31 = (~accum)
and_75 = (adv2 & not_31)
pending = and_75
or_36 = (accum | adv2)
accum = or_36
test = pending
.
unbounded = accum
m4 = (m & unbounded)
matchstar = MatchStar m4 not_24
and_76 = (and_56 & matchstar)
matches = and_76
Updated Tue Oct. 06 2015, 10:59 by cameron.