2011 · 13 citations · 12 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringAbstract Syntax TreesSoftware ConstructionSpecification DevelopmentSpecification LanguagesSyntax-semantics InterfaceBrowsingObject-oriented Language DesignSpecification Editing
A semantic editor, providing services like completion and code browsing, can help users to quickly develop high-quality source code. However, a lot of languages still lack semantic editor support due to the difficulty and costs of development. Tool generation and reuse can greatly alleviate this development task. Specifically, tool generation from a formal specification, such as reference attribute grammars (RAGs), can increase development speed by reusing existing specifications. In this tool demonstration we demonstrate how semantic editors can be built with the aid of JastAdd, a meta-compilation tool based on RAGs. We demonstrate two editors built this way. One for a small object-oriented language, PicoJava, and one for the JastAdd specification language itself.
12
Semantics of context-free languages
Donald E. Knuth · Theory of Computing Systems · 1968 · 2K citations
Thomas Reps, Tim Teitelbaum · ACM SIGPLAN Notices · 1984 · 371 citations
Görel Hedin · 2000 · 170 citations
Silver: An extensible attribute grammar system
Eric Van Wyk, Derek Bodin, Jimin Gao et al. · Science of Computer Programming · 2009 · 164 citations