Python Forum
Completeing the Class
Thread Rating:
  • 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Completeing the Class
#1
Can someone please help me finish this code. I am a college student learning python for the first time and I am stuck at the def getNextToken part

"""
File: scanner.py
A scanner for processing languages.
"""

from tokens import Token

class Scanner(object):

    EOE = ';'        # end-of-expression
    TAB = '\t'       # tab

    def __init__(self, sourceStr):
        self._tokens = sourceStr
        self.currentChar = self._tokens[1]
        self.index = 1

    def hasNext(self):
        if self.index <= len(self._tokens):
            return True
        else:
            return False
    

    def next(self):
        print("NEXT, index:", self.index, "tokens:", self._tokens)
            
        item=self._tokens[self.index-1]
        if self.index < len(self._tokens):
            self.currentChar = self._tokens[self.index]
        self.index = self.index + 1
        return item

    def getFirstToken(self):
        return self._tokens[0]
    
    def getNextToken(self):
        pass
    
    def nextChar(self):
        pass
    
    def skipWhiteSpace(self):
        pass
    
    def getInteger(self):
        pass

def main():
    # A simple tester program
    while True:
        sourceStr = input("Enter an expression: ")
        if sourceStr == "": break
        scanner = Scanner(sourceStr)
        while scanner.hasNext():
            print(scanner.next())

if __name__ == '__main__': 
    main()
Reply
#2
-tokens[] is your token list. When you process a token, suggest removing it from the list. Then getFirstToken() and getNextToken() are interchangeable.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020