A análise de uma palavra reservada em Análise Expressivo de Gramática (PEG.js)

StackOverflow https://stackoverflow.com//questions/11712909

  •  13-12-2019
  •  | 
  •  

Pergunta

O semelhante pergunta e o site do autor me dar soluções como esta:

Identifier "identifier"
  = !ReservedWord [A-Za-z_]+

ReservedWord
  = "test"
  / "abc"

Esta solução não é possível analisar um identificador como este "test_var".

Neste exemplo, a gramática !ReservedWord será exclusivo todas as variáveis que começam com o "teste" ou "abc".

Obrigado antecipadamente.

Foi útil?

Solução

ReservedWord sucede, quando uma palavra reservada for concluído, independentemente do que se segue.Portanto, a solução é fazê-lo falhar quando há uma partida mais longa que inclui mais de identificador de caracteres:

Identifier "identifier"
  = !ReservedWord [A-Za-z_]+

ReservedWord
  = ( "test" / "abc" ) ![A-Za-z_]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top