Exemplo n.º 1
0
def compile_src(source, log_dir=''):
    """Compiles ``source`` and returns (result, errors, ast).
    """
    start_logging(log_dir)
    compiler = get_compiler()
    result_tuple = compile_source(source, get_preprocessor(),
                                  get_grammar(),
                                  get_transformer(), compiler)
    return result_tuple
Exemplo n.º 2
0
def compile_src(source):
    """Compiles ``source`` and returns (result, errors, ast).
    """
    start_logging("LOGS")
    compiler = get_compiler()
    cname = compiler.__class__.__name__
    log_file_name = os.path.basename(os.path.splitext(source)[0]) \
        if is_filename(source) < 0 else cname[:cname.find('.')] + '_out'
    result = compile_source(source, get_preprocessor(),
                            get_grammar(),
                            get_transformer(), compiler)
    return result
Exemplo n.º 3
0
 def test_error_position(self):
     orig_src = self.code.replace('#', '\x1b')
     prepr = chain_preprocessors(preprocess_comments,
                                 preprocess_indentation)
     self.grammar.max_parser_dropouts__ = 3
     result, messages, syntaxtree = compile_source(orig_src, prepr,
                                                   self.grammar,
                                                   lambda i: i, lambda i: i)
     for err in messages:
         if self.code[err.orig_pos] == "#":
             break
     else:
         assert False, "wrong error positions"
Exemplo n.º 4
0
def compile_src(source):
    """Compiles ``source`` and returns (result, errors, ast).
    """
    result_tuple = compile_source(source, get_preprocessor(), get_grammar(),
                                  get_transformer(), get_compiler())
    return result_tuple
Exemplo n.º 5
0
def compile_src(source: str) -> Tuple[Any, List[Error]]:
    """Compiles ``source`` and returns (result, errors, ast)."""
    result_tuple = compile_source(source, get_preprocessor(), get_grammar(),
                                  get_transformer(), get_compiler())
    return result_tuple[:2]  # drop the AST at the end of the result tuple