All pastes #405849 Raw Edit

Untitled

public python v1 · immutable
·published 2007-03-21 23:53 UTC
rendered paste body
class SampleLex:  alpha = 'abcdefghijklmnopqrstuvwxyz'  digit = '0123456789'  table = [   [1,3,0],   [1,1,2],   [2,2,2],   [3,3,3],  ]  relations = {    "alpha":0,     "digit":1,  }  def __init__(self, file_name='ziew'):    self.f = open(self.file_name, 'r')    self.chars = ''    self.state = 0		  def scan(self):    for line in self.f.readlines():      for c in line:	if self.state == 3:          print "Error"	  self.state = 0          self.chars = ''				        elif self.state == 2:          print self.chars          self.state = 0          self.chars = ''	print self.state	self.state = self.table[self.state][self.lex(c)]					def lex(self, c):          self.stack.append(currChar)	  if c in self.alpha:            return 1          elif c in self.digit:	    return 2          else:            return 0file_name = raw_input("Please enter file name: ")lexer = SampleLex(file_name)lexer.scan()