コード例 #1
0
def origin_for_statement(ast, context):
    expression_no_in(ast[3], context)
    while expression_no_in(ast[5], context):
        statement(ast[9], context)
        if context.return_value is not None:
            break
        expression_no_in(ast[7], context)
コード例 #2
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def origin_for_statement(ast, context):
    expression_no_in(ast[3], context)
    while expression_no_in(ast[5], context):
        statement(ast[9], context)
        if context.return_value is not None:
            break
        expression_no_in(ast[7], context)
コード例 #3
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def return_statement(ast, context):
    if ast[len(ast) - 1] == ";":
        ast.pop()
    if len(ast) == 2:
        context.return_value = UNDEFINED
    elif len(ast) == 3:
        context.return_value = expression_no_in(ast[2], context)
コード例 #4
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def do_statement(ast, context):
    while True:
        statement(ast[2], context)
        if context.return_value is not None:
            break
        if not expression_no_in(ast[5], context):
            break
コード例 #5
0
def return_statement(ast, context):
    if ast[len(ast) - 1] == ";":
        ast.pop()
    if len(ast) == 2:
        context.return_value = UNDEFINED
    elif len(ast) == 3:
        context.return_value = expression_no_in(ast[2], context)
コード例 #6
0
def do_statement(ast, context):
    while True:
        statement(ast[2], context)
        if context.return_value is not None:
            break
        if not expression_no_in(ast[5], context):
            break
コード例 #7
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def print_statement(ast, context):
    print(expression_no_in(ast[2], context))
コード例 #8
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def for_each_statement(ast, context):
    for context[ast[4][1]] in expression_no_in(ast[6], context):
        statement(ast[8], context)
        if context.return_value is not None:
            break
コード例 #9
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def while_statement(ast, context):
    while expression_no_in(ast[3], context):
        statement(ast[5], context)
        if context.return_value is not None:
            break
コード例 #10
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def if_statement(ast, context):
    if expression_no_in(ast[3], context):
        statement(ast[5], context)
    else:
        if len(ast) == 8:
            statement(ast[7], context)
コード例 #11
0
ファイル: Control.py プロジェクト: Nebula1084/StairJS
def expression_no_in_statement(ast, context):
    return expression_no_in(ast[1], context)
コード例 #12
0
def print_statement(ast, context):
    print(expression_no_in(ast[2], context))
コード例 #13
0
def for_each_statement(ast, context):
    for context[ast[4][1]] in expression_no_in(ast[6], context):
        statement(ast[8], context)
        if context.return_value is not None:
            break
コード例 #14
0
def while_statement(ast, context):
    while expression_no_in(ast[3], context):
        statement(ast[5], context)
        if context.return_value is not None:
            break
コード例 #15
0
def if_statement(ast, context):
    if expression_no_in(ast[3], context):
        statement(ast[5], context)
    else:
        if len(ast) == 8:
            statement(ast[7], context)
コード例 #16
0
def expression_no_in_statement(ast, context):
    return expression_no_in(ast[1], context)