Concurrent Circular Reference Attribute Grammars

Forskningsoutput: Kapitel i bok/rapport/Conference proceedingKonferenspaper i proceedingPeer review

Sammanfattning

Reference Attribute Grammars (RAGs) is a declarative executable formalism used for constructing compilers and related tools. Existing implementations support concurrent evaluation only with global evaluation locks. This may lead to long latencies in interactive tools, where interactive and background threads query attributes concurrently.

We present lock-free algorithms for concurrent attribute evaluation, enabling low latency in interactive tools. Our algorithms support important extensions to RAGs like circular (fixed-point) attributes and higher-order attributes.

We have implemented our algorithms in Java, for the JastAdd metacompiler. We evaluate the implementation on a JastAdd-specified compiler for the Java language, demonstrating very low latencies for interactive attribute queries, on the order of milliseconds. Furthermore, initial experiments show a speedup of about a factor 2 when using four parallel compilation threads.
Originalspråkengelska
Titel på värdpublikationProceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering
FörlagAssociation for Computing Machinery (ACM)
Sidor151-162
Antal sidor12
ISBN (elektroniskt)978-1-4503-5525-4
DOI
StatusPublished - 2017 okt. 23
Evenemang10th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2017) - Vancouver, BC, Canada — October 23 - 24, 2017, Vancouve, Kanada
Varaktighet: 2017 okt. 232017 okt. 24

Konferens

Konferens10th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2017)
Land/TerritoriumKanada
OrtVancouve
Period2017/10/232017/10/24

Ämnesklassifikation (UKÄ)

  • Datavetenskap (datalogi)

Fingeravtryck

Utforska forskningsämnen för ”Concurrent Circular Reference Attribute Grammars”. Tillsammans bildar de ett unikt fingeravtryck.

Citera det här