Eu quero escrever uma regra para analisar uma string dentro de aspas. Quero permitir que qualquer personagem, com a única condição de que deve haver um personagem \ linha de continuação, ao dividir a string em várias linhas.
Exemplo:
variable = first line \n second line \
still second line \n \
third line
Se o caractere de continuação não é encontrado antes de um caractere de nova linha for encontrado, eu quero o analisador para vomitar.
Minha regra atual é a seguinte:
STRING : '' (ESC|.)*? '';
fragment ESC : '\\' [btnr\\] ;
Então, eu estou permitindo que a corda para conter qualquer caractere, incluindo bando de seqüências de escape. Mas eu não estou realmente impor essa caractere de continuação de linha \ é uma necessidade para texto divisão.
Como posso fazer a gramática impor essa regra?













