Advertisement
Guest User

Untitled

a guest
Apr 26th, 2012
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. token.py:
  2.  
  3. class Tokenizer:
  4. def __init__(self, string):
  5. self.string = string
  6. self.index = 0
  7. self.__next()
  8. def __next(self):
  9. if self.index >= len(self.string):
  10. self.next = None
  11. return
  12. char = self.string[self.index]
  13. if char[0] == "\\":
  14. try:
  15. c = self.string[self.index + 1]
  16. except IndexError:
  17. raise error, "bogus escape (end of line)"
  18. char = char + c
  19. self.index = self.index + len(char)
  20. self.next = char
  21. def match(self, char, skip=1):
  22. print char, self.next
  23. if char == self.next:
  24. if skip:
  25. self.__next()
  26. return 1
  27. return 0
  28. def get(self):
  29. this = self.next
  30. self.__next()
  31. return this
  32. def tell(self):
  33. return self.index, self.next
  34. def seek(self, index):
  35. self.index, self.next = index
  36.  
  37.  
  38. token=Tokenizer('name=(.+)')
  39.  
  40. t = token.get()
  41.  
  42. while(t):
  43. if t == '(':
  44. if token.match('?'):
  45. print matched
  46. t = token.get()
  47. --------------------
  48.  
  49. % ~/jython2.5.3b1/bin/jython -m py_compile token.py% java -cp ~/jython2.5.3b1/jython.jar:. token\$py
  50. ? .
  51. Exception in thread "main" Traceback (most recent call last):
  52. File "token$py", line 42, in <module>
  53. File "token$py", line 21, in match
  54. java.lang.NullPointerException
  55. at org.python.core.PyObject._eq(PyObject.java:1440)
  56. at token$py.match$4(/home/joel/software/actinica/nutfield/tests/token.py:25)
  57. at token$py.call_function(/home/joel/software/actinica/nutfield/tests/token.py)
  58. at org.python.core.PyTableCode.call(PyTableCode.java:165)
  59. at org.python.core.PyBaseCode.call(PyBaseCode.java:301)
  60. at org.python.core.PyBaseCode.call(PyBaseCode.java:141)
  61. at org.python.core.PyFunction.__call__(PyFunction.java:327)
  62. at org.python.core.PyMethod.__call__(PyMethod.java:124)
  63. at token$py.f$0(/home/joel/software/actinica/nutfield/tests/token.py:40)
  64. at token$py.call_function(/home/joel/software/actinica/nutfield/tests/token.py)
  65. at org.python.core.PyTableCode.call(PyTableCode.java:165)
  66. at org.python.core.PyCode.call(PyCode.java:18)
  67. at org.python.core.imp.createFromCode(imp.java:386)
  68. at org.python.core.imp.createFromCode(imp.java:357)
  69. at org.python.core.Py.runMain(Py.java:964)
  70. at token$py.main(/home/joel/software/actinica/nutfield/tests/token.py)
  71.  
  72. java.lang.NullPointerException: java.lang.NullPointerException
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement