예제 #1
0
def get_info(StateIndexList, dial_db):
    """
    NOTE: At least a 'dummy' state router is always equired so that 'goto
    QUEX_STATE_ROUTER;' does not reference a non-existing label. Then, we
    return an empty text array.

    <fschaef9/13y10m15d: "Still true with current dial_db implementation?">
    """
    if len(StateIndexList) == 0: return []

    # Make sure, that for every state the 'drop-out' state is also mentioned
    result = [None] * len(StateIndexList)
    for i, index in enumerate(StateIndexList):
        assert type(index) != str
        if index >= 0:
            # Transition to state entry
            adr = index
        else:
            assert False, "Is this still an issue?"
            # Transition to a templates 'drop-out'
            adr = DoorID.drop_out(-index, dial_db).related_address

        result[i] = (index, Lng.GOTO_ADDRESS(adr, dial_db))

    return result
예제 #2
0
파일: transition.py 프로젝트: nyulacska/gpr
def do(Interval, Target, IndentF=False):
    global Setup
    global Lng

    if hasattr(Target, "code"): txt = Target.code()
    elif type(Target) == long: txt = [Lng.GOTO_ADDRESS(Target)]
    else: txt = [Target]

    if Interval is not None and Setup.comment_transitions_f:
        txt.append(Lng.COMMENT(Interval.get_utf8_string()))

    return txt