def run_parser(self): print("Parsing...") if (len(self.tokens) != 0): parser = Parser(self.tokens) else: raise Exception("Parsing Error: The list of tokens is empty") self.tree = parser.parse() return True
def main(): # Check that only one argument was passed if len(sys.argv) != 3: print("Tokenize takes two text files as an argument.") return # pass the text file to the Parser parser1 = Parser(sys.argv[1]) parser2 = Parser(sys.argv[2]) # run the Parsers parser1.run() parser2.run() # print the number of shared tokens parser1.compare(parser2) return
def test_Parse_RoverPlans(self): parser = Parser() parser.parseLine(" 5 5 ") parser.parseLine(" 1 2 E ") parser.parseLine(" LMlmLMlm") parser.parseLine(" 3 4W ") parser.parseLine(" RM rm RM r m ") plans = parser.compileRoverPlans() self.assertEqual(2, len(plans)) self.assertEqual([1, 2, "E"], plans[0].startPoint) self.assertEqual("LMLMLMLM", plans[0].commands) self.assertEqual([3, 4, "W"], plans[1].startPoint) self.assertEqual("RMRMRMRM", plans[1].commands)
def __init__(self, user_id, username, active_category, active_time): self.user_id = user_id self.username = username self.settings = { 'category': active_category, 'time': active_time, } self.channels = settings.channels.copy() self.parsed_channels = [] self.parsed_channels_amount = 0 self.parser = Parser(self.settings) self.messages = [] self.messages_ids = [] self.user_messages_ids = [] self.messages_was_found = False
def main(): # Check that only one argument was passed if len(sys.argv) != 2: print("Tokenize takes one text file as an argument.") return # pass the text file to the Tokenizer parser = Parser(sys.argv[1]) # run the Tokenizer parser.run() # print the results parser.print_results_sorted() return
def test_Parse_Empty_Lines(self): lines = [ " 5 5 ", " ", " 1 2 E ", " ", " LMlmLMlm", " 3 4W ", " ", " RM rm RM r m " ] parser = Parser() for line in lines: parser.parseLine(line) plans = parser.compileRoverPlans() self.assertEqual(2, len(plans)) self.assertEqual([1, 2, "E"], plans[0].startPoint) self.assertEqual("LMLMLMLM", plans[0].commands) self.assertEqual([3, 4, "W"], plans[1].startPoint) self.assertEqual("RMRMRMRM", plans[1].commands)
def __init__(self, ip, port, username, password, verbose_level, zones_identifier, area_identifier, ses_identifier, status_identifier, states_identifier, keep_alive_allowed_errors): self.ip = ip self.port = str(port) self.username = str(username) self.password = str(password) self.connected = False self.verbose_level = verbose_level self.parser = Parser(self, zones_identifier, area_identifier, ses_identifier, status_identifier, states_identifier) self.current_status = "Init phase" self.paracrypt = Paracrypt(username, password) self.running = False self.keep_alive_allowed_errors = keep_alive_allowed_errors self.keep_alive_errors = 0
def main (): parser = Parser() # read input from piped data for line in sys.stdin: line = line.rstrip() parser.parseLine(line) # throw error if something is wrong with input if not parser.boundary or not parser.allStartPoints or not parser.allCommands: raise ValueError("Error: {}\n. Something went wrong with the input") if len(parser.allStartPoints) != len(parser.allCommands): raise ValueError("Error: {}\n. Missing some data!") # setup plateau object and pass along the surface boundary and list of roverPlans plateau = Plateau(parser.boundary, parser.compileRoverPlans()) # plot the rover paths along the plateau and compile the final rover positions plateau.plotRoverCourses() # output the final results for point in plateau.finalPositions: print("{} {} {}".format(point[0], point[1], point[2]))
def test_Parse_Boundary(self): parser = Parser() line = " 5 5 " parser.parseLine(line) self.assertEqual([5, 5], parser.boundary)
def test_Parse_Commands(self): parser = Parser() parser.parseLine(" LMlmLMlm") self.assertEqual("LMLMLMLM", parser.allCommands[0]) parser.parseLine(" RM rm RM r m ") self.assertEqual("RMRMRMRM", parser.allCommands[1])
def test_Parse_Start_Point(self): parser = Parser() parser.parseLine(" 1 2 E ") self.assertEqual([1, 2, "E"], parser.allStartPoints[0]) parser.parseLine(" 3 4W ") self.assertEqual([3, 4, "W"], parser.allStartPoints[1])