Hello,
I got the following error while using Plex 1.1.4.1
D:\Python24\myfiles>python plex1.py
Traceback (most recent call last):
File "plex1.py", line 1, in ?
from Plex import *
File "D:\python24\lib\site-packages\Plex\__init__.py", line 34, in ?
from Lexicons import Lexicon, State
File "D:\python24\lib\site-packages\Plex\Lexicons.py", line 12, in ?
import DFA
File "D:\python24\lib\site-packages\Plex\DFA.py", line 9, in ?
import Machines
File "D:\python24\lib\site-packages\Plex\Machines.py", line 14, in ?
from Transitions import TransitionMap
File "D:\python24\lib\site-packages\Plex\Transitions.py", line 85
def get_epsilon(self,
SyntaxError: Invalid syntax. Assignment to None.
The corresponding source code :
#file plex1.py
from Plex import *
lexicon = Lexicon([
(Str("Python"), "my_favourite_language"),
(Str("Perl"), "the_other_language"),
(Str("rocks"), "is_excellent"),
(Str("sucks"), "is_differently_good"),
(Rep1(Any(" \t\n")), IGNORE)
])
filename = "plex1.txt"
f = open(filename, "r")
scanner = Scanner(lexicon, f, filename)
while 1:
token = scanner.read()
print token
if token[0] is None:
break
The error was removed when I used the following code in Transitions.py
def get_epsilon(self,
none = None):
"""
Return the mapping for epsilon, or None.
"""
return self.special.get('', None)
Regards,
Srijit