Ratten!

Ratten! is een gemakkelijk uitbreidbare parser-generator voor C-achtige talen.
Download nu

Ratten! Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • LGPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Robert Grimm
  • Uitgever website:
  • http://www.cs.nyu.edu/rgrimm/xtc/rats.html

Ratten! Tags


Ratten! Beschrijving

Ratten! is een gemakkelijk uitbreidbare parser-generator voor C-achtige talen. Ratten! is een gemakkelijk uitbreidbare parser-generator voor C-achtige talen; Momenteel genereert het alleen parsers in Java. Ratten! Project is expliciet ontworpen, zodat grammatica's beknopt zijn en gemakkelijk te wijzen zijn. Daartoe, ratten!? organiseert grammatica's in modules,? Bouwt op parserende expressie-grammatica in plaats van contextvrije grammatica's en vinegratten lexing met parsering, d.w.z. is scannerloos? Ondersteunt de automatische generatie abstracte syntaxstaten,? en biedt een goed gedefinieerde interface voor het uitbreiden van parsers om contextgevoelige talen en formaat te herkennen. Parsers gegenereerd door ratten! Memoize intermediaire resultaten, die ervoor zorgt dat lineaire tijdprestaties in aanwezigheid van onbeperkte lookahead en backtracking. Dientengevolge zijn ze in wezen functioneel (hoewel ze in een imperatieve taal worden geïmplementeerd) en ook wel "Packrat-parsers" genoemd. Hier zijn enkele belangrijke kenmerken van "ratten!": · Ratten! vertrouwt op een module-systeem om grammatica's en hun extensies te structureren. In het bijzonder vertrouwt het op modules om gerelateerde producties in afzonderlijke eenheden te groeperen. Volgende Module-modificaties bedenken bondig extensies aan andere modules en kunnen ze individuele alternatieven in producties toevoegen, wijzigen of verwijderen. Ten slotte worden moduleparameters gebruikt om modules en hun extensies met elkaar samen te stellen. · Ratten! ' Grammars bouwen op parserende expressie-grammatica (pinnen). Terwijl Pegs veel constructies delen met de bekende EBNF-notatie, is een belangrijk verschil dat ze bestelde keuzes gebruiken in plaats van de ongeordende keuzes die worden gebruikt door contextvrije grammatica (CFGS) en andere parser-generatoren, zoals YACC of ANTLR. Als gevolg hiervan, ratten! Grammels vermijden onduidelijkheden en ondersteunen gelokaliseerde wijzigingen. Extra flexibiliteit wordt aangeboden via syntactische predikaten, die overeenkomen met uitdrukkingen, maar niet de input verbruiken, waardoor onbeperkte lookahead en door de integratie van lexing met parsering, wat de toevoeging van nieuwe tokens aan een grammatica aanzienlijk vereenvoudigt. Pegs hebben het extra voordeel dat ze niet alleen worden gesloten in samenstelling (in tegenstelling tot de LR of LL-grammatica die wordt gebruikt door YACC en ANTLR), maar ook kruising en aanvulling (in tegenstelling tot CFGS in het algemeen). · Om de behoefte aan expliciete semantische acties, ratten te elimineren! kan abstracte syntaxisbomen automatisch genereren. In het bijzonder ondersteunt het producties die geen semantische waarden retourneren (zoals die welke spaties of opmerkingen herkennen), stringwaarden (zoals die erkent de literaties of identificaties) en generieke boomknooppunten (potentieel alle andere producties). · Omdat sommige computer-leesbare formaten inherent context-gevoelig zijn en niet kunnen worden uitgedrukt als pinnen (of CFGS), ratten! Ondersteunt twee technieken voor het beheren van parser-context of -staat, waardoor een goed gedefinieerde interface wordt verschaft voor het uitbreiden van parsers. Eerste ratten! Biedt parseracties om uitdrukkingen te herkennen die afhankelijk zijn van de lokale context, d.w.z. uitdrukkingen die afhankelijk zijn van onmiddellijk voorafgaande uitdrukkingen binnen dezelfde productie. Een voorbeeld voor een dergelijke lokale context is een expliciete lengte voorafgaand aan zoveel voorbeelden van een expressie. Ten tweede, ratten! Ondersteunt een wereldwijd object om uitdrukkingen te herkennen die afhankelijk zijn van mogelijk globale context. Staatsmodificaties worden uitgevoerd binnen lichtgewicht transacties, die de in principe functionele karakter van ratten behouden! -Generated parsers. Een voorbeeld voor een globale context is de symbooltabel die wordt gebruikt voor het disambigueren van variabele en typedef-namen bij het parseren van C. Wat is er nieuw in deze release: · Deze release verbetert de foutmelding door gegenereerde parsers en fixeert een bug voor het genereren van code.


Ratten! Gerelateerde software

XCC

XCC is een hulpmiddel voor het bouwen van XML-formaatparsers. ...

228

Downloaden

Makl

Een eenvoudig en licht kader voor het bouwen van multi-platform C-projecten, puur gebaseerd op de Bourne Shell en GNU Make. ...

176

Downloaden

CPROTO

CPRoto genereert functieprototypen voor functies die zijn gedefinieerd in de opgegeven C-bronbestanden naar de standaarduitvoer. ...

154

Downloaden

Redet

HERK is een hulpmiddel voor het ontwikkelen en uitvoeren van reguliere uitdrukkingen. ...

199

Downloaden