def main(argv): input_stream = FileStream(argv[1]) lexer = c2llvmLexer(input_stream) stream = CommonTokenStream(lexer) parser = c2llvmParser(stream) tree = parser.prog() v = Visitor() v.visit(tree) if (len(argv) == 3): print(v.module, file=open(argv[2], 'w')) print(v.module)
def _run_checker(checker, mode, set_of_files): if mode == 'full': files = core.get_files(set_of_files) else: files = core.get_files(set_of_files, checker.get_pattern_hint()) if not files: cnf = 'Could not find any problem related to ' cnf += checker.get_problem_type().lower() sys.stderr.write(cnf + '\n') else: print __current_wip(checker, files) visitor = Visitor(checker) index = Index.create() for c_file in files: root = index.parse(c_file, options=TranslationUnit.PARSE_DETAILED_PROCESSING_RECORD) ReportBlocker.blocked_lines = [] visitor.visit(root.cursor, c_file)
def accept(self, visitor: Visitor): visitor.visit(self.construct_name, self)
import os import threading from time import time, sleep import settings from log_etl import Log from visitor import Visitor start = time() log = Log(os.path.join(os.path.dirname(__file__),'data/data.txt')) v = Visitor(settings.TARGET_HOST) for data in log.etl(): elapsed = time()-start if ((data['time']-log.start) > (elapsed * settings.SPEED)): sleep((data['time']-log.start)-(elapsed * settings.SPEED)) while (threading.activeCount() > settings.THREAD_LIMIT): print "Threading limit reached. Sleeping..." sleep(settings.THREAD_LIMIT_SLEEP) v.visit(data['url']) v.close() log.close()
def render(self, context): v = Visitor(context) return v.visit(self._tree)
def accept(self, visitor: Visitor, *args, **kwargs): return visitor.visit(self, *args, **kwargs)