我將ply用作我的lex解析器。我的規格如下:Ply Lex解析問題
t_WHILE = r'while'
t_THEN = r'then'
t_ID = r'[a-zA-Z_][a-zA-Z0-9_]*'
t_NUMBER = r'\d+'
t_LESSEQUAL = r'<='
t_ASSIGN = r'='
t_ignore = r' \t'
當我嘗試解析以下字符串:
"while n <= 0 then h = 1"
它提供了以下的輸出:
LexToken(ID,'while',1,0)
LexToken(ID,'n',1,6)
LexToken(LESSEQUAL,'<=',1,8)
LexToken(NUMBER,'0',1,11)
LexToken(ID,'hen',1,14) ------> PROBLEM!
LexToken(ID,'h',1,18)
LexToken(ASSIGN,'=',1,20)
LexToken(NUMBER,'1',1,22)
它不那麼識別令牌,相反,它需要「母雞」作爲標識符。
任何想法?
好的,我發現了這個問題。 – Karan 2011-02-16 21:36:42