A simple technique for handling multiple polymorphism
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Higher order attribute grammars
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Modularity and reusability in attribute grammars
Acta Informatica
Theory and Practice of Object Systems - Special issue: type systems
The Java syntactic extender (JSE)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Extensible algebraic datatypes with defaults
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
JastAdd: an aspect-oriented compiler construction system
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Declaring and checking non-null types in an object-oriented language
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Modular name analysis for java using jastadd
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
abc: an extensible AspectJ compiler
Transactions on Aspect-Oriented Software Development I
Attribute grammar-based language extensions for java
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Jeannie: granting java native interface developers their wishes
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
The JastAdd extensible Java compiler
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
The JastAdd extensible Java compiler
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Modularity first: a case for mixing AOP and attribute grammars
Proceedings of the 7th international conference on Aspect-oriented software development
Practical pluggable types for java
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity
Implementation and Application of Functional Languages
Liquid Metal: Object-Oriented Programming Across the Hardware/Software Boundary
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Inference of Reference Immutability
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Mixing source and bytecode: a case for compilation by normalization
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Sound and extensible renaming for java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Processing heterogeneous abstract syntax trees with the mutable class pattern
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
WebDSL: A Case Study in Domain-Specific Language Engineering
Generative and Transformational Techniques in Software Engineering II
Adding Dimension Analysis to Java as a Composable Language Extension
Generative and Transformational Techniques in Software Engineering II
Improving type error messages for generic java
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Challenge proposal: verification of refactorings
Proceedings of the 3rd workshop on Programming languages meets program verification
A SIP-Based Programming Framework for Advanced Telephony Applications
Principles, Systems and Applications of IP Telecommunications. Services and Security for Next Generation Networks
Building language towers with ziggurat
Journal of Functional Programming
Demand-driven evaluation of collection attributes
Automated Software Engineering
Software Language Engineering
Practical Scope Recovery Using Bridge Parsing
Software Language Engineering
Formalising and Verifying Reference Attribute Grammars in Coq
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Dynamic software updates: a VM-centric approach
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Verifiable composition of deterministic grammars
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Stepping Stones over the Refactoring Rubicon
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Remote Batch Invocation for Compositional Object Services
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Transactional pointcuts: designation reification and advice of interrelated join points
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Declarative Intraprocedural Flow Analysis of Java Source Code
Electronic Notes in Theoretical Computer Science (ENTCS)
Refactoring is not (yet) about transformation
Proceedings of the 2nd Workshop on Refactoring Tools
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Implementation of a Modelica compiler using JastAdd attribute grammars
Science of Computer Programming
Silver: An extensible attribute grammar system
Science of Computer Programming
Corrective hints for type incorrect generic Java programs
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Why Smalltalk wins the host languages shootout
IWST '09 Proceedings of the International Workshop on Smalltalk Technologies
An architecture for composing embedded domain-specific languages
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
AspectMatlab: an aspect-oriented scientific programming language
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Preventing injection attacks with syntax embeddings
Science of Computer Programming
McLab: an extensible compiler toolkit for MATLAB and related languages
Proceedings of the Third C* Conference on Computer Science and Software Engineering
JGroovy - an extensible Java programming language with Groovy
ICACT'10 Proceedings of the 12th international conference on Advanced communication technology
A Pure Object-Oriented Embedding of Attribute Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
Iterative type inference with attribute grammars
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Implicit invocation meets safe, implicit concurrency
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Specifying and implementing refactorings
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Mostly modular compilation of crosscutting concerns by contextual predicate dispatch
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Building and using pluggable type systems
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Compiler plugins can handle nested languages: AST-level expansion of LINQ queries for java
ICOODB'09 Proceedings of the Second international conference on Object databases
Correct refactoring of concurrent java code
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Embedding languages without breaking tools
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Morphing: Structurally shaping a class by reflecting on others
ACM Transactions on Programming Languages and Systems (TOPLAS)
DSL evolution through composition
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
Event-specific software composition in context-oriented programming
SC'10 Proceedings of the 9th international conference on Software composition
An advice for advice composition in AspectJ
SC'10 Proceedings of the 9th international conference on Software composition
An introductory tutorial on JastAdd attribute grammars
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
MetaLexer: a modular lexical specification language
Proceedings of the tenth international conference on Aspect-oriented software development
Automated selective caching for reference attribute grammars
SLE'10 Proceedings of the Third international conference on Software language engineering
Building and using pluggable type-checkers
Proceedings of the 33rd International Conference on Software Engineering
Staged static techniques to efficiently implement array copy semantics in a MATLAB JIT compiler
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Visitor-based Attribute Grammars with Side Effect
Electronic Notes in Theoretical Computer Science (ENTCS)
An overview of ALIA4J: an execution model for advanced-dispatching languages
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Building extensible specifications and implementations of Promela with AbleP
Proceedings of the 18th international SPIN conference on Model checking software
Growing a language environment with editor libraries
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Ribbons: a partially shared memory programming model
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
SugarJ: library-based syntactic language extensibility
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Enhancing locality for recursive traversals of recursive structures
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Freedom before commitment: a lightweight type system for object initialisation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
Access control in feature-oriented programming
Science of Computer Programming
Yet another language extension scheme
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Verifiable parse table composition for deterministic parsing
SLE'09 Proceedings of the Second international conference on Software Language Engineering
A role-based approach towards modular language engineering
SLE'09 Proceedings of the Second international conference on Software Language Engineering
An object-oriented framework for aspect-oriented languages
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Towards well-formed fragment composition with reference attribute grammars
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
Scripting a refactoring with Rascal and Eclipse
Proceedings of the Fifth Workshop on Refactoring Tools
A study on improving static analysis tools: why are we not using them?
Proceedings of the 34th International Conference on Software Engineering
Improving type error messages for generic Java
Higher-Order and Symbolic Computation
Layout-sensitive language extensibility with SugarHaskell
Proceedings of the 2012 Haskell Symposium
Domain-Specific languages in few steps: the neverlang approach
SC'12 Proceedings of the 11th international conference on Software Composition
McSAF: a static analysis framework for MATLAB
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Multiple aggregate entry points for ownership types
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Automatically enhancing locality for tree traversals with traversal splicing
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
mbeddr: an extensible C-based programming language and IDE for embedded systems
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
A language generic solution for name binding preservation in refactorings
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
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
Challenges in the design of the package template mechanism
Transactions on Aspect-Oriented Software Development IX
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
Implementing semantic feedback in a diagram editor
Proceedings of the Second Workshop on Graphical Modeling Language Development
Extending the JastAdd extensible Java compiler to Java 7
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
A pure embedding of attribute grammars
Science of Computer Programming
Extensible intraprocedural flow analysis at the abstract syntax tree level
Science of Computer Programming
On the reuse and recommendation of model refactoring specifications
Software and Systems Modeling (SoSyM)
Forsaking inheritance: supercharged delegation in DelphJ
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
A design rule language for aspect-oriented programming
Journal of Systems and Software
Using refactoring techniques for visual editing of hybrid languages
Proceedings of the 2013 ACM workshop on Workshop on refactoring tools
Generating attribute grammar-based bidirectional transformations from rewrite rules
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Join point interfaces for safe and flexible decoupling of aspects
ACM Transactions on Software Engineering and Methodology (TOSEM)
Runtime support for type-safe and context-based behavior adaptation
Frontiers of Computer Science: Selected Publications from Chinese Universities
Hi-index | 0.00 |
The JastAdd Extensible Java Compiler is a high quality Java compiler that is easy to extend in order to build static analysis tools for Java, and to extend Java with new language constructs. It is built modularly, with a Java 1.4 compiler that is extended to a Java 5 compiler. Example applications that are built as extensions include an alternative backend that generates Jimple, an extension of Java with AspectJ constructs, and the implementation of a pluggable type system for non-null checking and inferenc. The system is implemented using JastAdd, a declarative Java-like language. We describe the compiler architecture, the major design ideas for building and extending the compiler, in particular, for dealing with complex extensions that affect name and type analysis. Our extensible compiler compares very favorably concerning quality, speed and size with other extensible Java compiler frameworks. It also compares favorably in quality and size compared with traditional non-extensible Java compilers, and it runs within a factor of three compared to javac.