예제 #1
0
import sys

from setlx2py.setlx_parser import Parser
from setlx2py.setlx_ast_transformer import AstTransformer
from setlx2py.setlx_codegen import Codegen

HEADER = """
from setlx2py.builtin.setlx_functions import *
from setlx2py.builtin.setlx_internals import *
from setlx2py.builtin.setlx_set import SetlxSet
from setlx2py.builtin.setlx_list import SetlxList
from setlx2py.builtin.setlx_string import SetlxString

"""

parser = Parser()
transformer = AstTransformer()
generator = Codegen()


def error_msg(source, compiled=None, e=None):
    msg = 'Could not run stuff:\n'
    msg += 'Source:\n' + source + '\n'

    if compiled:
        msg += 'Compiled:\n' + compiled
    if e:
        msg += 'Reason:\n'
        msg += e.__class__.__name__ + '\n'
        msg += str(e) + '\n'
        msg += 'Line: ' + str(get_exception_line(e))
예제 #2
0
# License: Apache v2
#------------------------------------------------------------------------------

from __future__ import unicode_literals

import os

from nose.tools import eq_, with_setup, nottest

from setlx2py.setlx_parser import Parser

##
## Test housekeeping
##

parser = Parser(yacc_optimize=False)


def is_parsable(path):
    with open(path, 'r') as f:
        try:
            s = f.read()
        except Exception as e:
            print(path)
            raise

    try:
        parser.parse(s)
        return True
    except SyntaxError as e:
        return False