Ich habe eine SQL-2003 ANTLR4 Grammatik für das Projekt DeveelDB entwickelt: Dies definiert die wichtigsten SQL-Anweisungen für seine grundlegenden Funktionen.Überschreiben Sie eine Regel in ANTLR4 Grammatik
Wir entwickeln jedoch auch eine Reihe externer Bibliotheken, um die Funktionen der Datenbank zu erweitern: zum Beispiel a XML module, die die Analyse von XML-Daten einer Spalte oder a Open-GIS SFS module unterstützt, um räumliche Operationen zu unterstützen.
Angesichts der Architektur des Systems ist es einfach, alle Operationen mit Systemfunktionen zu erledigen, die bei der Systemerstellung registriert sind, und der SQL-Parser kann damit reibungslos arbeiten.
Meine Frage betrifft die Möglichkeit, eine neue ANTLR4-Grammatik zu definieren, die von der vorhandenen SQL-Grammatik im Hauptprojekt ableitet und einzelne Regeln neu definiert, um merkmalspezifische Befehle einzuschließen, anstatt sie in der Hauptgrammatik zu definieren Kopieren und fügen Sie die .g4-Grammatik in das Modulprojekt ein und definieren Sie die Regeln direkt dort neu.
Vielen Dank für Anregungen!
Danke: das beantworte meine Frage. Ich werde das ausprobieren. In der Tat, ich verwende bereits Grammatikvererbung und Lexer-Import, aber ich habe nie versucht, eine Regel zu überschreiben – Antonello
Sie sind willkommen, lassen Sie mich wissen, wenn (wenn es funktioniert). – cantSleepNow