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)
Example #2
0
 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")