0

好吧,我正在使用 lex 来查找令牌。我想获取令牌类之后的标识符令牌的值,我该怎么做。

例如,我的函数应该在类标记之后返回标识符。有什么办法吗?

lex 生成的词法标记如下所示:-

     LexToken(SEMICOLON,';',15,125)
     LexToken(RETURN,'return',16,127)
     LexToken(SEMICOLON,';',16,134)
     LexToken(RCURLY,'}',17,136)
     LexToken(CLASS,'class',20,140)
     LexToken(IDENTIFIER,'animal',20,146)

在将此令牌流作为函数的输入之后,它应该返回“动物”,因为它是“类”令牌之后的令牌“标识符”的值。

4

1 回答 1

1
while True:
    tok = lexer.token()
    if not tok: break      # No more input
    print tok.type, tok.value, tok.line, tok.lexpos 
if flag==1:
   flag=0
   print tok.value       # here u get the value.
if tok.type=='CLASS':
    flag=1
于 2013-04-30T06:38:34.553 回答