Attribut grammatik är en kraftfull specifikation paradigm för många språkbehandlingsuppgifter, särskilt semantisk analys av programmeringsspråk. Nya attribut grammatiksystem använder dynamiska schemaläggningsalgoritmer för att utvärdera attribut efter behov. I detta dokument visar vi hur man tar bort behovet av en generator, genom att inbädda en dynamisk strategi i ett modernt, objektorienterat programmeringsspråk för att genomföra ett litet, lätt attribut grammatikbibliotek. Kiama-attribueringsbiblioteket har liknande funktioner som nuvarande generatorer, inklusive cachad, uncached, cirkulär, högre ordning och parameteriserade attribut, och implementerar nya tekniker för dynamisk utvidgning och variation av attributekvationer. Vi använder Scala programmeringsspråk på grund av dess kombination av objektorienterade och funktionella funktioner, stöd för domänspecifika notationer och betoning på skalbarhet. Till skillnad från generatorer med specialiserad notation, Kiama attribut grammatik använder standard Scala notations såsom mönstermatchning funktioner för ekvationer och mixins för sammansättning. En prestandaanalys visar att vårt tillvägagångssätt är praktiskt för realistisk språkbehandling.
Kiamabiblioteket bäddar in grammatik i Scala REF.
A Pure Object-Oriented Embedding of Attribute Grammars
{'venue': 'GPCE', 'journal': None, 'mag_field_of_study': ['Computer Science']}