Webbläsaren som du använder stöds inte av denna webbplats. Alla versioner av Internet Explorer stöds inte längre, av oss eller Microsoft (läs mer här: * https://www.microsoft.com/en-us/microsoft-365/windows/end-of-ie-support).

Var god och använd en modern webbläsare för att ta del av denna webbplats, som t.ex. nyaste versioner av Edge, Chrome, Firefox eller Safari osv.

Practical scope recovery using bridge parsing

Författare

Summary, in English

Interactive development environments (IDEs) increase programmer productivity, but unfortunately also the burden on language implementors since sophisticated tool support is expected even for small domain-specific languages. Our goal is to alleviate that burden, by generating IDEs from high-level language specifications using the JastAdd meta-compiler system. This puts increased tension on scope recovery in parsers, since at least a partial AST is required by the system to perform static analysis, such as name completion and context sensitive search.



In this paper we present a novel recovery algorithm called bridge parsing,

which provides a light-weight recovery mechanism that complements existing

parsing recovery techniques. An initial phase recovers nesting structure in

source files making them easier to process by existing parsers. This enables

batch parser generators with existing grammars to be used in an interactive

setting with minor or no modifications.



We have implemented bridge parsing in a generic extensible IDE for JastAdd

based compilers. It is independent of parsing technology, which we validate by showing how it improves recovery in a set of typical interactive editing

scenarios for three parser generators: ANTLR (LL(variable lookahead) parsers), LPG (LALR(k) parsers), and Beaver (LALR(1) parsers). ANTLR and LPG both contain sophisticated support for error recovery, while Beaver requires manual error productions. Bridge parsing complements these techniques and yields better recovery for all these tools with only minimal changes to existing grammars.

Publiceringsår

2009

Språk

Engelska

Sidor

95-113

Publikation/Tidskrift/Serie

Software Language Engineering / Lecture notes in computer science

Volym

5452

Dokumenttyp

Konferensbidrag

Förlag

Springer

Ämne

  • Computer Science

Conference name

SLE08, 1st International Conference on Software Engineering

Conference date

2008-09-29 - 2008-09-30

Conference place

Toulouse, France

Status

Published

Projekt

  • Embedded Applications Software Engineering

ISBN/ISSN/Övrigt

  • ISSN: 0302-9743
  • ISSN: 1611-3349