Citron (generátor analyzátoru) - Lemon (parser generator) - Wikipedia
tento článek potřebuje další citace pro ověření.Prosinec 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | D. Richard Hipp |
---|---|
Napsáno | C |
Operační systém | Cross-platform |
Typ | Analyzátor generátoru |
Licence | Veřejná doména |
webová stránka | www |
Citrón je generátor analyzátoru, udržovaný jako součást SQLite projekt, který generuje a parser LR (Analyzátor LALR ) v programovacím jazyce C ze vstupu bezkontextová gramatika. Generátor je poměrně jednoduchý, implementovaný v jednom zdrojovém souboru C s jiným souborem použitým jako šablona pro výstup. Lexikální analýza se provádí externě.
Citron je podobný programům Bison a Yacc, ale není kompatibilní s oběma. Gramatický vstupní formát se liší, aby se zabránilo běžným chybám v kódování. Mezi další charakteristické rysy patří a reentrant, bezpečné pro vlákna výstup analyzátor a koncept neterminálové destruktory které se snaží usnadnit vyhýbání se úniky paměti.
SQLite používá k analýze Lemon s ručně kódovaným tokenizerem SQL struny.
Citron, spolu s re2c a obálka re2c s názvem Perplex[1][2][3] v BRL-CAD jako platformově agnostické a snadno kompilovatelné alternativy k Flex a Bison. Tato kombinace se také používá se STEPcode.[4]
Hodnocení výrazu OpenFOAM[5] používá kombinaci ragel a verze citronu, která byla minimálně upravena[6] usnadnit integraci C ++ bez ovlivnění integrace C.[7] Analyzátorové gramatiky jsou rozšířeny o m4 makra.
Poznámky
- ^ Brlcad; Carlmoore; Starseeker (2017-11-30). "BRL-CAD: Generátor analyzátoru citronů". SourceForge. Slashdot Media. Citováno 2019-09-21.
- ^ Bumbulis, Peter (2011-08-23). „Přečtěte si mě“. SourceForge. Slashdot Media. Citováno 2019-09-21.
- ^ Boerger, Marcus (2014-06-24). „Přečtěte si mě“. SourceForge. Slashdot Media. Citováno 2019-09-21.
- ^ „Přečtěte si mě“. KROKOVÝ KÓD. GitHub. 2015. Archivovány od originálu dne 10.04.2018. Citováno 2019-09-21.CS1 maint: unfit url (odkaz)
- ^ "Nová syntaxe výrazů". OpenFOAM. OpenCFD. 2019-12-23. Citováno 2020-01-13.
- ^ "wmake zdroje". OpenFOAM. OpenCFD. 2019-09-27. Citováno 2020-01-13.
- ^ „README“. OpenFOAM. OpenCFD. 2019-09-27. Citováno 2020-01-13.
Reference
- „Generátor analyzátoru citronů“. Citováno 2020-05-21.
- "Architecture of SQLite". 2008-11-01. Citováno 2020-05-21.