Content completion is present in many applications. In programming languages, the completion service also improves development speed and provides to users on-demand documentation. There are two types of content completion: syntactic or semantic. Syntactic content completion consists of proposing syntactic structures from a language. Semantic completion goes further by using also semantic information to fill in the list of possible proposals or enrich syntactic completions. Mainstream IDEs provide these services as language specific, as for example, Eclipse, NetBeans and IntelliJ for Java. One issue is that the code to provide such service is generally handwritten, making it hard to maintain as the language evolves. An optimal approach is to derive these services from the language syntax and semantics. Language workbenches provide this functionality automatically to a certain degree. Most of the time language engineers have to use either a general purpose language or a domain specific language to specify how the completion service should work. In this talk I present an investigation on how syntactic content completion is supported by state-of-the-art IDEs and how language workbenches and parser generators support syntactic completions. I analyse the current approach implemented in the Spoofax Language Workbench and point what can be improved on it.
Sun 25 OctDisplayed time zone: Eastern Time (US & Canada) change
10:30 - 12:00
Cyrus Omar Carnegie Mellon University
|Improving Syntactic Completion|
Luis Eduardo de Souza Amorim TU Delft, Guido Wachsmuth Delft University of Technology, Eelco Visser Delft University of TechnologyFile Attached
|Fastparse: programmable parsers for the 21st century|