Attributgrammatik

En attributgrammatik[1] er en formel måde til at udvide en formel grammatik med semantisk databehandling.[2]

I en attributgrammatik gemmes semantisk information i attributter associeret med grammatikkens terminal og ikke-terminal symboler. Attributternes værdier er resultatet af attribut evalueringsregler associeret med grammatikproduktioner. Attributter tillader overførsel af information fra et vilkårligt sted i det abstrakte syntakstræ til et vilkårligt andet sted, på en styret og formel måde.[3]

Eksempler

Heltalsudtryk

Det følgende er en simpel kontekstfri grammatik, som kan beskrive et sprog udgjort af multiplikation og addition af heltal.

 ExprExpr + Term
 ExprTerm
 TermTerm * Factor
 TermFactor
 Factor → "(" Expr ")"
 Factorinteger

Den følgende attributgrammatik kan anvendes til at beregne resultatet af et udtryk skrevet i grammatikken. Bemærk at denne grammatik kun anvender syntesiserede værdier, og at den derfor er en S-attributgrammatik.

 Expr1Expr2 + Term [ Expr1.value = Expr2.value + Term.value ]
 ExprTerm [ Expr.value = Term.value ]
 Term1Term2 * Factor [ Term1.value = Term2.value * Factor.value ]
 TermFactor [ Term.value = Factor.value ]
 Factor → "(" Expr ")" [ Factor.value =  Expr.value ]
 Factorinteger [ Factor.value = strToInt(integer.str) ]

Programmeringssproget Ada

Programmeringssproget Ada er blevet beskrevet i attributgrammatik.[4][5]

Referencer

  1. Termen attributgrammatik er nævnt her i denne doktorafhandling: DAIMI PB-329, August 1990, Flemming Nilson. Teoretiske aspekter af Semantik-baseret Sprog-implementation ISSN 0105-8517 (dansk og engelsk) Citat: "...[pdf-side 60] attributgrammatikker...", backup
  2. ISBN 0201656973 : Syntax and Semantics of Programming Languages. A Laboratory Based Approach. Kenneth Slonneger. University of Iowa. Barry L. Kurtz. Louisiana Tech University. 1995: Chapter 3 ATTRIBUTE GRAMMARS. Citat: "...this chapter and the next we investigate two different techniques for augmenting a context-free grammar in order to verify context-sensitive conditions..."
  3. Knuth 1968, s. 134.
  4. Kræver login: dl.acm.org: An attribute grammar for Ada, backup
  5. An Attribute Grammar for the Semantic Analysis of ADA - Uhl, J: Attribute Grammar for the Semantic Analysis of ADA. ISBN 9783540115717
  • Original paper introducing attributed grammars: Knuth, Donald E. (1968). "Semantics of context-free languages" (PDF). Mathematical Systems Theory. 2 (2): 127-145. doi:10.1007/BF01692511. S2CID 5182310. Arkiveret fra originalen den 19. maj 2020. Hentet 25. december 2021.{{cite journal}}: CS1-vedligeholdelse: BOT: original-url status ukendt (link),

Se også

ProgrammeringSpire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.