示例#1
0
     Op.Assign(E_R.LexemeStartP, E_R.ReferenceP))
test(Op.ColumnCountAdd(2), Op.LineCountAdd(3))
print "(1.2) Commands with interferring access to registers, solely read ____________"
print
test(Op.InputPDereference(), Op.StoreInputPosition(0, 1, 0))
test(Op.Assign(E_R.InputP, E_R.ReferenceP),
     Op.Assign(E_R.LexemeStartP, E_R.ReferenceP))
test(Op.ColumnCountReferencePDeltaAdd(E_R.InputP, 5, False),
     Op.Assign(E_R.CharacterBeginP, E_R.ReferenceP))
print "(1.3) Commands with interferring access to registers, one read other write ___"
print
test(Op.Assign(E_R.InputP, E_R.CharacterBeginP),
     Op.StoreInputPosition(0, 1, 0))
test(Op.Assign(E_R.InputP, E_R.ReferenceP),
     Op.Assign(E_R.LexemeStartP, E_R.InputP))
test(Op.ColumnCountReferencePDeltaAdd(E_R.ReferenceP, 5, False),
     Op.Assign(E_R.ReferenceP, E_R.InputP))
print "(1.4) Commands with interferring access to registers, both write _____________"
print
test(Op.StoreInputPosition(0, 1, 0), Op.StoreInputPosition(0, 1, 0))
test(Op.Assign(E_R.InputP, E_R.ReferenceP), Op.Assign(E_R.InputP, E_R.InputP))
test(Op.ColumnCountReferencePDeltaAdd(E_R.ReferenceP, 5, False),
     Op.ColumnCountAdd(2))
print "(2) Branchers: _______________________________________________________________"
print
test(Op.GotoDoorId(DoorID(2, 2)),
     Op.GotoDoorIdIfInputPNotEqualPointer(DoorID(1, 1), E_R.ReferenceP))
test(Op.GotoDoorId(DoorID(2, 2)), Op.GotoDoorId(DoorID(1, 1)))
test(Op.GotoDoorIdIfInputPNotEqualPointer(DoorID(2, 2), E_R.ReferenceP),
     Op.GotoDoorIdIfInputPNotEqualPointer(DoorID(1, 1), E_R.ReferenceP))
示例#2
0
    print "___ Initial ___"
    print
    print "".join(stdb.get_tree_text(alias_db))

    i = 0
    while stdb.pop_best():
        i += 1
        print "___ Step %i ____" % i
        print
        print "".join(stdb.get_tree_text(alias_db))


setup_list = [
    [],
    [
        (DoorID(0, 1), [A]),
    ],
    [
        (DoorID(0, 1), [A]),
        (DoorID(0, 2), [A]),
    ],
    [
        (DoorID(0, 1), [A]),
        (DoorID(0, 2), [B]),
    ],
    [
        (DoorID(0, 1), [A, C]),
        (DoorID(0, 2), [A, C]),
    ],
    [
        (DoorID(0, 1), [A, C]),
示例#3
0
def get_TargetByStateKey_Element(TargetStateIndex):
    global dial_db
    transition_id = TransitionID(TargetStateIndex, 0, 0)
    door_id = DoorID(TargetStateIndex, 0, dial_db)
    return TargetByStateKey_Element(transition_id, door_id)
示例#4
0
from collections import defaultdict
from copy import deepcopy
from random import shuffle

Setup.language_db = db[Setup.language]

example_db = {
    E_Op.StoreInputPosition: [
        Op.StoreInputPosition(4711, 7777, 0),
        Op.StoreInputPosition(4711, 7777, 1000)
    ],
    E_Op.PreContextOK: [Op.PreContextOK(4711)],
    E_Op.TemplateStateKeySet: [Op.TemplateStateKeySet(66)],
    E_Op.PathIteratorSet: [Op.PathIteratorSet(11, 22, 1000)],
    E_Op.PrepareAfterReload:
    [Op.PrepareAfterReload(DoorID(33, 44), DoorID(55, 66))],
    E_Op.InputPIncrement: [Op.InputPIncrement()],
    E_Op.InputPDecrement: [Op.InputPDecrement()],
    E_Op.InputPDereference: [Op.InputPDereference()],
    E_Op.LexemeResetTerminatingZero: [Op.LexemeResetTerminatingZero()],
    E_Op.ColumnCountReferencePSet:
    [Op.ColumnCountReferencePSet(E_R.CharacterBeginP, 1000)],
    E_Op.ColumnCountReferencePDeltaAdd:
    [Op.ColumnCountReferencePDeltaAdd(E_R.CharacterBeginP, 5555, False)],
    E_Op.ColumnCountAdd: [Op.ColumnCountAdd(1)],
    E_Op.ColumnCountGridAdd: [
        Op.ColumnCountGridAdd(1),
        Op.ColumnCountGridAdd(2),
        Op.ColumnCountGridAdd(3),
        Op.ColumnCountGridAdd(4),
        Op.ColumnCountGridAdd(5),
示例#5
0
文件: helper.py 项目: xxyzzzq/quex
from   collections import defaultdict
from   copy        import deepcopy
from   random      import shuffle


Setup.language_db = db[Setup.language]

example_db = {
    E_Op.StoreInputPosition: [ 
        Op.StoreInputPosition(4711, 7777, 0),
        Op.StoreInputPosition(4711, 7777, 1000) 
    ],
    E_Op.PreContextOK:                     [ Op.PreContextOK(4711) ],
    E_Op.TemplateStateKeySet:              [ Op.TemplateStateKeySet(66) ],
    E_Op.PathIteratorSet:                  [ Op.PathIteratorSet(11, 22, 1000) ],
    E_Op.PrepareAfterReload:               [ Op.PrepareAfterReload(DoorID(33, 44), DoorID(55, 66)) ],
    E_Op.Increment:                        [ Op.Increment(E_R.InputP) ],
    E_Op.Decrement:                        [ Op.Decrement(E_R.InputP) ],
    E_Op.InputPDereference:                [ Op.InputPDereference() ],
    E_Op.LexemeResetTerminatingZero:       [ Op.LexemeResetTerminatingZero() ],
    E_Op.ColumnCountReferencePSet:         [ Op.ColumnCountReferencePSet(E_R.CharacterBeginP, 1000) ],
    E_Op.ColumnCountReferencePDeltaAdd:    [ Op.ColumnCountReferencePDeltaAdd(E_R.CharacterBeginP, 5555, False) ],
    E_Op.ColumnCountAdd:                   [ Op.ColumnCountAdd(1) ],
    E_Op.ColumnCountGridAdd: [ 
        Op.ColumnCountGridAdd(1),
        Op.ColumnCountGridAdd(2),
        Op.ColumnCountGridAdd(3),
        Op.ColumnCountGridAdd(4),
        Op.ColumnCountGridAdd(5),
    ],
    E_Op.LineCountAdd: [ Op.LineCountAdd(1) ],
示例#6
0
def get_DoorID(X, Y):
    global dial_db
    return DoorID(X, Y, dial_db)
示例#7
0
 def from_StateIndex_for_DropOut(X):
     return TargetByStateKey.from_transition(TransitionID(X, X, 0),
                                             DoorID(X, 0))
示例#8
0
test(Op.ColumnCountReferencePDeltaAdd(E_R.InputP, 5, False),
     Op.Assign(E_R.LoopRestartP, E_R.CountReferenceP))
print "(1.3) Commands with interferring access to registers, one read other write ___"
print
test(Op.Assign(E_R.InputP, E_R.LoopRestartP), Op.StoreInputPosition((0, ), 1,
                                                                    0))
test(Op.Assign(E_R.InputP, E_R.CountReferenceP),
     Op.Assign(E_R.LexemeStartP, E_R.InputP))
test(Op.ColumnCountReferencePDeltaAdd(E_R.CountReferenceP, 5, False),
     Op.Assign(E_R.CountReferenceP, E_R.InputP))
print "(1.4) Commands with interferring access to registers, both write _____________"
print
test(Op.StoreInputPosition((0, ), 1, 0), Op.StoreInputPosition((0, ), 1, 0))
test(Op.Assign(E_R.InputP, E_R.CountReferenceP),
     Op.Assign(E_R.InputP, E_R.InputP))
test(Op.ColumnCountReferencePDeltaAdd(E_R.CountReferenceP, 5, False),
     Op.ColumnCountAdd(2))
print "(2) Branchers: _______________________________________________________________"
print
test(
    Op.GotoDoorId(DoorID(2, 2, dial_db)),
    Op.GotoDoorIdIfInputPNotEqualPointer(DoorID(1, 1, dial_db),
                                         E_R.CountReferenceP))
test(Op.GotoDoorId(DoorID(2, 2, dial_db)), Op.GotoDoorId(DoorID(1, 1,
                                                                dial_db)))
test(
    Op.GotoDoorIdIfInputPNotEqualPointer(DoorID(2, 2, dial_db),
                                         E_R.CountReferenceP),
    Op.GotoDoorIdIfInputPNotEqualPointer(DoorID(1, 1, dial_db),
                                         E_R.CountReferenceP))
示例#9
0
dial_db = DialDB()
Setup.language_db = db[Setup.language]()

example_db = {
    #
    # ANY NEW ENTRY MUST BE STORED IN 'NEW_ENTRIES'
    #
    E_Op.StoreInputPosition: [
        Op.StoreInputPosition((4711L, ), 7777, 0),
        Op.StoreInputPosition((4711L, ), 7777, 1000)
    ],
    E_Op.PreContextOK: [Op.PreContextOK(4711L)],
    E_Op.TemplateStateKeySet: [Op.TemplateStateKeySet(66)],
    E_Op.PathIteratorSet: [Op.PathIteratorSet(11, 22, 1000)],
    E_Op.PrepareAfterReload:
    [Op.PrepareAfterReload(DoorID(33, 44, dial_db), DoorID(55, 66, dial_db))],
    E_Op.Increment: [Op.Increment(E_R.InputP)],
    E_Op.Decrement: [Op.Decrement(E_R.InputP)],
    E_Op.InputPDereference: [Op.InputPDereference()],
    E_Op.LexemeResetTerminatingZero: [Op.LexemeResetTerminatingZero()],
    E_Op.ColumnCountReferencePSet:
    [Op.ColumnCountReferencePSet(E_R.LoopRestartP, 1000)],
    E_Op.ColumnCountReferencePDeltaAdd:
    [Op.ColumnCountReferencePDeltaAdd(E_R.LoopRestartP, 5555, False)],
    E_Op.ColumnCountAdd: [Op.ColumnCountAdd(1)],
    E_Op.ColumnCountGridAdd: [
        Op.ColumnCountGridAdd(1),
        Op.ColumnCountGridAdd(2),
        Op.ColumnCountGridAdd(3),
        Op.ColumnCountGridAdd(4),
        Op.ColumnCountGridAdd(5),