def parse(self, context: Context) -> None: from CommandNode import CommandNode while True: if context.currentToken() == None: raise ParseException("Missing 'end'") elif context.currentToken() == "end": context.skipToken("end") break else: commandNode = CommandNode() commandNode.parse(context) self.__list.append(commandNode)
def parse(self, context: Context): if context.currentToken() == "repeat": self.__node = RepeatCommandNode() self.__node.parse(context) else: self.__node = PrimitiveCommandNode() self.__node.parse(context)
def parse(self, context: Context) -> None: self.__name = context.currentToken() context.skipToken(self.__name) if (self.__name != "go" and self.__name != "right" and self.__name != "left"): raise ParseException(self.__name + " is undefined")