Почему в моем лексере IDTOKEN не работает?Python

Программы на Python
Ответить
Anonymous
 Почему в моем лексере IDTOKEN не работает?

Сообщение Anonymous »

У меня есть этот лексер:

Код: Выделить всё

# Generated from E:/Compiler/Project/QUPLA.g by ANTLR 4.13.2
from antlr4 import *
from io import StringIO
import sys
if sys.version_info[1] >  5 : < b r   / >         f r o m   t y p i n g   i m p o r t   T e x t I O < b r   / > e l s e : < b r   / >         f r o m   t y p i n g . i o   i m p o r t   T e x t I O < b r   / > < b r   / > < b r   / > d e f   s e r i a l i z e d A T N ( ) : < b r   / >         r e t u r n   [ < b r   / >                 4 , 0 , 4 6 , 3 3 9 , 6 , - 1 , 2 , 0 , 7 , 0 , 2 , 1 , 7 , 1 , 2 , 2 , 7 , 2 , 2 , 3 , 7 , 3 , 2 , 4 , 7 , 4 , 2 , 5 , 7 , 5 , < b r   / >                 2 , 6 , 7 , 6 , 2 , 7 , 7 , 7 , 2 , 8 , 7 , 8 , 2 , 9 , 7 , 9 , 2 , 1 0 , 7 , 1 0 , 2 , 1 1 , 7 , 1 1 , 2 , 1 2 , 7 , 1 2 , 2 , < b r   / >                 1 3 , 7 , 1 3 , 2 , 1 4 , 7 , 1 4 , 2 , 1 5 , 7 , 1 5 , 2 , 1 6 , 7 , 1 6 , 2 , 1 7 , 7 , 1 7 , 2 , 1 8 , 7 , 1 8 , 2 , 1 9 , 7 , < b r   / >                 1 9 , 2 , 2 0 , 7 , 2 0 , 2 , 2 1 , 7 , 2 1 , 2 , 2 2 , 7 , 2 2 , 2 , 2 3 , 7 , 2 3 , 2 , 2 4 , 7 , 2 4 , 2 , 2 5 , 7 , 2 5 , 2 , < b r   / >                 2 6 , 7 , 2 6 , 2 , 2 7 , 7 , 2 7 , 2 , 2 8 , 7 , 2 8 , 2 , 2 9 , 7 , 2 9 , 2 , 3 0 , 7 , 3 0 , 2 , 3 1 , 7 , 3 1 , 2 , 3 2 , 7 , < b r   / >                 3 2 , 2 , 3 3 , 7 , 3 3 , 2 , 3 4 , 7 , 3 4 , 2 , 3 5 , 7 , 3 5 , 2 , 3 6 , 7 , 3 6 , 2 , 3 7 , 7 , 3 7 , 2 , 3 8 , 7 , 3 8 , 2 , < b r   / >                 3 9 , 7 , 3 9 , 2 , 4 0 , 7 , 4 0 , 2 , 4 1 , 7 , 4 1 , 2 , 4 2 , 7 , 4 2 , 2 , 4 3 , 7 , 4 3 , 2 , 4 4 , 7 , 4 4 , 2 , 4 5 , 7 , < b r   / >                 4 5 , 1 , 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , < b r   / >                 2 , 1 , 2 , 1 , 3 , 1 , 3 , 1 , 3 , 1 , 4 , 1 , 4 , 1 , 4 , 1 , 4 , 1 , 4 , 1 , 5 , 1 , 5 , 1 , 5 , 1 , 5 , 1 , 5 , 1 , 6 , 1 , < b r   / >                 6 , 1 , 6 , 1 , 6 , 1 , 6 , 1 , 6 , 1 , 7 , 1 , 7 , 1 , 7 , 1 , 7 , 1 , 8 , 1 , 8 , 1 , 8 , 1 , 8 , 1 , 8 , 1 , 8 , 1 , 9 , 1 , < b r   / >                 9 , 1 , 9 , 1 , 9 , 1 , 9 , 1 , 1 0 , 1 , 1 0 , 1 , 1 0 , 1 , 1 0 , 1 , 1 0 , 1 , 1 0 , 1 , 1 1 , 1 , 1 1 , 1 , 1 1 , 1 , 1 1 , < b r   / >                 1 , 1 1 , 1 , 1 1 , 1 , 1 1 , 1 , 1 2 , 1 , 1 2 , 1 , 1 2 , 1 , 1 2 , 1 , 1 2 , 1 , 1 2 , 1 , 1 3 , 1 , 1 3 , 1 , 1 3 , 1 , 1 3 , < b r   / >                 1 , 1 3 , 1 , 1 3 , 1 , 1 3 , 1 , 1 4 , 1 , 1 4 , 1 , 1 4 , 1 , 1 4 , 1 , 1 4 , 1 , 1 4 , 1 , 1 4 , 1 , 1 5 , 1 , 1 5 , 1 , 1 5 , < b r   / >                 1 , 1 5 , 1 , 1 5 , 1 , 1 6 , 1 , 1 6 , 1 , 1 6 , 1 , 1 6 , 1 , 1 6 , 1 , 1 6 , 1 , 1 7 , 1 , 1 7 , 1 , 1 8 , 1 , 1 8 , 1 , 1 9 , < b r   / >                 1 , 1 9 , 1 , 2 0 , 1 , 2 0 , 1 , 2 1 , 1 , 2 1 , 1 , 2 2 , 1 , 2 2 , 1 , 2 3 , 1 , 2 3 , 1 , 2 4 , 1 , 2 4 , 1 , 2 5 , 1 , 2 5 , < b r   / >                 1 , 2 6 , 1 , 2 6 , 1 , 2 7 , 1 , 2 7 , 1 , 2 8 , 1 , 2 8 , 1 , 2 9 , 1 , 2 9 , 1 , 3 0 , 1 , 3 0 , 1 , 3 1 , 1 , 3 1 , 1 , 3 1 , < b r   / >                 1 , 3 2 , 1 , 3 2 , 1 , 3 3 , 1 , 3 3 , 1 , 3 4 , 1 , 3 4 , 1 , 3 4 , 1 , 3 5 , 1 , 3 5 , 1 , 3 5 , 1 , 3 6 , 1 , 3 6 , 1 , 3 6 , < b r   / >                 1 , 3 6 , 1 , 3 7 , 1 , 3 7 , 1 , 3 7 , 1 , 3 8 , 1 , 3 8 , 1 , 3 8 , 1 , 3 8 , 1 , 3 9 , 1 , 3 9 , 1 , 3 9 , 1 , 3 9 , 1 , 4 0 , < b r   / >                 1 , 4 0 , 1 , 4 0 , 1 , 4 0 , 1 , 4 1 , 3 , 4 1 , 2 5 0 , 8 , 4 1 , 1 , 4 1 , 1 , 4 1 , 1 , 4 1 , 1 , 4 1 , 4 , 4 1 , 2 5 6 , 8 , < b r   / >                 4 1 , 1 1 , 4 1 , 1 2 , 4 1 , 2 5 7 , 1 , 4 1 , 3 , 4 1 , 2 6 1 , 8 , 4 1 , 1 , 4 1 , 1 , 4 1 , 5 , 4 1 , 2 6 5 , 8 , 4 1 , 1 0 , < b r   / >                 4 1 , 1 2 , 4 1 , 2 6 8 , 9 , 4 1 , 1 , 4 1 , 1 , 4 1 , 3 , 4 1 , 2 7 2 , 8 , 4 1 , 1 , 4 1 , 4 , 4 1 , 2 7 5 , 8 , 4 1 , 1 1 , < b r   / >                 4 1 , 1 2 , 4 1 , 2 7 6 , 1 , 4 1 , 1 , 4 1 , 4 , 4 1 , 2 8 1 , 8 , 4 1 , 1 1 , 4 1 , 1 2 , 4 1 , 2 8 2 , 1 , 4 1 , 3 , 4 1 , 2 8 6 , < b r   / >                 8 , 4 1 , 1 , 4 1 , 1 , 4 1 , 1 , 4 1 , 4 , 4 1 , 2 9 1 , 8 , 4 1 , 1 1 , 4 1 , 1 2 , 4 1 , 2 9 2 , 3 , 4 1 , 2 9 5 , 8 , 4 1 , < b r   / >                 1 , 4 2 , 1 , 4 2 , 5 , 4 2 , 2 9 9 , 8 , 4 2 , 1 0 , 4 2 , 1 2 , 4 2 , 3 0 2 , 9 , 4 2 , 1 , 4 2 , 1 , 4 2 , 1 , 4 3 , 1 , 4 3 , < b r   / >                 1 , 4 3 , 1 , 4 3 , 5 , 4 3 , 3 1 0 , 8 , 4 3 , 1 0 , 4 3 , 1 2 , 4 3 , 3 1 3 , 9 , 4 3 , 1 , 4 3 , 1 , 4 3 , 1 , 4 4 , 1 , 4 4 , < b r   / >                 1 , 4 4 , 1 , 4 4 , 1 , 4 4 , 5 , 4 4 , 3 2 2 , 8 , 4 4 , 1 0 , 4 4 , 1 2 , 4 4 , 3 2 5 , 9 , 4 4 , 1 , 4 4 , 1 , 4 4 , 1 , 4 4 , < b r   / >                 1 , 4 4 , 1 , 4 4 , 1 , 4 4 , 1 , 4 5 , 4 , 4 5 , 3 3 4 , 8 , 4 5 , 1 1 , 4 5 , 1 2 , 4 5 , 3 3 5 , 1 , 4 5 , 1 , 4 5 , 1 , 3 2 3 , < b r   / >                 0 , 4 6 , 1 , 1 , 3 , 2 , 5 , 3 , 7 , 4 , 9 , 5 , 1 1 , 6 , 1 3 , 7 , 1 5 , 8 , 1 7 , 9 , 1 9 , 1 0 , 2 1 , 1 1 , 2 3 , 1 2 , 2 5 , < b r   / >                 1 3 , 2 7 , 1 4 , 2 9 , 1 5 , 3 1 , 1 6 , 3 3 , 1 7 , 3 5 , 1 8 , 3 7 , 1 9 , 3 9 , 2 0 , 4 1 , 2 1 , 4 3 , 2 2 , 4 5 , 2 3 , 4 7 , < b r   / >                 2 4 , 4 9 , 2 5 , 5 1 , 2 6 , 5 3 , 2 7 , 5 5 , 2 8 , 5 7 , 2 9 , 5 9 , 3 0 , 6 1 , 3 1 , 6 3 , 3 2 , 6 5 , 3 3 , 6 7 , 3 4 , 6 9 , < b r   / >                 3 5 , 7 1 , 3 6 , 7 3 , 3 7 , 7 5 , 3 8 , 7 7 , 3 9 , 7 9 , 4 0 , 8 1 , 4 1 , 8 3 , 4 2 , 8 5 , 4 3 , 8 7 , 4 4 , 8 9 , 4 5 , 9 1 , < b r   / >                 4 6 , 1 , 0 , 2 8 , 2 , 0 , 6 6 , 6 6 , 9 8 , 9 8 , 2 , 0 , 7 9 , 7 9 , 1 1 1 , 1 1 1 , 2 , 0 , 7 6 , 7 6 , 1 0 8 , 1 0 8 , 2 , < b r   / >                 0 , 8 2 , 8 2 , 1 1 4 , 1 1 4 , 2 , 0 , 6 9 , 6 9 , 1 0 1 , 1 0 1 , 2 , 0 , 6 5 , 6 5 , 9 7 , 9 7 , 2 , 0 , 8 3 , 8 3 , 1 1 5 , < b r   / >                 1 1 5 , 2 , 0 , 8 4 , 8 4 , 1 1 6 , 1 1 6 , 2 , 0 , 7 3 , 7 3 , 1 0 5 , 1 0 5 , 2 , 0 , 7 8 , 7 8 , 1 1 0 , 1 1 0 , 2 , 0 , 7 1 , < b r   / >                 7 1 , 1 0 3 , 1 0 3 , 2 , 0 , 7 0 , 7 0 , 1 0 2 , 1 0 2 , 2 , 0 , 7 2 , 7 2 , 1 0 4 , 1 0 4 , 2 , 0 , 8 7 , 8 7 , 1 1 9 , 1 1 9 , < b r   / >                 2 , 0 , 6 8 , 6 8 , 1 0 0 , 1 0 0 , 2 , 0 , 7 7 , 7 7 , 1 0 9 , 1 0 9 , 2 , 0 , 8 5 , 8 5 , 1 1 7 , 1 1 7 , 2 , 0 , 8 0 , 8 0 , < b r   / >                 1 1 2 , 1 1 2 , 2 , 0 , 8 8 , 8 8 , 1 2 0 , 1 2 0 , 2 , 0 , 6 5 , 9 0 , 9 7 , 1 2 2 , 3 , 0 , 4 8 , 5 7 , 6 5 , 9 0 , 9 7 , 1 2 2 , < b r   / >                 2 , 0 , 4 3 , 4 3 , 4 5 , 4 5 , 3 , 0 , 4 8 , 5 7 , 6 5 , 7 0 , 9 7 , 1 0 2 , 1 , 0 , 4 9 , 5 7 , 1 , 0 , 4 8 , 5 7 , 3 , 0 , 1 0 , < b r   / >                 1 0 , 1 3 , 1 3 , 3 4 , 3 4 , 2 , 0 , 1 0 , 1 0 , 1 3 , 1 3 , 3 , 0 , 9 , 1 0 , 1 3 , 1 3 , 3 2 , 3 2 , 3 5 5 , 0 , 1 , 1 , 0 , < b r   / >                 0 , 0 , 0 , 3 , 1 , 0 , 0 , 0 , 0 , 5 , 1 , 0 , 0 , 0 , 0 , 7 , 1 , 0 , 0 , 0 , 0 , 9 , 1 , 0 , 0 , 0 , 0 , 1 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 1 3 , 1 , 0 , 0 , 0 , 0 , 1 5 , 1 , 0 , 0 , 0 , 0 , 1 7 , 1 , 0 , 0 , 0 , 0 , 1 9 , 1 , 0 , 0 , 0 , 0 , 2 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 2 3 , 1 , 0 , 0 , 0 , 0 , 2 5 , 1 , 0 , 0 , 0 , 0 , 2 7 , 1 , 0 , 0 , 0 , 0 , 2 9 , 1 , 0 , 0 , 0 , 0 , 3 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 3 3 , 1 , 0 , 0 , 0 , 0 , 3 5 , 1 , 0 , 0 , 0 , 0 , 3 7 , 1 , 0 , 0 , 0 , 0 , 3 9 , 1 , 0 , 0 , 0 , 0 , 4 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 4 3 , 1 , 0 , 0 , 0 , 0 , 4 5 , 1 , 0 , 0 , 0 , 0 , 4 7 , 1 , 0 , 0 , 0 , 0 , 4 9 , 1 , 0 , 0 , 0 , 0 , 5 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 5 3 , 1 , 0 , 0 , 0 , 0 , 5 5 , 1 , 0 , 0 , 0 , 0 , 5 7 , 1 , 0 , 0 , 0 , 0 , 5 9 , 1 , 0 , 0 , 0 , 0 , 6 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 6 3 , 1 , 0 , 0 , 0 , 0 , 6 5 , 1 , 0 , 0 , 0 , 0 , 6 7 , 1 , 0 , 0 , 0 , 0 , 6 9 , 1 , 0 , 0 , 0 , 0 , 7 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 7 3 , 1 , 0 , 0 , 0 , 0 , 7 5 , 1 , 0 , 0 , 0 , 0 , 7 7 , 1 , 0 , 0 , 0 , 0 , 7 9 , 1 , 0 , 0 , 0 , 0 , 8 1 , 1 , 0 , 0 , 0 , < b r   / >                 0 , 8 3 , 1 , 0 , 0 , 0 , 0 , 8 5 , 1 , 0 , 0 , 0 , 0 , 8 7 , 1 , 0 , 0 , 0 , 0 , 8 9 , 1 , 0 , 0 , 0 , 0 , 9 1 , 1 , 0 , 0 , 0 , < b r   / >                 1 , 9 3 , 1 , 0 , 0 , 0 , 3 , 9 8 , 1 , 0 , 0 , 0 , 5 , 1 0 3 , 1 , 0 , 0 , 0 , 7 , 1 1 0 , 1 , 0 , 0 , 0 , 9 , 1 1 3 , 1 , 0 , < b r   / >                 0 , 0 , 1 1 , 1 1 8 , 1 , 0 , 0 , 0 , 1 3 , 1 2 3 , 1 , 0 , 0 , 0 , 1 5 , 1 2 9 , 1 , 0 , 0 , 0 , 1 7 , 1 3 3 , 1 , 0 , 0 , 0 , < b r   / >                 1 9 , 1 3 9 , 1 , 0 , 0 , 0 , 2 1 , 1 4 4 , 1 , 0 , 0 , 0 , 2 3 , 1 5 0 , 1 , 0 , 0 , 0 , 2 5 , 1 5 7 , 1 , 0 , 0 , 0 , 2 7 , 1 6 3 , < b r   / >                 1 , 0 , 0 , 0 , 2 9 , 1 7 0 , 1 , 0 , 0 , 0 , 3 1 , 1 7 7 , 1 , 0 , 0 , 0 , 3 3 , 1 8 2 , 1 , 0 , 0 , 0 , 3 5 , 1 8 8 , 1 , 0 , < b r   / >                 0 , 0 , 3 7 , 1 9 0 , 1 , 0 , 0 , 0 , 3 9 , 1 9 2 , 1 , 0 , 0 , 0 , 4 1 , 1 9 4 , 1 , 0 , 0 , 0 , 4 3 , 1 9 6 , 1 , 0 , 0 , 0 , < b r   / >                 4 5 , 1 9 8 , 1 , 0 , 0 , 0 , 4 7 , 2 0 0 , 1 , 0 , 0 , 0 , 4 9 , 2 0 2 , 1 , 0 , 0 , 0 , 5 1 , 2 0 4 , 1 , 0 , 0 , 0 , 5 3 , 2 0 6 , < b r   / >                 1 , 0 , 0 , 0 , 5 5 , 2 0 8 , 1 , 0 , 0 , 0 , 5 7 , 2 1 0 , 1 , 0 , 0 , 0 , 5 9 , 2 1 2 , 1 , 0 , 0 , 0 , 6 1 , 2 1 4 , 1 , 0 , < b r   / >                 0 , 0 , 6 3 , 2 1 6 , 1 , 0 , 0 , 0 , 6 5 , 2 1 9 , 1 , 0 , 0 , 0 , 6 7 , 2 2 1 , 1 , 0 , 0 , 0 , 6 9 , 2 2 3 , 1 , 0 , 0 , 0 , < b r   / >                 7 1 , 2 2 6 , 1 , 0 , 0 , 0 , 7 3 , 2 2 9 , 1 , 0 , 0 , 0 , 7 5 , 2 3 3 , 1 , 0 , 0 , 0 , 7 7 , 2 3 6 , 1 , 0 , 0 , 0 , 7 9 , 2 4 0 , < b r   / >                 1 , 0 , 0 , 0 , 8 1 , 2 4 4 , 1 , 0 , 0 , 0 , 8 3 , 2 9 4 , 1 , 0 , 0 , 0 , 8 5 , 2 9 6 , 1 , 0 , 0 , 0 , 8 7 , 3 0 5 , 1 , 0 , < b r   / >                 0 , 0 , 8 9 , 3 1 6 , 1 , 0 , 0 , 0 , 9 1 , 3 3 3 , 1 , 0 , 0 , 0 , 9 3 , 9 4 , 7 , 0 , 0 , 0 , 9 4 , 9 5 , 7 , 1 , 0 , 0 , 9 5 , < b r   / >                 9 6 , 7 , 1 , 0 , 0 , 9 6 , 9 7 , 7 , 2 , 0 , 0 , 9 7 , 2 , 1 , 0 , 0 , 0 , 9 8 , 9 9 , 7 , 3 , 0 , 0 , 9 9 , 1 0 0 , 7 , 4 , 0 , < b r   / >                 0 , 1 0 0 , 1 0 1 , 7 , 5 , 0 , 0 , 1 0 1 , 1 0 2 , 7 , 2 , 0 , 0 , 1 0 2 , 4 , 1 , 0 , 0 , 0 , 1 0 3 , 1 0 4 , 7 , 6 , 0 , 0 , < b r   / >                 1 0 4 , 1 0 5 , 7 , 7 , 0 , 0 , 1 0 5 , 1 0 6 , 7 , 3 , 0 , 0 , 1 0 6 , 1 0 7 , 7 , 8 , 0 , 0 , 1 0 7 , 1 0 8 , 7 , 9 , 0 , 0 , < b r   / >                 1 0 8 , 1 0 9 , 7 , 1 0 , 0 , 0 , 1 0 9 , 6 , 1 , 0 , 0 , 0 , 1 1 0 , 1 1 1 , 7 , 8 , 0 , 0 , 1 1 1 , 1 1 2 , 7 , 1 1 , 0 , 0 , < b r   / >                 1 1 2 , 8 , 1 , 0 , 0 , 0 , 1 1 3 , 1 1 4 , 7 , 4 , 0 , 0 , 1 1 4 , 115,7,2,0,0,115,116,7,6,0,0,116,
117,7,4,0,0,117,10,1,0,0,0,118,119,7,7,0,0,119,120,7,12,0,0,120,
121,7,4,0,0,121,122,7,9,0,0,122,12,1,0,0,0,123,124,7,13,0,0,124,
125,7,12,0,0,125,126,7,8,0,0,126,127,7,2,0,0,127,128,7,4,0,0,128,
14,1,0,0,0,129,130,7,4,0,0,130,131,7,9,0,0,131,132,7,14,0,0,132,
16,1,0,0,0,133,134,7,0,0,0,134,135,7,4,0,0,135,136,7,10,0,0,136,
137,7,8,0,0,137,138,7,9,0,0,138,18,1,0,0,0,139,140,7,3,0,0,140,141,
7,4,0,0,141,142,7,5,0,0,142,143,7,14,0,0,143,20,1,0,0,0,144,145,
7,13,0,0,145,146,7,3,0,0,146,147,7,8,0,0,147,148,7,7,0,0,148,149,
7,4,0,0,149,22,1,0,0,0,150,151,7,15,0,0,151,152,7,1,0,0,152,153,
7,14,0,0,153,154,7,16,0,0,154,155,7,2,0,0,155,156,7,4,0,0,156,24,
1,0,0,0,157,158,7,8,0,0,158,159,7,9,0,0,159,160,7,17,0,0,160,161,
7,16,0,0,161,162,7,7,0,0,162,26,1,0,0,0,163,164,7,1,0,0,164,165,
7,16,0,0,165,166,7,7,0,0,166,167,7,17,0,0,167,168,7,16,0,0,168,169,
7,7,0,0,169,28,1,0,0,0,170,171,7,3,0,0,171,172,7,4,0,0,172,173,7,
7,0,0,173,174,7,16,0,0,174,175,7,3,0,0,175,176,7,9,0,0,176,30,1,
0,0,0,177,178,7,7,0,0,178,179,7,3,0,0,179,180,7,16,0,0,180,181,7,
4,0,0,181,32,1,0,0,0,182,183,7,11,0,0,183,184,7,5,0,0,184,185,7,
2,0,0,185,186,7,6,0,0,186,187,7,4,0,0,187,34,1,0,0,0,188,189,5,59,
0,0,189,36,1,0,0,0,190,191,5,58,0,0,191,38,1,0,0,0,192,193,5,44,
0,0,193,40,1,0,0,0,194,195,5,40,0,0,195,42,1,0,0,0,196,197,5,41,
0,0,197,44,1,0,0,0,198,199,5,46,0,0,199,46,1,0,0,0,200,201,5,43,
0,0,201,48,1,0,0,0,202,203,5,45,0,0,203,50,1,0,0,0,204,205,5,42,
0,0,205,52,1,0,0,0,206,207,5,47,0,0,207,54,1,0,0,0,208,209,5,94,
0,0,209,56,1,0,0,0,210,211,5,33,0,0,211,58,1,0,0,0,212,213,5,37,
0,0,213,60,1,0,0,0,214,215,5,61,0,0,215,62,1,0,0,0,216,217,5,60,
0,0,217,218,5,62,0,0,218,64,1,0,0,0,219,220,5,60,0,0,220,66,1,0,
0,0,221,222,5,62,0,0,222,68,1,0,0,0,223,224,5,61,0,0,224,225,5,62,
0,0,225,70,1,0,0,0,226,227,5,61,0,0,227,228,5,60,0,0,228,72,1,0,
0,0,229,230,7,5,0,0,230,231,7,9,0,0,231,232,7,14,0,0,232,74,1,0,
0,0,233,234,7,1,0,0,234,235,7,3,0,0,235,76,1,0,0,0,236,237,7,9,0,
0,237,238,7,1,0,0,238,239,7,7,0,0,239,78,1,0,0,0,240,241,7,18,0,
0,241,242,7,1,0,0,242,243,7,3,0,0,243,80,1,0,0,0,244,245,7,19,0,
0,245,246,7,20,0,0,246,247,6,40,0,0,247,82,1,0,0,0,248,250,7,21,
0,0,249,248,1,0,0,0,249,250,1,0,0,0,250,251,1,0,0,0,251,252,5,48,
0,0,252,253,5,120,0,0,253,255,1,0,0,0,254,256,7,22,0,0,255,254,1,
0,0,0,256,257,1,0,0,0,257,255,1,0,0,0,257,258,1,0,0,0,258,295,1,
0,0,0,259,261,7,21,0,0,260,259,1,0,0,0,260,261,1,0,0,0,261,262,1,
0,0,0,262,266,7,23,0,0,263,265,7,24,0,0,264,263,1,0,0,0,265,268,
1,0,0,0,266,264,1,0,0,0,266,267,1,0,0,0,267,295,1,0,0,0,268,266,
1,0,0,0,269,295,5,48,0,0,270,272,7,21,0,0,271,270,1,0,0,0,271,272,
1,0,0,0,272,274,1,0,0,0,273,275,7,24,0,0,274,273,1,0,0,0,275,276,
1,0,0,0,276,274,1,0,0,0,276,277,1,0,0,0,277,278,1,0,0,0,278,280,
5,46,0,0,279,281,7,24,0,0,280,279,1,0,0,0,281,282,1,0,0,0,282,280,
1,0,0,0,282,283,1,0,0,0,283,295,1,0,0,0,284,286,7,21,0,0,285,284,
1,0,0,0,285,286,1,0,0,0,286,287,1,0,0,0,287,288,5,48,0,0,288,290,
5,46,0,0,289,291,7,24,0,0,290,289,1,0,0,0,291,292,1,0,0,0,292,290,
1,0,0,0,292,293,1,0,0,0,293,295,1,0,0,0,294,249,1,0,0,0,294,260,
1,0,0,0,294,269,1,0,0,0,294,271,1,0,0,0,294,285,1,0,0,0,295,84,1,
0,0,0,296,300,5,34,0,0,297,299,8,25,0,0,298,297,1,0,0,0,299,302,
1,0,0,0,300,298,1,0,0,0,300,301,1,0,0,0,301,303,1,0,0,0,302,300,
1,0,0,0,303,304,5,34,0,0,304,86,1,0,0,0,305,306,5,37,0,0,306,307,
5,37,0,0,307,311,1,0,0,0,308,310,8,26,0,0,309,308,1,0,0,0,310,313,
1,0,0,0,311,309,1,0,0,0,311,312,1,0,0,0,312,314,1,0,0,0,313,311,
1,0,0,0,314,315,6,43,1,0,315,88,1,0,0,0,316,317,5,37,0,0,317,318,
5,37,0,0,318,319,5,37,0,0,319,323,1,0,0,0,320,322,9,0,0,0,321,320,
1,0,0,0,322,325,1,0,0,0,323,324,1,0,0,0,323,321,1,0,0,0,324,326,
1,0,0,0,325,323,1,0,0,0,326,327,5,37,0,0,327,328,5,37,0,0,328,329,
5,37,0,0,329,330,1,0,0,0,330,331,6,44,1,0,331,90,1,0,0,0,332,334,
7,27,0,0,333,332,1,0,0,0,334,335,1,0,0,0,335,333,1,0,0,0,335,336,
1,0,0,0,336,337,1,0,0,0,337,338,6,45,1,0,338,92,1,0,0,0,15,0,249,
257,260,266,271,276,282,285,292,294,300,311,323,335,2,1,40,0,6,0,
0
]

class QUPLA(Lexer):

atn = ATNDeserializer().deserialize(serializedATN())

decisionsToDFA = [ DFA(ds,  i) for i, ds in enumerate(atn.decisionToState) ]

BOOL = 1
REAL = 2
STRING = 3
IF = 4
ELSE = 5
THEN = 6
WHILE = 7
END = 8
BEGIN = 9
READ = 10
WRITE = 11
MODULE = 12
INPUT = 13
OUTPUT = 14
RETURN = 15
TRUE = 16
FALSE = 17
SEMI = 18
COLON = 19
COMMA = 20
LPAREN = 21
RPAREN = 22
DOT = 23
PLUS = 24
MINUS = 25
MULT = 26
DIV = 27
POW = 28
FACT = 29
MOD = 30
EQ = 31
NEQ = 32
LT = 33
GT = 34
GEQ = 35
LEQ = 36
AND = 37
OR = 38
NOT = 39
XOR = 40
IDTOKEN = 41
NUM_LITERAL = 42
STRING_CONST = 43
LINE_COMMENT = 44
BLOCK_COMMENT = 45
SKIPPED = 46

channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ]

modeNames = [ "DEFAULT_MODE" ]

literalNames = [ "",
"';'", "':'", "','", "'('", "')'", "'.'", "'+'", "'-'", "'*'",
"'/'", "'^'", "'!'", "'%'", "'='", "''", "''", "'=>'",
"'=';
LEQ     : '= skip;
BLOCK_COMMENT : '%%%' .*? '%%%' -> skip;

// Skipping Whitespace
SKIPPED : [ \t\r\n]+ -> skip;


и следующий ввод:

Код: Выделить всё

%%%This is a sample Written in QUPLA $
@The program compute fibonacci serie%%%
module func
input:
X:real;
output:real;
begin
if x> 0 then
begin
return Func(x-1)+func(x-2);
end
return 1;
end
%% This is the main module &%*&()
module main
begin
i:real;
i=20;
write(func(i));
end
но из токенизатора я получаю следующее:

Код: Выделить всё

line 5:1 token recognition error at: 'X:'
line 8:4 token recognition error at: 'x>'
line 10:14 token recognition error at: 'x-'
line 10:24 token recognition error at: 'x-'
line 17:1 token recognition error at: 'i:'
line 18:1 token recognition error at: 'i='
line 19:12 token recognition error at: 'i)'
Token Name: MODULE       | Token: 'module'
Token Name: IDTOKEN      | Token: 'fu'
Token Name: IDTOKEN      | Token: 'nc'
Token Name: INPUT        | Token: 'input'
Token Name: COLON        | Token: ':'
Token Name: REAL         | Token: 'real'
Token Name: SEMI         | Token: ';'
and .....
У него есть две основные проблемы. Во-первых, он не может токенизировать идентификаторы длиной более двух символов, например:

Код: Выделить всё

Token Name: IDTOKEN      | Token: 'fu'
Token Name: IDTOKEN      | Token: 'nc'
в то время как func — это один идентификатор, а не буксировка.
Во-вторых, он не распознает токены, за которыми следует оператор или разделитель, например:< /p>

Код: Выделить всё

 line 5:1 token recognition error at: 'X:'
line 8:4 token recognition error at: 'x>'
Как исправить мою грамматику, чтобы устранить эти проблемы? Я попробовал все, что пришло мне в голову.

Подробнее здесь: https://stackoverflow.com/questions/792 ... rking-well
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»