Example #1
0
        lexer.input(cool_program_code)
        for token in lexer:
            pass

        if lexer.errors:
            print(lexer.errors[0])
            exit(1)

        cool_ast = parser.parse(cool_program_code)

        if parser.errors:
            print(parser.errors[0])
            exit(1)

        semantic_analyzer = SemanticAnalyzer(cool_ast)
        context, scope = semantic_analyzer.analyze()

        if semantic_analyzer.errors:
            print(semantic_analyzer.errors[0])
            exit(1)

        cool_to_cil = COOLToCILVisitor(context)
        cil_ast = cool_to_cil.visit(cool_ast, scope)

        # formatter = CIL_AST.get_formatter()
        # cil_code = formatter(cil_ast)
        # with open(f'{sys.argv[1][:-3]}.cil', 'w') as f:
        #     f.write(f'{cil_code}')

        cil_to_mips = CILToMIPSVisitor()
        mips_code = cil_to_mips.visit(cil_ast)
Example #2
0
    def analyze(self, tweet_data):

        sman = SemanticAnalyzer()
        score = sman.analyze(user_data['text'])

        return score