Я понял это.Скачал JavaCC и все скомпилировал.При односимвольном вводе выдается:
String: t
Length: 1
Call: parse
Call: body
Return: body
Return: parse
Exception in thread "main" ParseException: Encountered " <LETTER> "t "" at line
1, column 1.
Was expecting one of:
<EOF>
"[b]" ...
"[i]" ...
"[u]" ...
"[s]" ...
"[url]" ...
"[url=" ...
"[img]" ...
"[quote]" ...
"[code]" ...
"[color=" ...
"[br]" ...
<EOL> ...
<TEXT> ...
<TAGCHAR> ...
Я заметил, что он нашел токен <LETTER>
, но не распознал его как <TEXT>
.
,Вы объявили все как токены и, исходя из порядка определения токенов, строка "t"
- это сначала <LETTER>
, а не <TEXT>
.Переместите <LETTER>
токен после <TEXT>
, и теперь он должен работать.Вы захотите применить те же изменения для <DIGIT>
s и других подобных токенов.