Ratti!

Rats! È un generatore di parser facilmente estensibile per le lingue di C-simile.
Scarica ora

Ratti! Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • LGPL
  • Prezzo:
  • FREE
  • Nome editore:
  • Robert Grimm
  • Sito web dell'editore:
  • http://www.cs.nyu.edu/rgrimm/xtc/rats.html

Ratti! Tag


Ratti! Descrizione

Ratti! È un generatore di parser facilmente estensibile per le lingue di C-simile. Ratti! è un generatore di parser facilmente estensibile per le lingue di C-simile; Sebbene attualmente genera solo parser in Java. Ratti! Il progetto è stato progettato esplicitamente in modo che le grammatiche siano concise e facilmente modificabili. A tal fine, ratti!? Organizza grammatiche in moduli,? Build on Parsing Expressioni Grammax invece di grammatiche senza contesto e vintagrates Lexing con analisi, I.e., è senza scansione,? Supporta la generazione automatica di alberi di sintassi astratti,? e fornisce un'interfaccia ben definita per l'estensione dei parser per riconoscere lingue sensibili al contesto e formati.Parser generati da ratti! Memorizzare i risultati intermedi, che garantisce prestazioni temporali lineari in presenza di lookahead illimitato e backtracking. Di conseguenza, sono essenzialmente funzionali (anche se sono implementati in un linguaggio imperativo) e chiamato anche "Packrat Parsers". Ecco alcune caratteristiche chiave di "Rats!": · Ratti! Si basa su un sistema di moduli per strutturare grammatiche e le loro estensioni. In particolare, si basa sui moduli alle produzioni relative al gruppo in unità separate. Successivamente, le modifiche del modulo esprimono concisamente estensioni ad altri moduli e possono aggiungere, modificare o rimuovere singole alternative in produzione. Infine, i parametri del modulo vengono utilizzati per comporre moduli e le loro estensioni l'una con l'altra. · Rats! ' Le grammatiche si sviluppano sulle grammatiche di espressione analizzate (pioli). Mentre i pioli condividono molti costrutti con la notazione eBnf familiare, una differenza chiave è che utilizzano scelte ordinate anziché le scelte non ordinate utilizzate da grammatiche senza contesto (CFG) e altri generatori di parser, come YACC o ANLR. Di conseguenza, Ratti! Le grammatiche evitano ambiguità e supportano cambiamenti localizzati. La flessibilità aggiuntiva è offerta attraverso predicati sintattici, che corrispondono alle espressioni ma non consumano l'input, fornendo così lookahead illimitato e attraverso l'integrazione di lexing con l'analisi, che semplifica notevolmente l'aggiunta di nuovi token a una grammatica. I pioli hanno il beneficio aggiuntivo che non sono solo chiusi sotto composizione (a differenza dei grammatiche LR o LL utilizzati da Yacc e ANLR), ma anche intersezione e complemento (a differenza dei CFG in generale). · Eliminare la necessità di azioni semantiche esplicite, ratti! può generare automaticamente alberi di sintassi astratti. In particolare, supporta produzioni che non restituiscono valori semantici (come quelli che riconoscono spazi o commenti), valori di stringa (come quelli che riconoscono i letterali o identificatori) e i nodi dell'albero generici (potenzialmente tutte le altre produzioni). · Poiché alcuni formati leggibili da computer sono inerentemente sensibili al contesto e non possono essere espressi come pioli (o cfgs), ratti! Supporta due tecniche per la gestione del contesto o dello stato del parser, fornendo così un'interfaccia ben definita per estendere i parser. Primo, Ratti! Fornisce alle azioni del parser per riconoscere le espressioni che dipendono dal contesto locale, cioè espressioni che dipendono dalle espressioni immediatamente precedenti all'interno della stessa produzione. Un esempio per tale contesto locale è una lunghezza esplicita che precede il maggior numero di istanze di qualche espressione. Secondo, Ratti! Supporta un oggetto Stato globale per riconoscere le espressioni che dipendono dal contesto possibilmente globale. Le modifiche dello stato vengono eseguite all'interno delle transazioni leggere, che preservano la natura fondamentalmente funzionale dei ratti! - Parsergers Generato. Un esempio per un contesto globale è la tabella dei simboli utilizzata per disattivare le variabili e i nomi di TypeDef quando si analizza C. Cosa c'è di nuovo in questa versione: · Questa versione migliora il reporting degli errori da parte di parser generati e corregge un bug di generazione di codice.


Ratti! Software correlato

Makl.

Un quadro semplice e leggero per la creazione di progetti multipiattaforma C, puramente basati su Bourne Shell e GNU Make. ...

176

Scarica

Purebasic.

Un nuovo linguaggio di programmazione "alto livello" in base alle regole di base stabilite. ...

221

Scarica