En attributgrammatikTermen attributgrammatik er nævnt her i denne doktorafhandling: DAIMI PB-329, August 1990, Flemming Nilson. Teoretiske aspekter af Semantik-baseret Sprog-implementation (dansk og engelsk) Citat: "...[pdf-side 60] attributgrammatikker...", backup er en formel måde til at udvide en formel grammatik med semantisk databehandling. : 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..."

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.

Eksempler

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

Expr → Expr + Term Expr → Term Term → Term * Factor Term → Factor Factor → "(" Expr ")" Factor → integer

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. Expr1 → Expr2 + Term [ Expr1.value = Expr2.value + Term.value ] Expr → Term [ Expr.value = Term.value ] Term1 → Term2 * Factor [ Term1.value = Term2.value * Factor.value ] Term → Factor [ Term.value = Factor.value ] Factor → "(" Expr ")" [ Factor.value = Expr.value ] Factor → integer [ Factor.value = strToInt(integer.str) ]

Programmeringssproget Ada Programmeringssproget Ada er blevet beskrevet i attributgrammatik.Kræver login: dl.acm.org: An attribute grammar for Ada, backupAn Attribute Grammar for the Semantic Analysis of ADA - Uhl, J: Attribute Grammar for the Semantic Analysis of ADA.

Referencer

Original paper introducing attributed grammars: ,

Se også Backus-Naur form (BNF) Udvidet Backus-Naur form (EBNF)

Kategori:Implementation af programmeringssprog