- document
- Harkes, D.C. (author), Visser, E. (author) journal article 2017
- document
-
Van Antwerpen, H. (author), Néron, P. (author), Tolmach, A. (author), Visser, E. (author), Wachsmuth, G. (author)In previous work, we introduced scope graphs as a formalism for describing program binding structure and performing name resolution in an AST-independent way. In this paper, we show how to use scope graphs to build static semantic analyzers. We use constraints extracted from the AST to specify facts about binding, typing, and initialization. We...report 2015
- document
-
Vergu, V. (author), Neron, P. (author), Visser, E. (author)The formal definition the semantics of a programming language and its implementation are typically separately defined, with the risk of divergence such that properties of the formal semantics are not properties of the implementation. In this paper, we present DynSem, a domain-specific language for the specification of the dynamic semantics of...report 2015
- document
-
Van Antwerpen, H. (author), Néron, P. (author), Tolmach, A. (author), Visser, E. (author), Wachsmuth, G. (author)In previous work, we introduced scope graphs as a formalism for describing program binding structure and performing name resolution in an AST-independent way. In this paper, we show how to use scope graphs to build static semantic analyzers. We use constraints extracted from the AST to specify facts about binding, typing, and initialization. We...report 2015
- document
-
Van Antwerpen, H. (author), Neron, P. (author), Tolmach, A. (author), Visser, E. (author), Wachsmuth, G. (author)We extend and combine two existing declarative formalisms, the scope graphs of Neron et al. and type constraint systems, to build a language-independent theory that can describe both name and type resolution for realistic languages with complex scope and typing rules. Unlike conventional static semantics presentations, our approach maintains a...report 2015
- document
-
Van Chastelet, E. (author), Visser, E. (author), Anslow, C. (author)Federated conferences such as SPLASH are complex orga- nizations composed of many parts (co-located conferences, symposia, and workshops), and are put together by many different people and committees. Developing the website for such a conference requires a considerable effort, and is often reinvented for each edition of a conference using...conference paper 2015
- document
-
Neron, P.J.M. (author), Tolmach, A.P. (author), Visser, E. (author), Wachsmuth, G. (author)We describe a language-independent theory for name binding and resolution, suitable for programming languages with complex scoping rules including both lexical scoping and modules. We formulate name resolution as a two stage problem. First a language-independent scope graph is constructed using language-specific rules from an abstract syntax...report 2015
- document
-
Harkes, D.C. (author), Visser, E. (author)Object-oriented programming languages support concise navigation of relations represented by references. However, relations are not first-class citizens and bidirectional navigation is not supported. The relational paradigm provides first-class relations, but with bidirectional navigation through verbose queries. We present a systematic analysis...report 2014
- document
-
Van Rest, O. (author), Wachsmuth, G.H. (author), Steel, J. (author), Süss, J.G. (author), Visser, E. (author)This paper is a pre-print of: Oskar van Rest, Guido Wachsmuth, Jim Steel, Jörn Guy Süß, Eelco Visser. Robust Real-Time Synchronization between Textual and Graphical Editors. In Keith Duddy, Gerti Kappel, editors, Theory and Practice of Model Transformations, Sixth International Conference, ICMT 2013, Budapest, Hungary, June 18-19, 2013....lecture notes 2013
- document
-
Visser, E. (author)Preprint submitted to "Science of Computer Programming", Elsevier, http://dx.doi.org/10.1016/j.scico.2013.12.001 In this essay, I argue that linguistic abstraction should be used systematically as a tool to capture our emerging understanding of domains of computation. Moreover, to enable that systematic application, we need to capture our...report 2013
- document
-
De Jonge, M. (author), Visser, E. (author)Spoofax is a language workbench for efficient development of textual domain-specific languages together with state-of-the-art IDE support. Spoofax integrates language and IDE development into a single environment, using concise, declarative specifications for languages and IDE services. We are extending Spoofax with a framework for the...report 2013
- document
-
Wachsmuth, G.H. (author), Konat, G.D.P. (author), Vergu, V.A. (author), Groenewegen, D.M. (author), Visser, E. (author)This paper is a pre-print of: Guido H. Wachsmuth, Gabriel D.P. Konat, Vlad A. Vergu, Danny M. Groenewegen, Eelco Visser. A Language Independent Task Engine for Incremental Name and Type Analysis. In: Martin Erwig, Richard F. Paige, Eric Van Wyk, editors, Software Language Engineering, Sixth International Conference, SLE 2013, Indianapolis, USA,...lecture notes 2013
- document
-
De Jonge, M. (author), Kats, L.C.L. (author), Soderberg, E. (author), Visser, E. (author)Author's version of the work published in: ACM Transactions on Programming Languages and Systems (TOPLAS), 34 (4), 2012; doi:10.1145/2400676.2400678. Integrated development environments (IDEs) increase programmer productivity, providing rapid, interactive feedback based on the syntax and semantics of a language. Unlike conventional parsing...report 2012
- document
-
Kats, L.C.L. (author), Vogelij, R.G. (author), Kalleberg, K.T. (author), Visser, E. (author)Preprint of paper published in: Onward! 2012 - Proceedings of the 11th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software, 19-26 October 2012; 10.1145/2384592.2384603 Software is rapidly moving from the desktop to theWeb. The Web provides a generic user interface that allows ubiquitous access, instant...report 2012
- document
-
Konat, G. (author), Kats, L.C.L. (author), Wachsmuth, G. (author), Visser, E. (author)Preprint of paper published in: SLE 2012 - 5th International Conference on Software Language Engineering, 26-28 September 2012, Lecture Notes in Computer Science 7745; doi:10.1007/978-3-642-36089-3_18 In textual software languages, names are used to reference elements like variables, methods, classes, etc. Name resolution analyses these names in...lecture notes 2012
- document
-
Hemel, Z. (author), Visser, E. (author)A new generation of mobile touch devices, such as the iPhone, Android and iPad, are equipped with powerful, modern browsers. However, regular websites are not optimized for the specific features and constraints of these devices, such as limited screen estate, unreliable Internet access, touch-based interaction patterns, and features such as GPS....report 2011
- document
-
Lindeman, R.T. (author), Kats, L.C.L. (author), Visser, E. (author)Tool support is vital to the effectiveness of domain-specific languages. With language workbenches, domain-specific languages and their tool support can be generated from a combined, high-level specification. This paper shows how such a specification can be extended to describe a debugger for a language. To realize this, we introduce a meta...report 2011
- document
-
Kats, L.C.L. (author), Vermaas, R. (author), Visser, E. (author)The reliability of compilers, interpreters, and development environments for programming languages is essential for effective software development and maintenance. They are often tested only as an afterthought. Languages with a smaller scope, such as domain-specific languages, often remain untested. General-purpose testing techniques and test...report 2011
- document
-
Kats, L.C. (author), Visser, E. (author)Software platforms such as the Java Virtual Machine or the CLR .NET virtual machine have their own ecosystem of a core programming language or instruction set, libraries, and developer community. Programming languages can target multiple software platforms to increase interoperability or to boost performance. Introducing a new compiler backend...report 2010
- document
-
Kats, L.C.L. (author), Visser, E. (author)Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. It provides a comprehensive environment that integrates syntax definition, program transformation, code generation, and declarative specification of IDE components Preprint accepted for publication in SPLASH...report 2010