ANTLR en un flujo de datos ruidoso
Soy muy nuevo en el mundo ANTLR y estoy tratando de descubrir cómo puedo usar esta herramienta de análisis para interpretar un conjunto de cadenas "ruidosas". Lo que me gustaría lograr es lo siguiente.
Tomemos por ejemplo esta frase:It's 10PM and the Lazy CAT is currently SLEEPING heavily on the SOFA in front of the TV
Lo que me gustaría extraer esCAT
, SLEEPING
ySOFA
y tener una gramática que coincida fácilmente con el siguiente patrón: SUJETO - VERBO - OBJETO INDIRECTO ... donde podría definirVERB : 'SLEEPING' | 'WALKING';
SUBJECT : 'CAT'|'DOG'|'BIRD';
INDIRECT_OBJECT : 'CAR'| 'SOFA';
etc. No quiero terminar con una "NoViableException" permanente ya que no puedo describir todas las posibilidades en torno a la estructura del lenguaje. Solo quiero separar palabras inútiles y mantener las que son interesantes.
Es más como si tuviera un tokeniser y le preguntara al analizador "Ok, lea la transmisión hasta que encuentre un SUJETO, luego ignore el resto hasta que encuentre un VERBO, etc."
Necesito extraer una estructura organizada en un conjunto no organizado ... Por ejemplo, me gustaría poder interpretar (no estoy juzgando la pertinencia de esta visión completamente básica e incorrecta de la 'gramática inglesa')SUBJECT - VERB - INDIRECT OBJECT
INDIRECT OBJECT - SUBJECT - VERB
así que analizaré oraciones comoIt's 10PM and the Lazy CAT is currently SLEEPING heavily on the SOFA in front of the TV
oIt's 10PM and, on the SOFA in front of the TV, the Lazy CAT is currently SLEEPING heavily