Not logged in. Login

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.