def parse(self, characters): self.set_number_of_priorities_level() try: lexing_result = Lexer.lex(self, characters) if lexing_result[const.STATUS] == const.SUCCESS: self.check_statement_validity(self.tokens[self.current_token_index:]) self.set_check_program_values() self.check_program_validity() except custom_exception.ParsingException as exception: self.handle_parsing_error(exception.args[0]) return self.build_return_message()
def lex_identifier(self, expected, identifier): lexer = Lexer() lexer.lex(identifier) self.assertEqual(expected, lexer.statements_counter)
def test_statement_with_2curly_braces(self): identifier = "myVar = {\n{\n}" lexer = Lexer() lexer.lex(identifier) self.assertFalse(lexer.handle_style.end_of_statement)
def test__statement__ends__with__curly__brace(self): identifier = "myVar = {\n" lexer = Lexer() lexer.lex(identifier) self.assertFalse(lexer.handle_style.end_of_statement)