Pergunta

Ao enviar um comando AT é normalmente terminado por \ r \ n, mas, na verdade, estes são realmente dois 'registar variáveis' S3 e S4.

Por padrão S3 == '\ r' e S4 == '\ n', mas o usuário pode alterar estes em tempo de execução com o comando ATSx =

Como posso lidar com isso no meu Antlr lexer / parser?

Cada comando tem a forma AT [parâmetros] S3S4, como posso lidar com isso, se o usuário altera o valor de S3 ou S4?

Agradecemos antecipadamente por qualquer ajuda ...

Foi útil?

Solução

Não, não há nenhuma opção para alterar dinamicamente lexer- ou parser em regras AFAIK. Claro, existem soluções alternativas possíveis, como re-criar o lexer / parser sobre a alteração das variáveis ??de registro, mas não vai ser bonito, eu acho ...


Editar

MAWG escreveu

re-criar o lexr & poarser (bem, lexer única, eu acho?) - você poderia leaborate em que

Reescrevendo o arquivo de gramática original (apenas as regras lexer, como você menciona corretamente) e recompilar-lo na mosca. Veja: http://java.sun.com/ JavaSE / 6 / docs / api / javax / ferramentas / JavaCompiler.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top