YAPPS2.

Ein einfach zu bedienender Parsergenerator, der humanlesbarer Python-Code erzeugt
Jetzt downloaden

YAPPS2. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • MIT/X Consortium Lic...
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Amit Patel
  • Website des Verlags:
  • http://theory.stanford.edu/~amitp/yapps/

YAPPS2. Stichworte


YAPPS2. Beschreibung

Ein einfach zu bedienender Parsergenerator, der einen menschenlesbaren Python-Code erzeugt YAPPS (Noch ein weiteres Python-Parser-System) ist ein einfach zu bedienender Parsergenerator, der in Python geschrieben ist und Python-Code generiert. YAPPS2 ist einfach, ist einfach zu bedienen und produziert human-lesbare Parser. Es ist nicht schnell, kraftvoll oder besonders flexibel. YAPApps ist so konzipiert, dass reguläre Ausdrücke nicht ausreichend sind und andere Parsersysteme zu viel sind - Situationen, in denen Sie Ihren eigenen rekursiven Abstiegsparser schreiben können. Einige ungewöhnliche Merkmale von YAPPs, die von Interesse sein können, sind: 1. YAPPS produziert Human- lesbare rekursive Abstiegsparser. Es gibt mehrere Heuristiken, um den erzeugten Code einfach zu halten. 2. YAPPS produziert kontextsensitive Scanner, die Token auf der Grundlage der Art der vom Parser akzeptierten Token auswählen. In einigen Situationen ist das Token-Matching mehrdeutig, es sei denn, der Kontext wird berücksichtigt. 3. YAPPS-Regeln können Argumente bis zu Sendungen bestehen, sodass Subuls Informationen (z. B. Erklärungen) verwenden können, die auf höheren Ebenen im Analyseprozess analysiert wurden. Diese werden manchmal genannt Attributgrammern genannt. Es gibt mehrere Nachteile der Verwendung von YAPPS über ein anderes Parsersystem: 1. YAPPS-Parsers sind ll (1), was bei der Parsing-Leistung weniger leistungsstark ist als Lalr oder SLR. Es gibt einige Unannehmlichkeiten, die mit LL (1) (z. B. das Fehlen von Bedienereignamen) zu tun haben, die zu expliziteren Grammatiken führen. 2. Der YAPPS-Scanner kann nur von Zeichenfolgen, nicht aus Dateien, lesen, sodass möglicherweise nicht nützlich ist, wenn Ihre Eingabe groß ist. Es ist jedoch möglich, einen benutzerdefinierten Scanner für Ihre Anwendung zu schreiben. (Hinweis: Die verbesserte Version von YAPPS in Debian kann aus Dateien lesen.) 3. YAPPS ist nicht mit Effizienz konstruiert. Es ist nicht der schnellste Parser verfügbar (auch nicht das langsamste). Anforderungen: · Python


YAPPS2. Zugehörige Software