The syntax definition formalism SDF—reference manual—
ACM SIGPLAN Notices
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Syntax macros and extended translation
Communications of the ACM
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
Composable and compilable macros:: you want it when?
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Feature interaction: a critical review and considered forecast
Computer Networks: The International Journal of Computer and Telecommunications Networking
Meta-programming with Concrete Object Syntax
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Macros That Compose: Systematic Macro Programming
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
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
Disambiguation Filters for Scannerless Generalized LR Parsers
CC '02 Proceedings of the 11th International Conference on Compiler Construction
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
EDUCATIONAL PEARL: Automata via macros
Journal of Functional Programming
An Introduction to Xml And Web Technologies
An Introduction to Xml And Web Technologies
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)
Analyzing Context-Free Grammars Using an Incremental SAT Solver
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Proving Confluence of Term Rewriting Systems Automatically
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
Scribble: closing the book on ad hoc documentation tools
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Silver: An extensible attribute grammar system
Science of Computer Programming
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Preventing injection attacks with syntax embeddings
Science of Computer Programming
Modular domain-specific language components in scala
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
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
Featherweight TEX and parser correctness
SLE'10 Proceedings of the Third international conference on Software language engineering
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Growing a language environment with editor libraries
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Language boxes: bending the host language with modular language changes
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Conservative ambiguity detection in context-free grammars
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
Attribute grammar-based language extensions for java
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Growing a language environment with editor libraries
Proceedings of the 10th ACM international conference on Generative programming and component engineering
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
Honu: syntactic extension for algebraic notation through enforestation
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Adaptable parsing expression grammars
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Language composition untangled
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Feature-oriented language families: a case study
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Incremental concrete syntax for embedded languages with support for separate compilation
Science of Computer Programming
Creating and using domain-specific language features
Proceedings of the First Workshop on the Globalization of Domain Specific Languages
Scala macros: let our powers combine!: on how rich syntax and static types work with metaprogramming
Proceedings of the 4th Workshop on Scala
Modular and automated type-soundness verification for language extensions
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Extending Erlang by utilising RefactorErl
Proceedings of the twelfth ACM SIGPLAN workshop on Erlang
Implementing a scripting language parser with self-extensible syntax
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
An object-oriented approach to language compositions for software language engineering
Journal of Systems and Software
A framework for extensible languages
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Submodules in racket: you want it when, again?
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Forge: generating a high performance DSL implementation from a declarative specification
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 |
Existing approaches to extend a programming language with syntactic sugar often leave a bitter taste, because they cannot be used with the same ease as the main extension mechanism of the programming language - libraries. Sugar libraries are a novel approach for syntactically extending a programming language within the language. A sugar library is like an ordinary library, but can, in addition, export syntactic sugar for using the library. Sugar libraries maintain the composability and scoping properties of ordinary libraries and are hence particularly well-suited for embedding a multitude of domain-specific languages into a host language. They also inherit self-applicability from libraries, which means that sugar libraries can provide syntactic extensions for the definition of other sugar libraries. To demonstrate the expressiveness and applicability of sugar libraries, we have developed SugarJ, a language on top of Java, SDF and Stratego, which supports syntactic extensibility. SugarJ employs a novel incremental parsing technique, which allows changing the syntax within a source file. We demonstrate SugarJ by five language extensions, including embeddings of XML and closures in Java, all available as sugar libraries. We illustrate the utility of self-applicability by embedding XML Schema, a metalanguage to define XML languages.