A meta-environment for generating programming environments
ACM Transactions on Software Engineering and Methodology (TOSEM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Growing languages with metamorphic syntax macros
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
The Java syntactic extender (JSE)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OpenJava: A Class-Based Macro System for Java
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Stratego: A Language for Program Transformation Based on Rewriting Strategies
RTA '01 Proceedings of the 12th International Conference on Rewriting Techniques and Applications
The ASF+SDF Meta-environment: A Component-Based Language Development Environment
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
DrScheme: a programming environment for Scheme
Journal of Functional Programming
TCS:: a DSL for the specification of textual concrete syntaxes in model engineering
Proceedings of the 5th international conference on Generative programming and component engineering
The jastadd extensible java compiler
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Domain specific language implementation via compile-time meta-programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
FeatureIDE: A tool framework for feature-oriented software development
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Derivation and Refinement of Textual Syntax for Models
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
The spoofax language workbench: rules for declarative specification of languages and IDEs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Embedding languages without breaking tools
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Embedded software development with projectional language workbenches
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
SugarJ: library-based syntactic language extensibility
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Attribute grammar-based language extensions for java
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
SugarJ: library-based syntactic language extensibility
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Library-based model-driven software development with SugarJ
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
SugarJ: library-based language extensibility
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Layout-sensitive language extensibility with SugarHaskell
Proceedings of the 2012 Haskell Symposium
Language composition untangled
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Incremental concrete syntax for embedded languages with support for separate compilation
Science of Computer Programming
Modular and automated type-soundness verification for language extensions
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
A framework for extensible languages
Proceedings of the 12th international conference on Generative programming: concepts & experiences
A framework for extensible languages
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
Large software projects consist of code written in a multitude of different (possibly domain-specific) languages, which are often deeply interspersed even in single files. While many proposals exist on how to integrate languages semantically and syntactically, the question of how to support this scenario in integrated development environments (IDEs) remains open: How can standard IDE services, such as syntax highlighting, outlining, or reference resolving, be provided in an extensible and compositional way, such that an open mix of languages is supported in a single file? Based on our library-based syntactic extension language for Java, SugarJ, we propose to make IDEs extensible by organizing editor services in editor libraries. Editor libraries are libraries written in the object language, SugarJ, and hence activated and composed through regular import statements on a file-by-file basis. We have implemented an IDE for editor libraries on top of SugarJ and the Eclipse-based Spoofax language workbench. We have validated editor libraries by evolving this IDE into a fully-fledged and schema-aware XML editor as well as an extensible Latex editor, which we used for writing this paper.