Análisis de una palabra reservada al analizar la gramática expresiva (PEG.JS)

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

  •  13-12-2019
  •  | 
  •  

Pregunta

The Pregunta similar y el Sitio web del autor Dame soluciones como esta:

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

ReservedWord
  = "test"
  / "abc"

Esta solución no puede analizar un identificador como este "test_var".

En este ejemplo, la gramática! Reservedword se excluyerá todas las variables que comenzarán con "Prueba" o "ABC".

gracias de antemano.

¿Fue útil?

Solución

ReservedWord tiene éxito, cuando se completa una palabra reservada, independientemente de lo que siga.Por lo tanto, la solución es hacer que falle cuando haya una coincidencia más larga que incluye caracteres más identificadores:

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

ReservedWord
  = ( "test" / "abc" ) ![A-Za-z_]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top