Quando I actualizado a partir do Antlr 3 a Antlr 4, eu removidos todos os predicados sintáticos na gramática. Mas quando eu mudei, eu estou recebendo um erro como mencionado no título.
Este é o código alterado
NUMBER
:(
'0'..'9' ('.' '0'..'9'+)?
| '.' '0'..'9'+
)
(
E
(
M { $type = EMS; }
| X { $type = EXS; }
)
| P
(
X
| T
| C
)
{ $type = LENGTH; }
| C M { $type = LENGTH; }
| M
(
M { $type = LENGTH; }
| S { $type = TIME; }
)
| I N { $type = LENGTH; }
| D E G { $type = ANGLE; }
| R A D { $type = ANGLE; }
| S { $type = TIME; }
| K? H Z { $type = FREQ; }
| IDENT { $type = DIMENSION; }
| '%' { $type = PERCENTAGE; }
| // Just a number
)
;
Este é o erro que eu estou recebendo.

Eu vi uma resposta para esta pergunta here. Mas eu era incapaz de compreender o que significava. Por favor me dê alguma orientação.
EDITAR:
Mesmo erro aparece aqui na gramática.
fragment INVALID :;
STRING : '\'' ( ~('\n'|'\r'|'\f'|'\'') )*
(
'\''
| { $type = INVALID; }
)
| '' ( ~('\n'|'\r'|'\f'|'') )*
(
''
| { $type = INVALID; }
)
;
Eu era incapaz de mudar isso para ANTLR 4. O que é novo neste código? Por favor me dê uma solução rápida para isso.













