Concurrent Circular Reference Attribute Grammars (Extended Version)

Forskningsoutput: Bok/rapportRapport

Abstract

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.

Detaljer

Författare
Enheter & grupper
Forskningsområden

Ämnesklassifikation (UKÄ) – OBLIGATORISK

  • Datavetenskap (datalogi)

Nyckelord

Originalspråkengelska
FörlagDepartment of Computer Science, Lund University
Antal sidor20
StatusPublished - 2017 okt 18
PublikationskategoriForskning

Publikationsserier

NamnTechnical report, LU-CS-TR
FörlagLund University
Nr.Report 103
Volym2017-254
ISSN (tryckt)1404-1200

Nedladdningar

Ingen tillgänglig data

Relaterad forskningsoutput

Jesper Öqvist, 2018 dec 19, Lund: Department of Computer Science, Lund University. 197 s.

Forskningsoutput: AvhandlingDoktorsavhandling (sammanläggning)

Visa alla (1)

Related projects

Visa alla (2)