Exemplo n.º 1
0
def run_script_text(dbn_script, **options):
    options = options or {}
    VERBOSE = options.get('verbose', False)
    dump_javascript = options.get('javascript', False)

    tokenizer = DBNTokenizer()
    parser = DBNParser()

    tokens = tokenizer.tokenize(dbn_script)

    if VERBOSE:
        for token in tokens:
            print token

    dbn_ast = parser.parse(tokens)
    if dump_javascript:
        print dbn_ast.to_js(varname='ast')

    if VERBOSE:
        dbn_ast.pprint()

    state = DBNInterpreterState()
    state = dbn_ast.apply(state)

    return state
Exemplo n.º 2
0
    def __init__(self, root, initial_script=''):
        Tkinter.Text.__init__(self,
                              root,
                              height=30,
                              width=80,
                              borderwidth=0,
                              selectborderwidth=0,
                              highlightthickness=0)

        self.WIDTH = 80

        self.bind_events()
        self.insert(1.0, initial_script)

        self.highlight_active = False

        self.highlighted_lines = []

        self.tokenizer = DBNTokenizer()
Exemplo n.º 3
0
def tokenizer_tester(string):
    tokenizer = DBNTokenizer()
    return [token.type for token in tokenizer.tokenize(string)]
Exemplo n.º 4
0
Line 0 0 100 (100 + A)
"""

repeat_test = """
Repeat X 1 100 {
    Repeat A 0 X {
        Set [X A] ((100 * A) / X)
    }
}
"""

arithmetic_test_string = """
Set A (5 + 4 * 9)
"""

tokenizer = DBNTokenizer()
parser = DBNParser()

tokens = tokenizer.tokenize(repeat_test)

for token in tokens:
    print token
dbn_ast = parser.parse(tokens)

dbn_ast.pprint()

state = DBNInterpreterState()
first_state = state
state = dbn_ast.apply(state)
output.draw_window(state.image._image)