Syntax Definition Formalism - Syntax Definition Formalism
Den Syntax Definition formalism ( SDF ) är en metasyntax används för att definiera Kontextfria grammatiker : det vill säga ett formellt sätt att beskriva formella språk. Det kan uttrycka hela utbudet av kontextfria grammatik . Dess nuvarande version är SDF3 [1] . En parser och parser-generator för SDF-specifikationer tillhandahålls som en del av den fria ASF + SDF Meta-miljön . Dessa fungerar med SGLR ( Scannerless GLR-parser ). En SDF-analysator matar ut paresträd eller, i fråga om oklarheter , analyserar skogar.
Innehåll
Översikt
Funktioner hos SDF:
- Stöder hela utbudet av sammanhangsfria språk
- Tillåter modulära syntaxdefinitioner (grammatik kan importera underprogram) som möjliggör återanvändning
- Stödjer anteckningar
exempel
Följande exempel definierar en enkel booleskt uttryckssyntax i SDF2:
module basic/Booleans
exports
sorts Boolean
context-free start-symbols Boolean
context-free syntax
"true" -> Boolean
"false" -> Boolean
lhs:Boolean "|" rhs:Boolean -> Boolean {left}
lhs:Boolean "&" rhs:Boolean -> Boolean {left}
"not" "(" Boolean ")" -> Boolean
"(" Boolean ")" -> Boolean
context-free priorities
Boolean "&" Boolean -> Boolean >
Boolean "|" Boolean -> Boolean
Programanalys och transformationssystem med SDF
- ASF + SDF Meta Environment tillhandahåller SDF
- RascalMPL
- Spoofax / IMP [2]
- Stratego / XT
- Strafunski
Se även
Vidare läsning
- En snabb introduktion till SDF, Visser, J. & Scheerder, J. (2000) CWI
- Syntax Definition Formalism SDF, Mark van den Brand, Paul Klint, Jurgen Vinju (2007) CWI
externa länkar
- Grammatikinstallationssats
- SdfMetz beräknar statistik för SDF-grammatik
- Ladda ner SDF från ASF + SDF Meta Environment-hemsidan
| Detta datavetenskap artikeln är en stöta . Du kan hjälpa Wikipedia genom att utvidga den . |