publications: - title: "Disambiguation Filters for Scannerless Generalized LR Parsers" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Jeroen Scheerder" link: "http://www.linkedin.com/in/jeroenscheerder" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1007/3-540-45937-5_12" abstract: "In this paper we present the fusion of generalized LR parsing and scannerless parsing. This combination supports syntax definitions in which all aspects (lexical and context-free) of the syntax of a language are defined explicitly in one formalism. Furthermore, there are no restrictions on the class of grammars, thus allowing a natural syntax tree structure. Ambiguities that arise through the use of unrestricted grammars are handled by explicit disambiguation constructs, instead of implicit defaults that are taken by traditional scanner and parser generators. Hence, a syntax definition becomes a full declarative description of a language. Scannerless generalized LR parsing is a viable technique that has been applied in various industrial and academic projects. " links: doi: "https://doi.org/10.1007/3-540-45937-5_12" tags: - "GLR parsing" - "syntax definition" - "SDF" - "lexical syntax" - "scannerless" - "disambiguation" - "GLR" - "context-aware" - "parsing" - "scannerless parsing" - "ASF+SDF" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/BrandSVV02" cites: 0 citedby: 4 pages: "143-158" booktitle: "Compiler Construction, 11th International Conference, CC 2002, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8-12, 2002, Proceedings" editor: - name: "R. Nigel Horspool" link: "https://researchr.org/alias/r.-nigel-horspool" volume: "2304" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-43369-4" kind: "inproceedings" key: "BrandSVV02" - title: "Parsing 2D Languages by a Pictorial GLR Parser" author: - name: "Gennaro Costagliola" link: "https://researchr.org/alias/gennaro-costagliola" - name: "Shi-Kuo Chang" link: "https://researchr.org/alias/shi-kuo-chang" - name: "Masaru Tomita" link: "https://researchr.org/alias/masaru-tomita" year: "1992" tags: - "GLR parsing" - "GLR" - "parsing" researchr: "https://researchr.org/publication/CostagliolaCT92" cites: 0 citedby: 0 pages: "319-333" booktitle: "Advanced Visual Interfaces" kind: "inproceedings" key: "CostagliolaCT92" - title: "The Grammar Tool Box: A Case Study Comparing GLR Parsing Algorithms" author: - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2004" doi: "http://dx.doi.org/10.1016/j.entcs.2004.06.008" abstract: "The Grammar Tool Box is a toolset for manipulating Context Free Grammars and objects associated with them such as parsers, languages and derivations. GTB has three main rôles: as a pedagogic tool; as an experimental platform for novel algorithms and representations; and as a production tool for translator front end generation. In this paper we give an overview of GTB and its companion Java-based animator tool PAT. We illustrate the use of the toolset in the construction of a comparative study of three variants of the Tomita-style GLR parsing algorithm running on LR(0), SLR(1) and LR(1) tables for ANSI-C, ISO-Pascal and IBM VS-COBOL, and give results showing the size of the structures constructed by these parsers and the amount of searching required during the parse, which abstracts their runtime." links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.06.008" tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "Java" - "case study" - "context free languages" - "GLR" - "C++" - "context-aware" - "Meta-Environment" - "Cobol" - "parsing" - "Pascal" - "grammar types" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/JohnstoneSE04%3A0" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "110" pages: "97-113" kind: "article" key: "JohnstoneSE04:0" - title: "Applying software engineering techniques to parser design: the development of a C# parser" author: - name: "Malloy, Brian A." link: "https://researchr.org/alias/malloy%2C-brian-a." - name: "Power, James F." link: "https://researchr.org/alias/power%2C-james-f." - name: "Waldron, John T." link: "https://researchr.org/alias/waldron%2C-john-t." year: "2002" links: "acm": "http://portal.acm.org/citation.cfm?id=581506.581516#" "pdf": "http://www.cs.nuim.ie/~jpower/Research/csharp/SAICSIT02.pdf" tags: - "software engineering" - "C++" - "parsing" - "design" researchr: "https://researchr.org/publication/bpw02" cites: 0 citedby: 0 booktitle: "SAICSIT '02: Proceedings of the 2002 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology" address: "Port Elizabeth, Republic of South Africa" publisher: "South African Institute for Computer Scientists and Information Technologists" kind: "inproceedings" key: "bpw02" - title: "On the translation of languages from left to right" author: - name: "Donald E. Knuth" link: "https://researchr.org/alias/donald-e.-knuth" year: "1965" abstract: "There has been much recent interest in languages whose grammar is sufficiently simple that an efficient left-to-right parsing algorithm can be mechanically produced from the grammar. In this paper, we define LR(k) grammars, which are perhaps the most general ones of this type, and they provide the basis for understanding all of the special tricks which have been used in the construction of parsing algorithms for languages with simple structure, e.g. algebraic languages. We give algorithms for deciding if a given grammar satisfies the LR(k) condition, for given k, and also give methods for generating recognizes for LR(k) grammars. It is shown that the problem of whether or not a grammar is LR(k) for some k is undecidable, and the paper concludes by establishing various connections between LR(k) grammars and deterministic languages. In particular, the LR(k) condition is a natural analogue, for grammars, of the deterministic condition, for languages." links: "pdf": "http://www.dc.uba.ar/materias/tl/2010/c2/files/Knuth-1965-TranslationofLanguages.pdf/at_download/file" tags: - "parsing algorithm" - "translation" - "e-science" - " algebra" - "parsing" - "grammar" researchr: "https://researchr.org/publication/knuth1965translation" cites: 0 citedby: 0 journal: "Information and control" volume: "8" number: "6" kind: "article" key: "knuth1965translation" - title: "A Distributed GLR Scheme for 3G Cellular Networks" author: - name: "Bin Lu" link: "https://researchr.org/alias/bin-lu" - name: "Hong Jiang" link: "https://researchr.org/alias/hong-jiang" year: "2006" doi: "http://dx.doi.org/10.1109/CSCWD.2006.253067" links: doi: "http://dx.doi.org/10.1109/CSCWD.2006.253067" tags: - "GLR" researchr: "https://researchr.org/publication/LuJ06a" cites: 0 citedby: 0 pages: "1435-1440" booktitle: "Proceedings of the 10th International Conference on CSCW in Design, CSCWD 2006, May 3-5, 2006, Southeast University, Nanjing, China" publisher: "IEEE" isbn: "1-4244-0165-8" kind: "inproceedings" key: "LuJ06a" - title: "ANTLR: A Predicated- :::: LL(k) :::: Parser Generator" author: - name: "Terence John Parr" link: "http://www.cs.usfca.edu/~parrt/" - name: "Russell W. Quong" link: "https://researchr.org/alias/russell-w.-quong" year: "1995" tags: - "syntax definition" - "parsing" researchr: "https://researchr.org/publication/ParrQ95" cites: 0 citedby: 0 journal: "Software: Practice and Experience" volume: "25" number: "7" pages: "789-810" kind: "article" key: "ParrQ95" - title: "Syntactic Definition and Parsing of Molecular Formulae: Part 1 Initial Syntax Definition and Parser Implementation" author: - name: "P. G. Barker" link: "https://researchr.org/alias/p.-g.-barker" year: "1975" tags: - "syntax definition" - "parsing" researchr: "https://researchr.org/publication/Barker75" cites: 0 citedby: 0 journal: "Comput. J." volume: "18" number: "4" pages: "355-359" kind: "article" key: "Barker75" - title: "BRNGLR: a cubic Tomita-style GLR parsing algorithm" author: - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2007" doi: "http://dx.doi.org/10.1007/s00236-007-0054-z" abstract: "Tomita-style generalised LR (GLR) algorithms extend the standard LR algorithm to non-deterministic grammars by performing all possible choices of action. Cubic complexity is achieved if all rules are of length at most two. In this paper we shall show how to achieve cubic time bounds for all grammars by binarising the search performed whilst executing reduce actions in a GLR-style parser. We call the resulting algorithm Binary Right Nulled GLR (BRNGLR) parsing. The binarisation process generates run-time behaviour that is related to that shown by a parser which pre-processes its grammar or parse table into a binary form, but without the increase in table size and with a reduced run-time space overhead. BRNGLR parsers have worst-case cubic run time on all grammars, linear behaviour on LR(1) grammars and produce, in worst-case cubic time, a cubic size binary SPPF representation of all the derivations of a given sentence. " links: doi: "http://dx.doi.org/10.1007/s00236-007-0054-z" tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "GLR" - "rules" - "search" - "parsing" - "grammar" researchr: "https://researchr.org/publication/ScottJE07" cites: 0 citedby: 0 journal: "Acta Informatica" volume: "44" number: "6" pages: "427-461" kind: "article" key: "ScottJE07" - title: "Ambiguity in context free languages" author: - name: "Ginsburg, Seymour" link: "https://researchr.org/alias/ginsburg%2C-seymour" - name: "Ullian, Joseph" link: "https://researchr.org/alias/ullian%2C-joseph" year: "1966" doi: "http://doi.acm.org/10.1145/321312.321318" links: doi: "http://doi.acm.org/10.1145/321312.321318" tags: - "context-aware" researchr: "https://researchr.org/publication/gu66" cites: 0 citedby: 0 journal: "J. ACM" volume: "13" number: "1" kind: "article" key: "gu66" - title: "Simple LR(k) Grammars" author: - name: "Frank DeRemer" link: "https://researchr.org/alias/frank-deremer" year: "1971" tags: - "grammar" researchr: "https://researchr.org/publication/DeRemer71" cites: 0 citedby: 0 journal: "Communications of the ACM" volume: "14" number: "7" pages: "453-460" kind: "article" key: "DeRemer71" - title: "Packrat parsing: simple, powerful, lazy, linear time, functional pearl" author: - name: "Bryan Ford" link: "https://researchr.org/alias/bryan-ford" year: "2002" doi: "http://doi.acm.org/10.1145/581478.581483" links: doi: "http://doi.acm.org/10.1145/581478.581483" tags: - "laziness" - "parsing" researchr: "https://researchr.org/publication/Ford02" cites: 0 citedby: 0 pages: "36-47" booktitle: "Proceedings of the seventh ACM SIGPLAN international conference on Functional Programming (ICFP 2002)" kind: "inproceedings" key: "Ford02" - title: "Generating Editors for Embedded Languages. Integrating SGLR into IMP" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" month: "April" abstract: "Integrated Development Environments (IDEs) increase productivity by providing a rich user interface and rapid feedback for a specific language. Creating an editor for a specific language is not a trivial undertaking, and is a cumbersome task even when working with an extensible framework such as Eclipse. A new IBM-guided effort, the IMP framework, relieves the IDE developer from a significant portion of the required work by providing various abstractions for this. For embedded languages, such as embedded regular expressions, SQL queries, or code generation templates, its LALR parser generator falls short, however. Scannerless parsing with SGLR enables concise, modular definition of such languages. In this paper, we present an integration of SGLR into IMP, demonstrating that a scannerless parser can be successfully integrated into an IDE. Given an SDF syntax definition, the sdf2imp tool automatically generates an editor plugin based on the IMP API, complete with syntax checking, syntax highlighting, outline view, and code folding. Using declarative domain-specific languages, these services can be customized, and using the IMP metatooling framework it can be extended with other features. " links: successor: "https://researchr.org/publication/KatsVisser2010" "spoofax homepage": "http://strategoxt.org/Spoofax" "pdf": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-006.pdf" tags: - "rule-based" - "Eclipse" - "syntax definition" - "completeness" - "SDF" - "SQL" - "C++" - "code generation" - "abstraction" - "Spoofax" - "Meta-Environment" - "parsing" - "scannerless parsing" - "extensible language" - "ASF+SDF" - "SGLR" - "query language" - "domain-specific language" researchr: "https://researchr.org/publication/KatsKV08" cites: 0 citedby: 1 booktitle: "Proceedings of the Eight Workshop on Language Descriptions, Tools, and Applications" editor: - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" volume: "238" number: "5" series: "Electronic Notes in Theoretical Computer Science " publisher: "Elsevier" kind: "inproceedings" key: "KatsKV08" - title: "Aspects of the Theory of Syntax" author: - name: "Noam Chomsky" link: "http://www.chomsky.info/" year: "1965" researchr: "https://researchr.org/publication/chomsky1965aspects" cites: 0 citedby: 0 publisher: "The MIT press" kind: "book" key: "chomsky1965aspects" - title: "Language-parametric Techniques for Language-Specific Editors" author: - name: "Maartje de Jonge" link: "https://researchr.org/profile/maartjedejonge/publications" year: "2014" month: "January" doi: "http://dx.doi.org/10.4233/uuid:5b485a4a-e502-42d9-8bd2-21c02226ed91" abstract: "The goal of this dissertation is to develop techniques that simplify the implementation of tool support for new languages. More specifically, we focus on language-parametric solutions for the implementation of language-specific editor support. In the first part of this dissertation we investigate generic techniques to recover from syntax errors that occur during interactive editing. In the second part we look into language-parametric techniques for the implementation of refactoring tools." links: doi: "http://dx.doi.org/10.4233/uuid:5b485a4a-e502-42d9-8bd2-21c02226ed91" "blog": "http://eelcovisser.org/post/271/language-parametric-techniques-for-language-specific-editors" "pdf": "http://repository.tudelft.nl/assets/uuid:5b485a4a-e502-42d9-8bd2-21c02226ed91/doc.pdf" researchr: "https://researchr.org/publication/DeJonge2014" cites: 0 citedby: 0 school: "Delft University of Technology" address: "Delft, TheNetherlands" advisor: - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" kind: "phdthesis" key: "DeJonge2014" - title: "Modular Syntax Demands Verification" author: - name: "Sylvain Schmitz" link: "https://researchr.org/alias/sylvain-schmitz" year: "2006" month: "oct" links: "url": "http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/schmitz-RR0632.pdf" researchr: "https://researchr.org/publication/Schmitz06-0" cites: 0 citedby: 0 institution: "Laboratoire {I3S}, Universit{\\'e} de Nice-Sophia Antipolis, France" number: "I3S/RR-2006-32-FR" kind: "techreport" key: "Schmitz06-0" - title: "Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking" author: - name: "Eric Bouwers" link: "http://www.st.ewi.tudelft.nl/~bouwers/main/" - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.046" abstract: "A wide range of parser generators are used to generate parsers for programming languages. The grammar formalisms that come with parser generators provide different approaches for defining operator precedence. Some generators (e.g. YACC) support precedence declarations, others require the grammar to be unambiguous, thus encoding the precedence rules. Even if the grammar formalism provides precedence rules, a particular grammar might not use it. The result is grammar variants implementing the same language. For the C language, the GNU Compiler uses YACC with precedence rules, the C-Transformers uses SDF without priorities, while the SDF library does use priorities. For PHP, Zend uses YACC with precedence rules, whereas PHP-front uses SDF with priority and associativity declarations. The variance between grammars raises the question if the precedence rules of one grammar are compatible with those of another. This is usually not obvious, since some languages have complex precedence rules. Also, for some parser generators the semantics of precedence rules is defined operationally, which makes it hard to reason about their effect on the defined language. We present a method and tool for comparing the precedence rules of different grammars and parser generators. Although it is undecidable whether two grammars define the same language, this tool provides support for comparing and recovering precedence rules, which is especially useful for reliable migration of a grammar from one grammar formalism to another. We evaluate our method by the application to non-trivial mainstream programming languages, such as PHP and C." links: doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.046" tags: - "programming languages" - "semantics" - "rule-based" - "syntax definition" - "YACC" - "precedence rule" - "SDF" - "Stratego/XT" - "language engineering" - "grammar engineering" - "PHP" - "rules" - "C++" - "migration" - "compiler" - "programming" - "operational semantics" - "priority" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "grammar" - "Stratego" researchr: "https://researchr.org/publication/BouwersBV08" cites: 0 citedby: 1 journal: "Electronic Notes in Theoretical Computer Science" volume: "203" number: "2" pages: "85-101" kind: "article" key: "BouwersBV08" - title: "WebDSL: A Case Study in Domain-Specific Language Engineering" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" abstract: " The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boil- erplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how to tackle common language design and implementation issues. This paper presents a case study in domain-specific language engineering. It reports on a pro ject in which the author designed and built WebDSL, a DSL for web applications with a rich data model, using several DSLs for DSL engineering: SDF for syntax definition and Stratego/XT for code gener- ation. The paper follows the stages in the development of the DSL. The contributions of the paper are three-fold. (1) A tutorial in the application of the specific SDF and Stratego/XT technology for building DSLs. (2) A description of an incremental DSL development process. (3) A domain- specific language for web-applications with rich data models. The paper concludes with a survey of related approaches. " links: doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-023.pdf" "webdsl": "http://webdsl.org" "stratego/xt": "http://strategoxt.org" tags: - "WebDSL" - "reusable components" - "DSL engineering" - "web application development" - "data-flow language" - "pattern language" - "case study" - "software components" - "SDF" - "meta-model" - "abstract syntax" - "modeling language" - "Stratego/XT" - "language engineering" - "software language engineering" - "language modeling" - "software component" - "web engineering" - "language design" - "reuse" - "model-driven development" - "data-flow" - "survey" - "software engineering" - "model-driven engineering" - "web applications" - "DSL" - "Meta-Environment" - "incremental" - "design" - "process modeling" - "systematic-approach" - "ASF+SDF" - "language" - "Stratego" - "domain-specific language" researchr: "https://researchr.org/publication/Visser07" cites: 0 citedby: 9 pages: "291-373" booktitle: "Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" volume: "5235" series: "Lecture Notes in Computer Science" address: "Braga, Portugal" publisher: "Springer" isbn: "978-3-540-88642-6" kind: "inproceedings" key: "Visser07" - title: "A practical method for constructing efficient LALR(K) parsers with automatic error recovery" author: - name: "Philippe Charles" link: "https://researchr.org/alias/philippe-charles" year: "1991" tags: - "parsing" researchr: "https://researchr.org/publication/charles91lpg" cites: 0 citedby: 1 school: "New York University" kind: "phdthesis" key: "charles91lpg" - title: "Polymorphic Syntax Definition" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1998" doi: "http://dx.doi.org/10.1016/S0304-3975(97)00268-5" abstract: "Context-free grammars are used in several algebraic specification formalisms instead of first-order signatures for the definition of the structure of algebras, because grammars provide better notation than signatures. The rigidity of these first-order structures enforces a choice between strongly typed structures with little genericity or generic operations over untyped structures. In two-level signatures level 1 defines the algebra of types used at level 0 providing the possibility to define polymorphic abstract data types. Two-level grammars are the grammatical counterpart of two-level signatures. This paper discusses the correspondence between context-free grammars and first-order signatures, the extension of this correspondence to two-level grammars and signatures, examples of the usage of two-level grammars for polymorphic syntax definition, a restriction of the class of two-level grammars for which the parsing problem is decidable, a parsing algorithm that yields a minimal and finite set of most general parse trees for this class of grammars, and a proof of its correctness." links: doi: "http://dx.doi.org/10.1016/S0304-3975(97)00268-5" tags: - "parsing algorithm" - "syntax definition" - "abstract syntax" - "data-flow" - "algebraic specification" - " algebra" - "context-aware" - "parsing" - "signature" - "grammar" researchr: "https://researchr.org/publication/Visser98" cites: 0 citedby: 0 journal: "Theoretical Computer Science" volume: "199" number: "1-2" pages: "57-86" kind: "article" key: "Visser98" - title: "Adaptive Target Detection Across a Clutter Boundary: GLR and Maximally Invariant Detectors" author: - name: "Hyung Soo Kim" link: "https://researchr.org/alias/hyung-soo-kim" - name: "Alfred O. Hero III" link: "https://researchr.org/alias/alfred-o.-hero-iii" year: "2000" tags: - "GLR" researchr: "https://researchr.org/publication/KimH00%3A3" cites: 0 citedby: 0 pages: "681-684" booktitle: "ICIP" kind: "inproceedings" key: "KimH00:3" - title: "Towards a visual programming environment generator for algebraic specifications" author: - name: "Susan Uskudarli" link: "http://www.cmpe.boun.edu.tr/~uskudarli" - name: "Dinesh, T. B." link: "https://researchr.org/alias/dinesh%2C-t.-b." year: "1995" doi: "10.1109/VL.1995.520814" abstract: "In the visual languages community there has been a growing consensus that visual languages will be most successful in the case of special purpose languages. Furthermore, their success will largely depend on the programming environment which is provided for them. Programming environment generators, generate programming environments for formally specified languages. We discuss specification of visual languages and the generation of visual environments. We focus on a picture definition language, VODL, which serves as the basis for defining the syntax of visual languages. We present the language definition and an example showing how VODL is used in defining language syntax and thereafter generating visual editors. Finally, we discuss how to extend this approach in creating a visual specification formalism and a supporting environment for specifying the syntax and semantics of visual languages" links: "url": "http://dx.doi.org/10.1109/VL.1995.520814" tags: - "programming languages" - "semantics" - "syntax definition" - "meta programming" - "formal semantics" - "algebraic specification" - " algebra" - "programming" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/citeulike%3A4275689" cites: 0 citedby: 0 booktitle: "Towards a visual programming environment generator for algebraic specifications" kind: "proceedings" key: "citeulike:4275689" - title: "GLR Parser with Conditional Action Model(CAM)" author: - name: "Yong-Jae Kwak" link: "https://researchr.org/alias/yong-jae-kwak" - name: "Young-Sook Hwang" link: "https://researchr.org/alias/young-sook-hwang" - name: "Hoo-Jung Chung" link: "https://researchr.org/alias/hoo-jung-chung" - name: "So-Young Park" link: "https://researchr.org/alias/so-young-park" - name: "Sang-Zoo Lee" link: "https://researchr.org/alias/sang-zoo-lee" - name: "Hae-Chang Rim" link: "https://researchr.org/alias/hae-chang-rim" year: "2001" doi: "http://www.afnlp.org/nlprs2001/pdf/0145-01.pdf" links: doi: "http://www.afnlp.org/nlprs2001/pdf/0145-01.pdf" tags: - "GLR parsing" - "GLR" - "parsing" researchr: "https://researchr.org/publication/KwakHCPLR01" cites: 0 citedby: 0 pages: "359-366" booktitle: "Proceedings of the Sixth Natural Language Processing Pacific Rim Symposium, November 27-30, 2001, Hitotsubashi Memorial Hall, National Center of Sciences, Tokyo, Japan" kind: "inproceedings" key: "KwakHCPLR01" - title: "On Certain Formal Properties of Grammars" author: - name: "Noam Chomsky" link: "http://www.chomsky.info/" year: "1959" month: "June" tags: - "grammar" researchr: "https://researchr.org/publication/Chomsky59a" cites: 0 citedby: 0 journal: "Inf. Comput." volume: "2" number: "2" pages: "137-167" kind: "article" key: "Chomsky59a" - title: "The Reuse of Grammars with Embedded Semantic Actions" author: - name: "Terence John Parr" link: "http://www.cs.usfca.edu/~parrt/" year: "2008" doi: "http://dx.doi.org/10.1109/ICPC.2008.36" links: doi: "http://dx.doi.org/10.1109/ICPC.2008.36" tags: - "syntax definition" - "reuse" - "ANTLR" - "grammar" researchr: "https://researchr.org/publication/Parr08" cites: 0 citedby: 0 pages: "5-10" booktitle: "The 16th IEEE International Conference on Program Comprehension, ICPC 2008, Amsterdam, The Netherlands, June 10-13, 2008" editor: - name: "René L. Krikhaar" link: "https://researchr.org/alias/ren%C3%A9-l.-krikhaar" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" publisher: "IEEE Computer Society" kind: "inproceedings" key: "Parr08" - title: "A Meta-Environment for Generating Programming Environments" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" year: "1993" doi: "http://doi.acm.org/10.1145/151257.151260" abstract: "Over the last decade, considerable progress has been made in solving the problems of automatic generation of programming/development environments, given a formal definition of some programming or specification language. In most cases, research has focused on the functionality and efficiency of the generated environments, and, of course, these aspects will ultimately determine the acceptance of environment generators. However, only marginal attention has been paid to the development process of formal language definitions itself. Assuming that the quality of automatically generated environments will be satisfactory within a few years, the development costs of formal language definitions will then become the next limiting factor determining ultimate success and acceptance of environment generators. In this paper we describe the design and implementation of a meta-environment (a development environment for formal language definitions) based on the formalism ASF + SDF. This meta-environment is currently being implemented as part of the Centaur system and is, at least partly, obtained by applying environment generation techniques to the language definition formalism itself. A central problem is providing fully interactive editing of modular language definitions such that modifications made to the language definition during editing can be translated immediately to modifications in the programming environment generated from the original language definition. Therefore, some of the issues addressed are the treatment of formalisms with user-definable syntax and incremental program generation techniques. " links: doi: "http://doi.acm.org/10.1145/151257.151260" tags: - "programming languages" - "rule-based" - "translation" - "syntax definition" - "meta programming" - "SDF" - "meta-model" - "functional programming" - "design research" - "language design" - "model-driven development" - "programming" - "Meta-Environment" - "incremental" - "design" - "ASF+SDF" - "meta-objects" researchr: "https://researchr.org/publication/Klint93" cites: 33 citedby: 40 journal: "ACM Transactions on Software Engineering Methodology" volume: "2" number: "2" pages: "176-201" kind: "article" key: "Klint93" - title: "Object-oriented Tree Traversal with JJForester" author: - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#005" abstract: "We want to use the advanced language processing technology available in the ASF+SDF Meta-Environment in combination with general purpose programming languages. In particular, we want to combine the syntax definition formalism (SDF) and the associated components that support generalized LR parsing, with the object-oriented language Java. To this end, we implemented JJForester, a tool that generates class structures from SDF grammar definitions. The generated class structures implement a number of design patterns to facilitate construction and traversal of parse trees represented by object structures. In a detailed case study, we demonstrate how program analyses and transformations for languages of non-trivial size can be constructed with JJForester." links: doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#005" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "Java" - "syntax definition" - "meta programming" - "pattern language" - "generic programming" - "case study" - "SDF" - "meta-model" - "traversal" - "transformation language" - "visitor" - "language design" - "model transformation" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "design" - "Visitor pattern" - "ASF+SDF" - "feature-oriented programming" - "meta-objects" - "transformation" - "grammar" - "program transformation" researchr: "https://researchr.org/publication/KuipersV01" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "44" number: "2" pages: "34-58" kind: "article" key: "KuipersV01" - title: "Object-oriented tree traversal with JJForester" author: - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2003" doi: "http://dx.doi.org/10.1016/S0167-6423(02)00108-9" abstract: "We want to use the advanced language processing technology available in the in combination with general purpose programming languages. In particular, we want to combine the syntax definition formalism ( ) and the associated components that support generalized LR parsing, with the object-oriented language Java. To this end, we implemented JJForester, a tool that generates class structures from grammar definitions. The generated class structures implement a number of design patterns to facilitate construction and traversal of parse trees represented by object structures. In a detailed case study, we demonstrate how program analyses and transformations for languages of non-trivial size can be constructed with JJForester." links: doi: "http://dx.doi.org/10.1016/S0167-6423(02)00108-9" tags: - "programming languages" - "object-oriented programming" - "Java" - "syntax definition" - "meta programming" - "pattern language" - "generic programming" - "case study" - "traversal" - "transformation language" - "language design" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "design" - "feature-oriented programming" - "meta-objects" - "transformation" - "grammar" - "program transformation" researchr: "https://researchr.org/publication/KuipersV03" cites: 0 citedby: 0 journal: "Science of Computer Programming" volume: "47" number: "1" pages: "59-87" kind: "article" key: "KuipersV03" - title: "Eine (realisierte) Metasprache zur Definition von Syntax und Semantik von Fachsprachen" author: - name: "Jürgen Lötzsch" link: "https://researchr.org/alias/j%C3%BCrgen-l%C3%B6tzsch" year: "1975" tags: - "syntax definition" researchr: "https://researchr.org/publication/Lotzsch75" cites: 0 citedby: 0 journal: "Elektronische Informationsverarbeitung und Kybernetik" volume: "11" number: "4-6" pages: "360-370" kind: "article" key: "Lotzsch75" - title: "Practical LR error recovery" author: - name: "Susan L. Graham" link: "https://researchr.org/alias/susan-l.-graham" - name: "Charles B. Haley" link: "https://researchr.org/alias/charles-b.-haley" - name: "William N. Joy" link: "https://researchr.org/alias/william-n.-joy" year: "1979" doi: "http://doi.acm.org/10.1145/800229.806967" links: doi: "http://doi.acm.org/10.1145/800229.806967" researchr: "https://researchr.org/publication/GrahamHJ79" cites: 0 citedby: 0 pages: "168-175" booktitle: "Proceedings of the 1979 SIGPLAN Symposium on Compiler Construction, Denver, Colorado, USA, August 6-10, 1979" publisher: "ACM" kind: "inproceedings" key: "GrahamHJ79" - title: "LL and LR translators need k>1 lookahead" author: - name: "Parr, Terence J." link: "https://researchr.org/alias/parr%2C-terence-j." - name: "Quong, Russell W." link: "https://researchr.org/alias/quong%2C-russell-w." year: "1996" doi: "http://doi.acm.org/10.1145/226060.226066" links: doi: "http://doi.acm.org/10.1145/226060.226066" researchr: "https://researchr.org/publication/pqr96" cites: 0 citedby: 0 journal: "SIGPLAN Not." volume: "31" number: "2" kind: "article" key: "pqr96" - title: "Adding Concrete Syntax to a Prolog-Based Program Synthesis System (Extended Abstract)" author: - name: "Bernd Fischer" link: "http://www.ecs.soton.ac.uk/people/bf" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" doi: "https://doi.org/10.1007/978-3-540-25938-1_5" abstract: "Program generation and transformation systems work on two language levels, the object-level (i.e., the language of the manipulated programs), and the meta-level (i.e., the implementation language of the system itself). The meta-level representations of object-level program fragments are usually built in an essentially syntax-free fashion using the operations provided by the meta-language. However, syntax matters and a large conceptual distance between the two languages makes it difficult to maintain and extend such systems. Here we describe how an existing Prolog-based system can gradually be retrofitted with concrete object-level syntax using the approach outlined in [5], thus shrinking this distance." links: doi: "https://doi.org/10.1007/978-3-540-25938-1_5" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "concrete object syntax" - "Prolog" - "rule-based" - "meta programming" - "AutoBayes" - "meta-model" - "abstract syntax" - "Stratego/XT" - "transformation language" - "source-to-source" - "transformation system" - "model transformation" - "programming" - "subject-oriented programming" - "Meta-Environment" - "systematic-approach" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/FischerV03" cites: 0 citedby: 0 pages: "56-58" booktitle: "Logic Based Program Synthesis and Transformation, 13th International Symposium LOPSTR 2003, Uppsala, Sweden, August 25-27, 2003, Revised Selected Papers" editor: - name: "Maurice Bruynooghe" link: "https://researchr.org/alias/maurice-bruynooghe" volume: "3018" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22174-3" kind: "inproceedings" key: "FischerV03" - title: "A Pretty-Printer for Every Occasion" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2000" tags: - "prettyprinting" researchr: "https://researchr.org/publication/Jon00" cites: 0 citedby: 0 booktitle: "The International Symposium on Constructing Software Engineering Tools (CoSET2000)" publisher: "University of Wollongong, Australia" kind: "inproceedings" key: "Jon00" - title: "Generating Test Data with Enhanced Context-Free Grammars" author: - name: "Peter M. Maurer" link: "https://researchr.org/alias/peter-m.-maurer" year: "1990" doi: "http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=56422&tag=1" abstract: "The use of context-free grammars to improve functional testing of very-large-scale integrated circuits is described. It is shown that enhanced context-free grammars are effective tools for generating test data. The discussion covers preliminary considerations, the first tests, generating systematic tests, and testing subroutines. The author's experience using context-free grammars to generate tests for VLSI circuit simulators indicates that they are remarkably effective tools that virtually anyone can use to debug virtually any program." links: doi: "http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=56422&tag=1" tags: - "functional programming" - "testing" - "data-flow programming" - "debugging" - "context-aware" - "systematic-approach" - "grammar" researchr: "https://researchr.org/publication/Maurer90%3A1" cites: 0 citedby: 0 journal: "IEEE Software" volume: "7" number: "4" pages: "50-55" kind: "article" key: "Maurer90:1" - title: "Generalised Parsing: Some Costs" author: - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2004" doi: "http://dx.doi.org/10.1007/b95956" abstract: "We discuss generalisations of bottom up parsing, emphasising the relative costs for real programming languages. Our goal is to provide a roadmap of the available approaches in terms of their space and time performance for programming language applications, focusing mainly on GLR style algorithms. It is well known that the original Tomita GLR algorithm fails to terminate on hidden left recursion: here we analyse two approaches to correct GLR parsing (i) the modification due to Farshi that is incorporated into Visserrsquos work and (ii) our own right-nullable GLR (RNGLR) algorithm, showing that Farshirsquos approach can be expensive. We also present results from our new Binary RNGLR algorithm which is asymptotically the fastest parser in this family and show that the recently reported reduction incorporated parsers can require automata that are too large to be practical on current machines." links: doi: "http://dx.doi.org/10.1007/b95956" tags: - "parsing algorithm" - "programming languages" - "GLR parsing" - "GLR" - "programming" - "parsing" - "systematic-approach" researchr: "https://researchr.org/publication/JohnstoneSE04" cites: 0 citedby: 0 pages: "89-103" booktitle: "Compiler Construction, 13th International Conference, CC 2004, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, Barcelona, Spain, March 29 - April 2, 2004, Proceedings" volume: "2985" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-21297-3" kind: "inproceedings" key: "JohnstoneSE04" - title: "GLR parsing with multiple grammars for natural language queries" author: - name: "Helen Meng" link: "https://researchr.org/alias/helen-meng" - name: "Po-Chui Luk" link: "https://researchr.org/alias/po-chui-luk" - name: "Kui Xu" link: "https://researchr.org/alias/kui-xu" - name: "Fuliang Weng" link: "https://researchr.org/alias/fuliang-weng" year: "2002" doi: "http://doi.acm.org/10.1145/568954.568956" links: doi: "http://doi.acm.org/10.1145/568954.568956" tags: - "GLR parsing" - "GLR" - "parsing" - "grammar" - "query language" researchr: "https://researchr.org/publication/MengLXW02" cites: 0 citedby: 0 journal: "ACM Trans. Asian Lang. Inf. Process." volume: "1" number: "2" pages: "123-144" kind: "article" key: "MengLXW02" - title: "A Minimum Distance Error-Correcting Parser for Context-Free Languages" author: - name: "Alfred V. Aho" link: "http://www1.cs.columbia.edu/~aho/" - name: "Thomas G. Peterson" link: "https://researchr.org/alias/thomas-g.-peterson" year: "1972" tags: - "context-aware" - "parsing" researchr: "https://researchr.org/publication/AhoP72" cites: 0 citedby: 0 journal: "SIAM Journal on Computing" volume: "1" number: "4" pages: "305-312" kind: "article" key: "AhoP72" - title: "Character Classes" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "August" abstract: "Character classes are used in syntax definition formalisms as compact representations of sets of characters. A character class is a list of characters and ranges of characters. For instance [A-Z0-9] describes the set containing all uppercase characters and all digits. One set of characters can be represented in many ways with character classes. In this paper an algebraic specification of character classes is presented. We define a normalization of character classes that results in unique, most compact normal forms such that equality of character classes becomes syntactic equality of their normal forms." links: "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9708.ps" tags: - "syntax definition" - "SDF" - "term rewriting" - "character class" - "graph-rewriting" - "algebraic specification" - " algebra" - "rewriting" - "ASF+SDF" researchr: "https://researchr.org/publication/Visser97-CC" cites: 0 citedby: 0 institution: "Programming Research Group, University of Amsterdam" number: "P9708" kind: "techreport" key: "Visser97-CC" - title: "Detection of Generative Ambiguities in Context-Free Mechanical Languages" author: - name: "Gorn, Saul" link: "https://researchr.org/alias/gorn%2C-saul" year: "1963" doi: "http://doi.acm.org/10.1145/321160.321168" links: doi: "http://doi.acm.org/10.1145/321160.321168" tags: - "context-aware" researchr: "https://researchr.org/publication/gorn63det" cites: 0 citedby: 0 journal: "J. ACM" volume: "10" number: "2" kind: "article" key: "gorn63det" - title: "Multi-Level Specifications" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1996" month: "September" abstract: "This chapter introduces a modular, applicative, multi-level equational specification formalism that supports algebraic specification with user-definable type constructors, polymorphic functions and higher-order functions. Specifications consist of one or more levels numbered $0$ to $n$. Level~0 defines the object level terms. Level~1 defines the types used in the signature of level~0. In general, the terms used as types in level~$n$ are defined in level~$n+1$. This setup makes the algebra of types and the algebra of types of types, etc., user-definable. The applicative term structure makes functions first-class citizens and facilitates higher-order functions. The use of variables in terms used as types provides polymorphism (including higher-order polymorphism, i.e., abstraction over type constructors). Functions and variables can be overloaded. Specifications can be divided into modules. Modules can be imported at several levels by means of a specification lifting operation. Equations define the semantics of terms over a signature. The formalism also allows equations over types, by means of which many type systems can be described. The typechecker presented in this chapter does not take into account type equations. The specification, in Asf+Sdf, of the syntax, type system and semantics of the formalism is presented in three stages: (1) untyped equational specifications (2) applicative one-level specifications (3) modular multi-level specifications. The definition of a typechecker for stages (2) and (3) is divided into four parts: (a) well-formedness judgements verifying type correctness of fully annotated terms and specifications, (b) non well-formedness rules giving descriptive error messages for the cases not covered under (a), (c) a type assignment function annotating the terms in a plain specification with types, and (d) a typechecking function which checks well-formedness after applying type assignment. These functions are defined uniformly for all levels of a specification. Aside of defining a new specification formalism, this chapter illustrates the use of Asf+Sdf for the design and prototyping of sophisticated specification formalisms." links: "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9604.ps" tags: - "semantics" - "rule-based" - "syntax definition" - "SDF" - "multi-level specification" - "language design" - "type system" - "rules" - "algebraic specification" - "C++" - "type checking" - " algebra" - "abstraction" - "design" - "ASF+SDF" - "language prototyping" researchr: "https://researchr.org/publication/Visser96" cites: 0 citedby: 0 booktitle: "Language Prototyping. An Algebraic Specification Approach" editor: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Jan Heering" link: "http://homepages.cwi.nl/~jan/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" volume: "5" series: "AMAST Series in Computing" address: "Singapore" publisher: "World Scientific" kind: "incollection" key: "Visser96" - title: "Declarative, formal, and extensible syntax definition for AspectJ" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Éric Tanter" link: "http://pleiad.dcc.uchile.cl/people/etanter" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "http://doi.acm.org/10.1145/1167473.1167491" abstract: " Aspect-Oriented Programming (AOP) is attracting attention from both research and industry, as illustrated by the ever-growing popularity of AspectJ, the de facto standard AOP extension of Java. From a compiler construction perspective AspectJ is interesting as it is a typical example of compositional language, ie a language composed of a number of separate languages with different syntactical styles: in addition to plain Java, AspectJ includes a language for defining pointcuts and one for defining advices. Language composition represents a non-trivial challenge for conventional parsing techniques. First, combining several languages with different lexical syntax leads to considerable complexity in the lexical states to processed. Second, as new language features for AOP are being explored, many research proposals are concerned with further extending the AspectJ language, resulting in a need for an extensible syntax definition.This paper shows how scannerless parsing elegantly addresses the issues encountered by conventional techniques when parsing AspectJ . We present the design of a modular, extensible, and formal definition of the lexical and context-free aspects of the AspectJ syntax in the Syntax Definition Formalism SDF, which is implemented by a scannerless, generalized-LR parser (SGLR). We introduce grammar mixins as a novel application of SDF's modularity features, which allows the declarative definition of different keyword policies and combination of extensions. We illustrate the modular extensibility of our definition with syntax extensions taken from current research on aspect languages. Finally, benchmarks show the reasonable performance of scannerless generalized-LR parsing for this grammar. " links: doi: "http://doi.acm.org/10.1145/1167473.1167491" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "Java" - "syntax definition" - "SDF" - "lexical syntax" - "design complexity" - "composition" - "design research" - "language design" - "aspect oriented programming" - "compiler" - "programming" - "subject-oriented programming" - "context-aware" - "language composition" - "parsing" - "design" - "scannerless parsing" - "extensible language" - "ASF+SDF" - "feature-oriented programming" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/BravenboerTV06" cites: 0 citedby: 1 pages: "209-228" booktitle: "Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA" editor: - name: "Peri L. Tarr" link: "http://portal.acm.org/author_page.cfm?id=81100131551&coll=GUIDE&dl=GUIDE&trk=0&CFID=51133021&CFTOKEN=87963901" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" publisher: "ACM" isbn: "1-59593-348-4" kind: "inproceedings" key: "BravenboerTV06" - title: "The syntax definition formalism SDF - reference manual" author: - name: "Jan Heering" link: "http://homepages.cwi.nl/~jan/" - name: "P. R. H. Hendriks" link: "https://researchr.org/alias/p.-r.-h.-hendriks" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Jan Rekers" link: "http://www.cwi.nl" year: "1989" doi: "http://doi.acm.org/10.1145/71605.71607" abstract: "SDF is a formalism for the definition of syntax which is comparable to BNF in some respects, but has a wider scope in that it also covers the definition of lexical and abstract syntax. Its design and implementation are tailored towards the language designer who wants to develop new languages as well as implement existing ones in a highly interactive manner. It emphasizes compactness of syntax definitions by offering (a) a standard interface between lexical and context-free syntax; (b) a standard correspondence between context-free and abstract syntax; (c) powerful disambiguation and list constructs; and (d) an efficient incremental implementation which accepts arbitrary context-free syntax definitions. SDF can be combined with a variety of programming and specification languages. In this way these obtain fully general user-definable syntax. " links: doi: "http://doi.acm.org/10.1145/71605.71607" tags: - "programming languages" - "syntax definition" - "SDF" - "lexical syntax" - "abstract syntax" - "disambiguation" - "language design" - "C++" - "programming" - "context-aware" - "incremental" - "design" - "ASF+SDF" researchr: "https://researchr.org/publication/HeeringHKR89" cites: 0 citedby: 4 journal: "SIGPLAN Notices" volume: "24" number: "11" pages: "43-75" kind: "article" key: "HeeringHKR89" - title: "Elkhound: A Fast, Practical GLR Parser Generator" author: - name: "Scott McPeak" link: "https://researchr.org/alias/scott-mcpeak" - name: "George C. Necula" link: "https://researchr.org/alias/george-c.-necula" year: "2004" doi: "https://doi.org/10.1007/978-3-540-24723-4_6" links: doi: "https://doi.org/10.1007/978-3-540-24723-4_6" tags: - "GLR parsing" - "GLR" - "C++" - "parsing" researchr: "https://researchr.org/publication/McPeakN04" cites: 0 citedby: 0 pages: "73-88" booktitle: "Compiler Construction, 13th International Conference, CC 2004, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, Barcelona, Spain, March 29 - April 2, 2004, Proceedings" volume: "2985" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-21297-3" kind: "inproceedings" key: "McPeakN04" - title: "Wikipedia: Camlp4" doi: "http://en.wikipedia.org/wiki/Camlp4" abstract: "Camlp4 is a software system for writing extensible parsers for programming languages. It provides a set of Objective Caml libraries that are used to define grammars as well as loadable syntax extensions of such grammars. Camlp4 stands for Caml Preprocessor and Pretty-Printer and one of its most important applications is the definition of domain-specific extensions of the syntax of OCaml." links: doi: "http://en.wikipedia.org/wiki/Camlp4" tags: - "programming languages" - "syntax definition" - "writing" - "programming" - "parsing" - "extensible language" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/camlp4-wikipedia" cites: 0 citedby: 0 howpublished: "\\url{http://en.wikipedia.org/wiki/Camlp4}" kind: "misc" key: "camlp4-wikipedia" - title: "Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax" author: - name: "Bernd Fischer" link: "http://www.ecs.soton.ac.uk/people/bf" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" doi: "https://doi.org/10.1007/978-3-540-25935-0_14" abstract: "AUTOBAYES is a fully automatic, schema-based program synthesis system for statistical data analysis applications. Its core component is a schema library, i.e., a collection of generic code templates with associated applicability constraints which are instantiated in a problem-specific way during synthesis. Currently, AUTOBAYE S is implemented in Prolog; the schemas thus use abstract syntax (i.e., Prolog terms) to formulate the templates. However, the conceptual distance between this abstract representation and the concrete syntax of the generated programs makes the schemas hard to create and maintain. In this paper we describe how AUTOBAYE S is retrofitted with concrete syn- tax. We show how it is integrated into Prolog and describe how the seamless interaction of concrete syntax fragments with AUTOBAYE S’s remaining “legacy” meta-programming kernel based on abstract syntax is achieved. We apply the approach to gradually migrate individual schemas without forcing a disruptive migration of the entire system to a different meta-programming language. First experiences show that a smooth migration can be achieved. Moreover, it can re- sult in a considerable reduction of the code size and improved readability of the code. In particular, abstracting out fresh-variable generation and second-order term construction allows the formulation of larger continuous fragments." links: doi: "https://doi.org/10.1007/978-3-540-25935-0_14" "technical report": "http://www.cs.uu.nl/research/techreps/UU-CS-2004-012.html" tags: - "programming languages" - "object-oriented programming" - "concrete object syntax" - "Prolog" - "rule-based" - "program analysis" - "meta programming" - "data-flow language" - "generic programming" - "program synthesis" - "AutoBayes" - "SDF" - "meta-model" - "XML" - "abstract syntax" - "XML Schema" - "Stratego/XT" - "analysis" - "constraints" - "data-flow programming" - "data-flow" - "migration" - "code generation" - "language embedding" - "programming" - "subject-oriented programming" - "Meta-Environment" - "data-flow analysis" - "systematic-approach" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "Stratego" researchr: "https://researchr.org/publication/FischerV04-dagstuhl" cites: 0 citedby: 0 pages: "239-253" booktitle: "Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers" editor: - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" volume: "3016" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22119-0" kind: "inproceedings" key: "FischerV04-dagstuhl" - title: "Evaluating GLR parsing algorithms" author: - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2006" doi: "http://dx.doi.org/10.1016/j.scico.2006.04.004" abstract: "We describe the behaviour of three variants of GLR parsing: (i) Farshi’s original correction to Tomita’s non-general algorithm; (ii) the Right Nulled GLR algorithm which provides a more efficient generalisation of Tomita and (iii) the Binary Right Nulled GLR algorithm, on three types of LR table. We present a guide to the parse-time behaviour of these algorithms which illustrates the inefficiencies in conventional Farshi-style GLR parsing. We also describe the tool GTB (Grammar Tool Box) which provides a platform for comparative studies of parsing algorithms; and use GTB to exercise the three GLR algorithms running with LR(0), SLR(1) and LR(1) tables for ANSI-C, ISO-Pascal and IBM VS-COBOL. We give results showing the size of the structures constructed by these parsers and the amount of searching required during the parse, which abstracts their runtime." links: doi: "http://dx.doi.org/10.1016/j.scico.2006.04.004" tags: - "parsing algorithm" - "GLR parsing" - "context free languages" - "GLR" - "C++" - "context-aware" - "Cobol" - "parsing" - "Pascal" - "grammar types" - "grammar" researchr: "https://researchr.org/publication/JohnstoneSE06" cites: 0 citedby: 0 journal: "Science of Computer Programming" volume: "61" number: "3" pages: "228-244" kind: "article" key: "JohnstoneSE06" - title: "YACC: Yet Another Compiler-Compiler" author: - name: "S. C. Johnson" link: "https://researchr.org/alias/s.-c.-johnson" year: "1975" tags: - "YACC" - "C++" - "compiler" researchr: "https://researchr.org/publication/Joh75.yacc" cites: 0 citedby: 1 institution: "AT\\&T Bell Laboratories" number: "CS-32" address: "Murray Hill, NJ, USA" kind: "techreport" key: "Joh75.yacc" - title: "Languages evolve too! Changing the Software Time Scale" author: - name: "Jean-Marie Favre" link: "http://megaplanet.org/jean-marie-favre/" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/IWPSE.2005.22" links: doi: "http://doi.ieeecomputersociety.org/10.1109/IWPSE.2005.22" researchr: "https://researchr.org/publication/Favre05" cites: 0 citedby: 2 pages: "33-44" booktitle: "8th International Workshop on Principles of Software Evolution (IWPSE 2005), 5-7 September 2005, Lisbon, Portugal" publisher: "IEEE Computer Society" isbn: "0-7695-2349-8" kind: "inproceedings" key: "Favre05" - title: "Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Rob Vermaas" link: "https://researchr.org/profile/robvermaas/publications" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2005" doi: "http://dx.doi.org/10.1007/11561347_12" abstract: "In meta programming with concrete object syntax, object-level programs are composed from fragments written in concrete syntax. The use of small program fragments in such quotations and the use of meta-level expressions within these fragments (anti-quotation) often leads to ambiguities. This problem is usually solved through explicit disambiguation, resulting in considerable syntactic overhead. A few systems manage to reduce this overhead by using type information during parsing. Since this is hard to achieve with traditional parsing technology, these systems provide specific combinations of meta and object languages, and their implementations are difficult to reuse. In this paper, we generalize these approaches and present a language independent method for introducing concrete object syntax without explicit disambiguation. The method uses scannerless generalized-LR parsing to parse meta programs with embedded object-level fragments, which produces a forest of all possible parses. This forest is reduced to a tree by a disambiguating type checker for the meta language. To validate our method we have developed embeddings of several object languages in Java, including AspectJ and Java itself. " links: doi: "http://dx.doi.org/10.1007/11561347_12" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "concrete object syntax" - "rule-based" - "Java" - "syntax definition" - "meta programming" - "SDF" - "meta-model" - "disambiguation" - "type system" - "reuse" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerVVV05" cites: 0 citedby: 2 pages: "157-172" booktitle: "Generative Programming and Component Engineering, 4th International Conference, GPCE 2005" editor: - name: "Robert Glück" link: "http://www.diku.dk/hjemmesider/ansatte/glueck/" - name: "Michael R. Lowry" link: "https://researchr.org/alias/michael-r.-lowry" volume: "3676" series: "Lecture Notes in Computer Science" address: "Tallinn, Estonia" publisher: "Springer" isbn: "3-540-29138-5" kind: "inproceedings" key: "BravenboerVVV05" - title: "Right nulled GLR parsers" author: - name: "Elizabeth Scott" link: "https://researchr.org/alias/elizabeth-scott" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" year: "2006" doi: "http://doi.acm.org/10.1145/1146810" links: doi: "http://doi.acm.org/10.1145/1146810" tags: - "GLR parsing" - "GLR" - "parsing" researchr: "https://researchr.org/publication/ScottJ06" cites: 0 citedby: 0 journal: "ACM Transactions on Programming Languages and Systems" volume: "28" number: "4" pages: "577-618" kind: "article" key: "ScottJ06" - title: "Chinese Syntactic Parsing Based on Extended GLR Parsing Algorithm with PCFG*" author: - name: "Yan Zhang" link: "https://researchr.org/alias/yan-zhang" - name: "Bo Xu" link: "https://researchr.org/alias/bo-xu" - name: "Chengqing Zong" link: "https://researchr.org/alias/chengqing-zong" year: "2002" doi: "http://acl.ldc.upenn.edu/C/C02/C02-2028.pdf" links: doi: "http://acl.ldc.upenn.edu/C/C02/C02-2028.pdf" tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "GLR" - "parsing" researchr: "https://researchr.org/publication/ZhangXZ02" cites: 0 citedby: 0 booktitle: "COLING" kind: "inproceedings" key: "ZhangXZ02" - title: "Parsing Algorithms with Backtrack" author: - name: "Alexander Birman" link: "https://researchr.org/alias/alexander-birman" - name: "Jeffrey D. Ullman" link: "https://researchr.org/alias/jeffrey-d.-ullman" year: "1970" tags: - "parsing algorithm" - "parsing expression grammars" - "parsing" researchr: "https://researchr.org/publication/BirmanU70" cites: 0 citedby: 0 pages: "153-174" booktitle: "Conference Record of 1970 Eleventh Annual Symposium on Switching and Automata Theory, 28-30 October 1970, Santa Monica, California, USA" publisher: "IEEE" kind: "inproceedings" key: "BirmanU70" - title: "Toward an engineering discipline for grammarware" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" year: "2005" doi: "http://doi.acm.org/10.1145/1072997.1073000" links: doi: "http://doi.acm.org/10.1145/1072997.1073000" researchr: "https://researchr.org/publication/KlintLV05" cites: 2 citedby: 1 journal: "ACM Transactions on Software Engineering Methodology" volume: "14" number: "3" pages: "331-380" kind: "article" key: "KlintLV05" - title: "Grammars as Contracts" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2000" doi: "http://link.springer.de/link/service/series/0558/bibs/2177/21770085.htm" abstract: "Component-based development of language tools stands in need of meta-tool support. This support can be offered by generation of code — libraries or full-fledged components — from syntax definitions. We develop a comprehensive architecture for such syntax-driven meta-tooling in which grammars serve as contracts between components. This architecture addresses exchange and processing both of full parse trees and of abstract syntax trees, and it caters for the integration of generated parse and pretty-print components with tree processing components. We discuss an instantiation of the architecture for the syntax definition formalism SDF, integrating both existing and newly developed meta-tools that support SDF. The ATerm format is adopted as exchange format. This instantiation gives special attention to adaptability, scalability, reusability, and maintainability issues surrounding language tool development." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2177/21770085.htm" tags: - "generative programming" - "programming languages" - "reusable components" - "rule-based" - "syntax definition" - "meta programming" - "SDF" - "contracts" - "meta-model" - "abstract syntax" - "language engineering" - "architecture" - "grammar engineering" - "reuse" - "model-driven development" - "model-driven engineering" - "code generation" - "Meta-Environment" - "parsing" - "ASF+SDF" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/JongeV00" cites: 0 citedby: 0 pages: "85-99" booktitle: "Generative and Component-Based Software Engineering, Second International Symposium, GCSE 2000, Erfurt, Germany, October 9-12, 2000, Revised Papers" editor: - name: "Gregory Butler" link: "https://researchr.org/alias/gregory-butler" - name: "Stan Jarzabek" link: "https://researchr.org/alias/stan-jarzabek" volume: "2177" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-42578-0" kind: "inproceedings" key: "JongeV00" - title: "Using Filters for the Disambiguation of Context-free Grammars" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1994" month: "October" abstract: "An ambiguous context-free grammar defines a language in which some sentences have multiple interpretations. For conciseness, ambiguous context-free grammars are frequently used to define even completely unambiguous languages and numerous disambiguation methods exist for specifying which interpretation is the intended one for each sentence. The existing methods can be divided in `parser specific' methods that describe how some parsing technique deals with ambiguous sentences and `logical' methods that describe the intended interpretation without reference to a specific parsing technique. We propose a framework of \\em filters\\/ to describe and compare a wide range of disambiguation problems in a parser-independent way. A filter is a function that selects from a set of parse trees (the canonical representation of the interpretations of a sentence) the intended trees. The framework enables us to define several general properties of disambiguation methods. The expressive power of filters is illustrated by several case studies. Finally, a start is made with the study of efficient implementation techniques for filters by exploiting the commutativity of parsing steps and filter steps for certain classes of filters." links: technicalreport: "https://researchr.org/publication/KlintV94-P9426" tags: - "case study" - "disambiguation" - "context-aware" - "parsing" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/KlintV94" cites: 0 citedby: 0 booktitle: "Proceedings of the ASMICS Workshop on Parsing Theory" address: "Milano, Italy" publisher: "Tech. Rep. 126--1994, Dipartimento di Scienze dell'Informazione, Universit\\`a di Milano" kind: "inproceedings" key: "KlintV94" - title: "BRN-table based GLR parsers" author: - name: "Elizabeth Scott" link: "http://www.cs.rhul.ac.uk/People/staff/scott.html" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" year: "2003" month: "July 2006" tags: - "GLR parsing" - "rule-based" - "GLR" - "parsing" researchr: "https://researchr.org/publication/SCOTT03a" cites: 0 citedby: 0 institution: "Royal Holloway, University of London" number: "CSD-TR-03-06" kind: "techreport" key: "SCOTT03a" - title: "Syntax Definition for Language Prototyping" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "September" abstract: "Language prototyping is the activity of designing and testing definitions of new or existing computer languages. An important aspect of a language definition is the definition of its syntax. The subject of this thesis are new formalisms and techniques that support the development and prototyping of syntax definitions. There are four main subjects: (1) Techniques for parsing and disambiguation of context-free languages. (2) Design and implementation of a new syntax definition formalism. (3) Design of a multi-level algebraic specification formalism. (4) Study of polymorphic syntax definition. " tags: - "syntax definition" - "SDF" - "syntax definition formalism" - "disambiguation" - "testing" - "language design" - "graph-rewriting" - "algebraic specification" - " algebra" - "context-aware" - "rewriting" - "parsing" - "design" - "scannerless parsing" - "ASF+SDF" - "SGLR" researchr: "https://researchr.org/publication/Visser97" cites: 0 citedby: 6 school: "University of Amsterdam" advisor: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" kind: "phdthesis" key: "Visser97" - title: "Parser Generation for Interactive Environments" author: - name: "Jan Rekers" link: "http://www.cwi.nl" year: "1992" month: "January" links: "url": "https://homepages.cwi.nl/~paulk/dissertations/Rekers.pdf" tags: - "GLR parsing" - "GLR" - "Meta-Environment" - "parsing" researchr: "https://researchr.org/publication/Rekers1992" cites: 0 citedby: 3 school: "University of Amsterdam" address: "Amsterdam, The Netherlands" advisor: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" kind: "phdthesis" key: "Rekers1992" - title: "Extensible syntax with lexical scoping" author: - name: "Luca Cardelli" link: "http://lucacardelli.name" - name: "Florian Matthes" link: "https://researchr.org/alias/florian-matthes" - name: "Martín Abadi" link: "https://researchr.org/alias/mart%C3%ADn-abadi" year: "1994" month: "February" doi: "http://lucacardelli.name/Papers/SRC-121.ps" abstract: "A frequent dilemma in programming language design is the choice between a language with a rich set of notations and a small simple core language. We address this dilemma by proposing extensible grammars, a syntax definition formalism for incremental language extensions and restrictions. The translation of programs written in rich object languages into a small core language is defined via syntax-directed patterns. In contrast to macro- expansion and program-rewriting tools, our extensible grammars respect scoping rules. Therefore, we can introduce binding constructs while avoiding problems with unwanted name clashes. We develop extensible grammars and illustrate their use by extending the lambda calculus with let-bindings conditionals and constructs from database programming languages, such as SQL query expressions. We then give a formal description of the underlying rules for parsing transformation and substitution Finally, we sketch how these rules are exploited in an implementation of a generic, extensible parser package." links: doi: "http://lucacardelli.name/Papers/SRC-121.ps" "cardelli's papers": "http://lucacardelli.name/indexPapers.html" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "translation" - "syntax definition" - "meta programming" - "pattern language" - "generic programming" - "lexical syntax" - "graph transformation" - "graph query" - "SQL" - "extensible grammar" - "transformation language" - "language design" - "macros" - "graph-rewriting" - "rules" - "programming" - "subject-oriented programming" - "database" - "Meta-Environment" - "rewriting" - "parsing" - "incremental" - "design" - "extensible language" - "feature-oriented programming" - "meta-objects" - "transformation" - "grammar" - "query language" - "program transformation" researchr: "https://researchr.org/publication/CardelliMA94" cites: 0 citedby: 1 institution: "Digital Equipment Corporation Systems Research Center" type: "SRC Research Report" number: "121" kind: "techreport" key: "CardelliMA94" - title: "The disambiguation and scannerless parsing of complete character-level grammars for programming languages" author: - name: "Salomon, D.J." link: "https://researchr.org/alias/salomon%2C-d.j." - name: "Cormack, G.V." link: "https://researchr.org/alias/cormack%2C-g.v." year: "1995" tags: - "programming languages" - "completeness" - "disambiguation" - "programming" - "parsing" - "scannerless parsing" - "grammar" researchr: "https://researchr.org/publication/salomon-disambiguation" cites: 0 citedby: 1 institution: "Department of Computer Science, University of Manitoba" number: "95/06" address: "Winnipeg, Canada" kind: "techreport" key: "salomon-disambiguation" - title: "Parse Table Composition" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_6" abstract: "Module systems, separate compilation, deployment of binary components, and dynamic linking have enjoyed wide acceptance in programming languages and systems. In contrast, the syntax of languages is usually defined in a non-modular way, cannot be compiled separately, cannot easily be combined with the syntax of other languages, and cannot be deployed as a component for later composition. Grammar formalisms that do support modules use whole program compilation. Current extensible compilers focus on source-level extensibility, which requires users to compile the compiler with a specific configuration of extensions. A compound parser needs to be generated for every combination of extensions. The generation of parse tables is expensive, which is a particular problem when the composition configuration is not fixed to enable users to choose language extensions. In this paper we introduce an algorithm for parse table composition to support separate compilation of grammars to parse table components. Parse table components can be composed (linked) efficiently at runtime, i.e. just before parsing. While the worst-case time complexity of parse table composition is exponential (like the complexity of parse table generation itself), for realistic language combination scenarios involving grammars for real languages, our parse table composition algorithm is an order of magnitude faster than computation of the parse table for the combined grammars. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_6" tags: - "parsing algorithm" - "programming languages" - "deployment" - "syntax definition" - "SDF" - "composition" - "source-to-source" - "parse table composition" - "compiler" - "programming" - "language composition" - "parsing" - "extensible language" - "ASF+SDF" - "open-source" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV08" cites: 0 citedby: 0 pages: "74-94" booktitle: "Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers" editor: - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Eric {Van Wyk}" link: "http://www-users.cs.umn.edu/~evw/" volume: "5452" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-00433-9" kind: "inproceedings" key: "BravenboerV08" - title: "On The Ambiguity Problem of Backus Systems" author: - name: "David G. Cantor" link: "https://researchr.org/alias/david-g.-cantor" year: "1962" doi: "http://doi.acm.org/10.1145/321138.321145" links: doi: "http://doi.acm.org/10.1145/321138.321145" researchr: "https://researchr.org/publication/Cantor62" cites: 0 citedby: 0 journal: "Journal of the ACM" volume: "9" number: "4" pages: "477-479" kind: "article" key: "Cantor62" - title: "Deterministic Parsing of Ambiguous Grammars" author: - name: "Alfred V. Aho" link: "http://www1.cs.columbia.edu/~aho/" - name: "Steven C. Johnson" link: "https://researchr.org/alias/steven-c.-johnson" - name: "Jeffrey D. Ullman" link: "https://researchr.org/alias/jeffrey-d.-ullman" year: "1973" links: successor: "https://researchr.org/publication/AhoJU75" tags: - "C++" - "parsing" - "grammar" researchr: "https://researchr.org/publication/AhoJU73" cites: 0 citedby: 0 pages: "1-21" booktitle: "POPL" kind: "inproceedings" key: "AhoJU73" - title: "delete me" year: "1957" researchr: "https://researchr.org/publication/deleteme-4" cites: 0 citedby: 0 journal: "delete me" kind: "article" key: "deleteme-4" - title: "The Holy Bible" author: - name: " Moses" link: "http://www.gotmoses.com" - name: "Joshua" link: "https://researchr.org/alias/joshua" - name: "Samuel" link: "https://researchr.org/alias/samuel" - name: "Nathan" link: "https://researchr.org/alias/nathan" - name: "Gad" link: "https://researchr.org/alias/gad" - name: "Jeremiah" link: "https://researchr.org/alias/jeremiah" - name: "Ezra" link: "https://researchr.org/alias/ezra" - name: " Mordecai" link: "https://researchr.org/alias/mordecai" - name: "David" link: "https://researchr.org/alias/david" - name: "Solomon" link: "https://researchr.org/alias/solomon" - name: " Isaiah" link: "https://researchr.org/alias/isaiah" - name: "Ezekiel" link: "https://researchr.org/alias/ezekiel" - name: "Daniel" link: "https://researchr.org/alias/daniel" - name: " Hosea" link: "https://researchr.org/alias/hosea" - name: "Joel" link: "https://researchr.org/alias/joel" - name: "Amos" link: "https://researchr.org/alias/amos" - name: " Obadiah" link: "https://researchr.org/alias/obadiah" - name: " Jonah" link: "https://researchr.org/alias/jonah" - name: " Micah" link: "https://researchr.org/alias/micah" - name: "Nahum" link: "https://researchr.org/alias/nahum" - name: "Habakkuk" link: "https://researchr.org/alias/habakkuk" - name: "Haggai" link: "https://researchr.org/alias/haggai" - name: "Zechariah" link: "https://researchr.org/alias/zechariah" - name: "Malachi" link: "https://researchr.org/alias/malachi" - name: "Matthew" link: "https://researchr.org/alias/matthew" - name: "John Mark" link: "https://researchr.org/alias/john-mark" - name: "Luke" link: "https://researchr.org/alias/luke" - name: "John" link: "https://researchr.org/alias/john" - name: "Paul" link: "https://researchr.org/alias/paul" - name: "James" link: "https://researchr.org/alias/james" - name: "Peter" link: "https://researchr.org/alias/peter" - name: "Jude" link: "https://researchr.org/alias/jude" year: "1400 BC-90 AD" abstract: "The Bible refers to the sacred scriptures of Judaism and Christianity. The Hebrew Bible comprises the books known to Christians as the Old Testament which contains two-thirds of the books of the Christian Bible - 39 books. The remaining 27 books form the Christian New Testament." links: "wikipedia": "http://en.wikipedia.org/wiki/Bible" "authors": "http://www.gotquestions.org/Bible-authors.html" researchr: "https://researchr.org/publication/bible" cites: 0 citedby: 0 kind: "book" key: "bible" - title: "Technological Spaces: An Initial Appraisal" author: - name: "Ivan Kurtev" link: "https://researchr.org/alias/ivan-kurtev" - name: "Jean Bézivin" link: "http://www.emn.fr/x-info/bezivin" - name: "Mehmet Aksit" link: "https://researchr.org/alias/mehmet-aksit" year: "2002" abstract: "In this paper, we propose a high level view of technological spaces (TS) and relations among these spaces. A technological space is a working context with a set of associated concepts, body of knowledge, tools, required skills, and possibilities. It is often associated to a given user community with shared know-how, educational support, common literature and even workshop and conference regular meetings. Although it is difficult to give a precise definition, some TSs can be easily identified, e.g. the XML TS, the DBMS TS, the abstract syntax TS, the meta-model (OMG/MDA) TS, etc. The purpose of our work is not to define an abstract theory of technological spaces, but to figure out how to work more efficiently by using the best possibilities of each technology. To do so, we need a basic understanding of the similarities and differences between various TSs, and also of the possible operational bridges that will allow transferring the results obtained in one TS to other TS. We hope that the presented industrial vision may help us putting forward the idea that there could be more cooperation than competition among alternative technologies. Furthermore, as the spectrum of such available technologies is rapidly broadening, the necessity to offer clear guidelines when choosing practical solutions to engineering problems is becoming a must, not only for teachers but for project leaders as well." links: "url": "http://doc.utwente.nl/55814/" tags: - "syntax definition" - "meta-model" - "XML" - "abstract syntax" - "XML Schema" - "model-driven engineering" - "context-aware" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/so55814" cites: 0 citedby: 0 booktitle: "International Symposium on Distributed Objects and Applications, DOA 2002" kind: "inproceedings" key: "so55814" - title: "Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages" author: - name: "Terence John Parr" link: "http://www.cs.usfca.edu/~parrt/" year: "2010" doi: "http://pragprog.com/titles/tpdsl/language-implementation-patterns" abstract: "Learn to build configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. You don’t need a background in computer science—ANTLR creator Terence Parr demystifies language implementation by breaking it down into the most common design patterns. Pattern by pattern, you’ll learn the key skills you need to implement your own computer languages." links: doi: "http://pragprog.com/titles/tpdsl/language-implementation-patterns" tags: - "programming languages" - "design science" - "meta programming" - "data-flow language" - "pattern language" - "meta-model" - "interpreter" - "modeling language" - "language modeling" - "language design" - "data-flow programming" - "data-flow" - "source-to-source" - "e-science" - "ANTLR" - "DSL" - "programming" - "software languages" - "Meta-Environment" - "compilers" - "design" - "interpreters" - "open-source" - "domain-specific language" researchr: "https://researchr.org/publication/Parr%3A2010" cites: 0 citedby: 0 publisher: "The Pragmatic Bookshelf" kind: "book" key: "Parr:2010" - title: "Generating visual editors for formally specified languages" author: - name: "Susan Uskudarli" link: "http://www.cmpe.boun.edu.tr/~uskudarli" year: "1994" abstract: "We discuss the generation of structured visual editors for formally specified languages. Our concept of structured visual editor is a structure--oriented editor which supports the interactive construction of programs as well as provide language specific behavior. This paper describes an approach to the specification of the visual syntax of a language and the generation of a structured visual editor from the formal specification of that language. A simple visual expression editor is presented in order to demonstrate our approach. Our prototype implementation for the structured visual editor and visual definition language is presented at the end of the paper. 1" links: "url": "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.3870" tags: - "programming languages" - "object-oriented programming" - "syntax definition" - "subject-oriented programming" - "systematic-approach" - "feature-oriented programming" - "domain-specific language" researchr: "https://researchr.org/publication/citeulike%3A4275680" cites: 0 citedby: 0 booktitle: "In Proc. 1994 IEEE Symposium Visual Languages" kind: "inproceedings" key: "citeulike:4275680" - title: "Recognition and parsing of context-free languages in time n^3" author: - name: "Younger, D.H." link: "https://researchr.org/alias/younger%2C-d.h." year: "1967" tags: - "context-aware" - "parsing" researchr: "https://researchr.org/publication/younger1967recognition" cites: 0 citedby: 0 journal: "Information and control" volume: "10" number: "2" kind: "article" key: "younger1967recognition" - title: "Adding Semantic and Syntactic Predicates To LL(k): pred-LL(k)" author: - name: "Terence John Parr" link: "http://www.cs.usfca.edu/~parrt/" - name: "Russell W. Quong" link: "https://researchr.org/alias/russell-w.-quong" year: "1994" tags: - "syntax definition" researchr: "https://researchr.org/publication/ParrQ94" cites: 0 citedby: 0 pages: "263-277" booktitle: "Compiler Construction, 5th International Conference, CC 94, Edinburgh, U.K., April 7-9, 1994, Proceedings" editor: - name: "Peter Fritzson" link: "https://researchr.org/alias/peter-fritzson" volume: "786" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-57877-3" kind: "inproceedings" key: "ParrQ94" - title: "GLR: A novel geographic routing scheme for large wireless ad hoc networks" author: - name: "Jongkeun Na" link: "https://researchr.org/alias/jongkeun-na" - name: "Chong-kwon Kim" link: "https://researchr.org/alias/chong-kwon-kim" year: "2006" doi: "http://dx.doi.org/10.1016/j.comnet.2006.01.004" links: doi: "http://dx.doi.org/10.1016/j.comnet.2006.01.004" tags: - "GLR" - "routing" researchr: "https://researchr.org/publication/NaK06" cites: 0 citedby: 0 journal: "Computer Networks" volume: "50" number: "17" pages: "3434-3448" kind: "article" key: "NaK06" - title: "Generalized Bottom Up Parsers With Reduced Stack Activity" author: - name: "Elizabeth Scott" link: "https://researchr.org/alias/elizabeth-scott" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" year: "2005" doi: "http://dx.doi.org/10.1093/comjnl/bxh102" links: doi: "http://dx.doi.org/10.1093/comjnl/bxh102" tags: - "parsing" researchr: "https://researchr.org/publication/ScottJ05" cites: 0 citedby: 0 journal: "Comput. J." volume: "48" number: "5" pages: "565-587" kind: "article" key: "ScottJ05" - title: "Reducing non-determinism in right nulled GLR parsers" author: - name: "Elizabeth Scott" link: "https://researchr.org/alias/elizabeth-scott" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" year: "2004" doi: "http://dx.doi.org/10.1007/s00236-004-0137-z" links: doi: "http://dx.doi.org/10.1007/s00236-004-0137-z" tags: - "GLR parsing" - "GLR" - "parsing" researchr: "https://researchr.org/publication/ScottJ04" cites: 0 citedby: 0 journal: "Acta Informatica" volume: "40" number: "6-7" pages: "459-489" kind: "article" key: "ScottJ04" - title: "Parsing expression grammars: a recognition-based syntactic foundation" author: - name: "Bryan Ford" link: "https://researchr.org/alias/bryan-ford" year: "2004" doi: "http://doi.acm.org/10.1145/964001.964011" links: doi: "http://doi.acm.org/10.1145/964001.964011" tags: - "rule-based" - "parsing" - "grammar" researchr: "https://researchr.org/publication/Ford04-PEG" cites: 0 citedby: 1 pages: "111-122" booktitle: "Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2004, Venice, Italy, January 14-16, 2004" editor: - name: "Neil D. Jones" link: "http://www.diku.dk/hjemmesider/ansatte/neil/" - name: "Xavier Leroy" link: "http://pauillac.inria.fr/~xleroy/" publisher: "ACM" isbn: "1-58113-729-X" kind: "inproceedings" key: "Ford04-PEG" - title: "Crafting a compiler" author: - name: "Fischer, C.N." link: "https://researchr.org/alias/fischer%2C-c.n." - name: "LeBlanc, R.J." link: "https://researchr.org/alias/leblanc%2C-r.j." year: "1988" tags: - "compiler" researchr: "https://researchr.org/publication/fischer1988crafting" cites: 0 citedby: 0 publisher: "Benjamin/Cummings Menlo Park, California, USA" kind: "book" key: "fischer1988crafting" - title: "A Family of Syntax Definition Formalisms" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1995" month: "May" abstract: "In this paper we design a syntax definition formalism as a family of formalisms. Starting with a small kernel, several features for syntax definition are designed orthogonally to each other. This provides a framework for constructing new formalisms by adapting and extending old ones. The formalism is developed with the algebraic specification formalism ASF+SDF. It provides the following features: lexical and context-free syntax, variables, disambiguation by priorities, regular expressions, character classes and modular definitions. New are the uniform treatment of lexical syntax, context-free syntax and variables, the treatment of regular expressions by normalization yielding abstract syntax without auxiliary sorts, regular expressions as result of productions and modules with hidden imports and renamings." links: successor: "https://researchr.org/publication/Visser97-SDF" "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9504-7.ps" tags: - "syntax definition" - "SDF" - "lexical syntax" - "syntax definition formalism" - "abstract syntax" - "disambiguation" - "algebraic specification" - " algebra" - "context-aware" - "parsing" - "design" - "ASF+SDF" researchr: "https://researchr.org/publication/Visser95" cites: 0 citedby: 0 booktitle: "ASF+SDF 1995. A Workshop on Generating Tools from Algebraic Specifications" editor: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Vania Vieira Estrela" link: "http://academic.research.microsoft.com/Author/3361386" publisher: "Technical Report P9504, Programming Research Group, University of Amsterdam" kind: "inproceedings" key: "Visser95" - title: "Meta-programming with Concrete Object Syntax" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1007/3-540-45821-2_19" abstract: "Meta programs manipulate structured representations, i.e., abstract syntax trees, of programs. The conceptual distance between the concrete syntax meta-programmers use to reason about programs and the notation for abstract syntax manipulation provided by general purpose (meta-) programming languages is too great for many applications. In this paper it is shown how the syntax definition formalism SDF can be employed to fit any meta-programming language with concrete syntax notation for composing and analyzing object programs. As a case study, the addition of concrete syntax to the program transformation language Stratego is presented. The approach is then generalized to arbitrary meta-languages. " links: doi: "https://doi.org/10.1007/3-540-45821-2_19" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "concrete object syntax" - "syntax definition" - "meta programming" - "case study" - "SDF" - "meta-model" - "abstract syntax" - "Stratego/XT" - "transformation language" - "source-to-source" - "model transformation" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser02" cites: 23 citedby: 6 pages: "299-315" booktitle: "Generative Programming and Component Engineering, ACM SIGPLAN/SIGSOFT Conference, GPCE 2002, Pittsburgh, PA, USA, October 6-8, 2002, Proceedings" editor: - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Walid Taha" link: "http://www.cs.rice.edu/~taha/" volume: "2487" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-44284-7" kind: "inproceedings" key: "Visser02" - title: "Code Generation by Model Transformation" author: - name: "Zef Hemel" link: "http://zef.me" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-69927-9_13" abstract: "The realization of model-driven software development requires effective techniques for implementing code generators. In this paper, we present a case study of code generation by model transformation with Stratego, a high-level transformation language based on the paradigm of rewrite rules with programmable strategies that integrates model-to-model, model-to-code, and code-to-code transformations. The use of concrete object syntax guarantees syntactic correctness of code patterns, and enables the subsequent transformation of generated code. The composability of strategies supports two dimensions of transformation modularity. Vertical modularity is achieved by designing a generator as a pipeline of model-to-model transformations that gradually transforms a high-level input model to an implementation. Horizontal modularity is achieved by supporting the definition of plugins which implement all aspects of a language feature. We discuss the application of these techniques in the implementation of WebDSL, a domain-specific language for dynamic web applications with a rich data model. " links: doi: "http://dx.doi.org/10.1007/978-3-540-69927-9_13" successor: "https://researchr.org/publication/HemelKGV10" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-012.pdf" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "WebDSL" - "concrete object syntax" - "rule-based" - "transformation engineering" - "syntax definition" - "meta programming" - "data-flow language" - "pattern language" - "case study" - "graph transformation" - "meta-model" - "modeling language" - "modeling" - "language engineering" - "transformation language" - "software language engineering" - "language modeling" - "web engineering" - "data-flow programming" - "model-driven development" - "data-flow" - "source-to-source" - "graph-rewriting" - "software engineering" - "rules" - "model-driven engineering" - "C++" - "programming paradigms" - "code generation" - "object-role modeling" - "aspect oriented programming" - "model transformation" - "web applications" - "DSL" - "subject-oriented programming" - "Meta-Environment" - "rewriting" - "rewriting strategies" - "feature-oriented programming" - "concrete syntax" - "open-source" - "meta-objects" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/HemelKV08" cites: 0 citedby: 3 pages: "183-198" booktitle: "Theory and Practice of Model Transformations, First International Conference, ICMT 2008, Zürich, Switzerland, July 1-2, 2008, Proceedings" editor: - name: "Antonio Vallecillo" link: "http://www.lcc.uma.es/~av/" - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" - name: "Alfonso Pierantonio" link: "http://www.di.univaq.it/alfonso" volume: "5063" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-69926-2" kind: "inproceedings" key: "HemelKV08" - title: "Adaptive on-line registration algorithm based on GLR" author: - name: "Feng Lian" link: "https://researchr.org/alias/feng-lian" - name: "Chongzhao Han" link: "https://researchr.org/alias/chongzhao-han" - name: "Yong Shi" link: "https://researchr.org/alias/yong-shi" year: "2008" doi: "http://dx.doi.org/10.1109/IJCNN.2008.4634105" links: doi: "http://dx.doi.org/10.1109/IJCNN.2008.4634105" tags: - "rule-based" - "GLR" researchr: "https://researchr.org/publication/LianHS08%3A0" cites: 0 citedby: 0 pages: "2220-2226" booktitle: "Proceedings of the International Joint Conference on Neural Networks, IJCNN 2008, part of the IEEE World Congress on Computational Intelligence, WCCI 2008, Hong Kong, China, June 1-6, 2008" publisher: "IEEE" kind: "inproceedings" key: "LianHS08:0" - title: "Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2004" doi: "http://doi.acm.org/10.1145/1028976.1029007" abstract: "Application programmer's interfaces give access to domain knowledge encapsulated in class libraries without providing the appropriate notation for expressing domain composition. Since object-oriented languages are designed for extensibility and reuse, the language constructs are often sufficient for expressing domain abstractions at the semantic level. However, they do not provide the right abstractions at the syntactic level. In this paper we describe MetaBorg, a method for providing concrete syntax for domain abstractions to application programmers. The method consists of embedding domain-specific languages in a general purpose host language and assimilating the embedded domain code into the surrounding host code. Instead of extending the implementation of the host language, the assimilation phase implements domain abstractions in terms of existing APIs leaving the host language undisturbed. Indeed, MetaBorg can be considered a method for promoting APIs to the language level. The method is supported by proven and available technology, i.e. the syntax definition formalism SDF and the program transformation language and toolset Stratego/XT. We illustrate the method with applications in three domains: code generation, XML generation, and user-interface construction." links: doi: "http://doi.acm.org/10.1145/1028976.1029007" tags: - "programming languages" - "object-oriented programming" - "concrete object syntax" - "syntax definition" - "meta programming" - "assimilation" - "SDF" - "XML" - "XML Schema" - "Stratego/XT" - "transformation language" - "composition" - "MetaBorg" - "language design" - "reuse" - "code generation" - "subject-oriented programming" - "abstraction" - "Meta-Environment" - "extensible language" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV04" cites: 51 citedby: 8 pages: "365-383" booktitle: "Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004" editor: - name: "John M. Vlissides" link: "https://researchr.org/alias/john-m.-vlissides" - name: "Douglas C. Schmidt" link: "https://researchr.org/alias/douglas-c.-schmidt" address: "Vancouver, BC, Canada" publisher: "ACM" isbn: "1-58113-831-8" kind: "inproceedings" key: "BravenboerV04" - title: "Faster Scannerless GLR Parsing" author: - name: "Giorgios R. Economopoulos" link: "http://users.ecs.soton.ac.uk/gre/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_10" abstract: "Analysis and renovation of large software portfolios requires syntax analysis of multiple, usually embedded, languages and this is beyond the capabilities of many standard parsing techniques. The traditional separation between lexer and parser falls short due to the limitations of tokenization based on regular expressions when handling multiple lexical grammars. In such cases scannerless parsing provides a viable solution. It uses the power of context-free grammars to be able to deal with a wide variety of issues in parsing lexical syntax. However, it comes at the price of less efficiency. The structure of tokens is obtained using a more powerful but more time and memory intensive parsing algorithm. Scannerless grammars are also more non-deterministic than their tokenized counterparts, increasing the burden on the parsing algorithm even further. In this paper we investigate the application of the Right-Nulled Generalized LR parsing algorithm (RNGLR) to scannerless parsing. We adapt the Scannerless Generalized LR parsing and filtering algorithm (SGLR) to implement the optimizations of RNGLR. We present an updated parsing and filtering algorithm, called SRNGLR, and analyze its performance in comparison to SGLR on ambiguous grammars for the programming languages C, Java, Python, SASL, and C++. Measurements show that SRNGLR is on average 33% faster than SGLR, but is 95% faster on the highly ambiguous SASL grammar. For the mainstream languages C, C++, Java and Python the average speedup is 16%. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_10" tags: - "parsing algorithm" - "programming languages" - "GLR parsing" - "optimization" - "rule-based" - "Java" - "program analysis" - "lexical syntax" - "embedded software" - "scannerless" - "GLR" - "analysis" - "C++" - "programming" - "context-aware" - "program optimization" - "parsing" - "scannerless parsing" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/EconomopoulosKV09" cites: 0 citedby: 0 pages: "126-141" booktitle: "Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings" editor: - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" - name: "Michael I. Schwartzbach" link: "http://www.brics.dk/~mis/" volume: "5501" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-00721-7" kind: "inproceedings" key: "EconomopoulosKV09" - title: "Syntax Definition with Graphs" author: - name: "Mark Minas" link: "https://researchr.org/alias/mark-minas" year: "2006" doi: "http://dx.doi.org/10.1016/j.entcs.2005.12.011" links: doi: "http://dx.doi.org/10.1016/j.entcs.2005.12.011" tags: - "syntax definition" - "graph-rewriting" - "rewriting" researchr: "https://researchr.org/publication/Minas06%3A0" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "148" number: "1" pages: "19-40" kind: "article" key: "Minas06:0" - title: "Compiling embedded languages" author: - name: "Conal Elliott" link: "http://conal.net/" - name: "Sigbjorn Finne" link: "https://researchr.org/alias/sigbjorn-finne" - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" year: "2003" doi: "http://dx.doi.org/10.1017/S0956796802004574" abstract: "Functional languages are particularly well-suited to the interpretive implementations of Domain-Specific Embedded Languages (DSELs). We describe an implemented technique for producing optimizing compilers for DSELs, based on Kamin's idea of DSELs for program generation. The technique uses a data type of syntax for basic types, a set of smart constructors that perform rewriting over those types, some code motion transformations, and a back-end code generator. Domain-specific optimization results from chains of domain-independent rewrites on basic types. New DSELs are defined directly in terms of the basic syntactic types, plus host language functions and tuples. This definition style makes compilers easy to write and, in fact, almost identical to the simplest embedded interpreters. We illustrate this technique with a language Pan for the computationally intensive domain of image synthesis and manipulation." links: doi: "http://dx.doi.org/10.1017/S0956796802004574" tags: - "embedded languages" - "programming languages" - "optimization" - "rule-based" - "syntax definition" - "data-flow language" - "graph transformation" - "interpreter" - "transformation language" - "functional programming" - "data-flow programming" - "data-flow" - "graph-rewriting" - "code generation" - "compiler" - "DSL" - "program optimization" - "internal languages" - "rewriting" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/ElliottFM03" cites: 17 citedby: 0 journal: "Journal of Functional Programming" volume: "13" number: "3" pages: "455-481" kind: "article" key: "ElliottFM03" - title: "PCCTS reference manual: version 1.00" author: - name: "Terence John Parr" link: "http://www.cs.usfca.edu/~parrt/" - name: "Henry G. Dietz" link: "https://researchr.org/alias/henry-g.-dietz" - name: "William E. Cohen" link: "https://researchr.org/alias/william-e.-cohen" year: "1992" doi: "http://doi.acm.org/10.1145/130973.130980" links: doi: "http://doi.acm.org/10.1145/130973.130980" tags: - "syntax definition" - "e-science" researchr: "https://researchr.org/publication/ParrDC92" cites: 0 citedby: 0 journal: "SIGPLAN Notices" volume: "27" number: "2" pages: "88-165" kind: "article" key: "ParrDC92" - title: "Integrated Definition of Abstract and Concrete Syntax for Textual Languages" author: - name: "Holger Krahn" link: "https://researchr.org/alias/holger-krahn" - name: "Bernhard Rumpe" link: "http://www.se-rwth.de/~rumpe/" - name: "Steven Völkel" link: "https://researchr.org/alias/steven-v%C3%B6lkel" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-75209-7_20" links: doi: "http://dx.doi.org/10.1007/978-3-540-75209-7_20" tags: - "syntax definition" - "abstract syntax" - "concrete syntax" researchr: "https://researchr.org/publication/KrahnRV07" cites: 0 citedby: 0 pages: "286-300" booktitle: "Model Driven Engineering Languages and Systems, 10th International Conference, MoDELS 2007, Nashville, USA, September 30 - October 5, 2007, Proceedings" editor: - name: "Gregor Engels" link: "https://researchr.org/alias/gregor-engels" - name: "Bill Opdyke" link: "https://researchr.org/alias/bill-opdyke" - name: "Douglas C. Schmidt" link: "https://researchr.org/alias/douglas-c.-schmidt" - name: "Frank Weil" link: "https://researchr.org/alias/frank-weil" volume: "4735" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-75208-0" kind: "inproceedings" key: "KrahnRV07" - title: "Comparison of GLR and invariant detectors under structured clutter covariance" author: - name: "Hyung Soo Kim" link: "https://researchr.org/alias/hyung-soo-kim" - name: "Alfred O. Hero III" link: "https://researchr.org/alias/alfred-o.-hero-iii" year: "2001" doi: "http://dx.doi.org/10.1109/83.951536" links: doi: "http://dx.doi.org/10.1109/83.951536" tags: - "GLR" researchr: "https://researchr.org/publication/KimH01%3A4" cites: 0 citedby: 0 journal: "IEEE Transactions on Image Processing" volume: "10" number: "10" pages: "1509-1520" kind: "article" key: "KimH01:4" - title: "A Survey on Syntactic Error Recovery and Repair" author: - name: "Kevin Hammond" link: "http://www.cs.st-andrews.ac.uk/~kh/" - name: "Victor J. Rayward-Smith" link: "https://researchr.org/alias/victor-j.-rayward-smith" year: "1984" tags: - "survey" researchr: "https://researchr.org/publication/HammondR84" cites: 0 citedby: 0 journal: "Computer Languages, Systems \\& Structures" volume: "9" number: "1" pages: "51-67" kind: "article" key: "HammondR84" - title: "GLL Parsing" author: - name: "Elizabeth Scott" link: "https://researchr.org/alias/elizabeth-scott" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" year: "2009" tags: - "parsing" researchr: "https://researchr.org/publication/sj09gll" cites: 0 citedby: 1 booktitle: "Workshop on Language Descriptions, Tools and Applications (LDTA'09)" kind: "inproceedings" key: "sj09gll" - title: "ANTLRWorks: an ANTLR grammar development environment" author: - name: "Jean Bovet" link: "https://researchr.org/alias/jean-bovet" - name: "Terence John Parr" link: "http://www.cs.usfca.edu/~parrt/" year: "2008" doi: "http://dx.doi.org/10.1002/spe.872" links: doi: "http://dx.doi.org/10.1002/spe.872" tags: - "syntax definition" - "ANTLR" - "Meta-Environment" - "grammar" researchr: "https://researchr.org/publication/BovetP08" cites: 0 citedby: 0 journal: "Software: Practice and Experience" volume: "38" number: "12" pages: "1305-1332" kind: "article" key: "BovetP08" - title: "Designing Syntax Embeddings and Assimilations for Language Libraries" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_5" abstract: "Language libraries extend regular libraries with domain-specific notation. More precisely, a language library is a combination of a domain-specific language embedded in the general-purpose host language, a regular library implementing the underlying functionality, and an assimilation transformation that maps embedded DSL fragments to host language code. While the basic architecture for realizing language libraries is the same for all applications, there are many design choices to be made in the design of a particular combination of library, guest language syntax, host language, and assimilation. In this paper, we give an overview of the design space for syntax embeddings and assimilations for the realization of language libraries. " links: doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_5" technicalreport: "https://researchr.org/publication/TUD-SERG-2008-042" tags: - "syntax embedding" - "syntax definition" - "assimilation" - "transformation language" - "architecture" - "language design" - "DSL" - "language libraries" - "design" - "transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV07" cites: 24 citedby: 1 pages: "34-46" booktitle: "Models in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers" editor: - name: "Holger Giese" link: "https://researchr.org/alias/holger-giese" volume: "5002" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-69069-6" kind: "inproceedings" key: "BravenboerV07" - title: "Improved GLR Parsing Algorithm" author: - name: "Miao Li" link: "https://researchr.org/alias/miao-li" - name: "ZhiGuo Wei" link: "https://researchr.org/alias/zhiguo-wei" - name: "Jian Zhang" link: "https://researchr.org/alias/jian-zhang" - name: "ZeLin Hu" link: "https://researchr.org/alias/zelin-hu" year: "2005" doi: "http://dx.doi.org/10.1007/11538356_18" links: doi: "http://dx.doi.org/10.1007/11538356_18" tags: - "parsing algorithm" - "GLR parsing" - "GLR" - "parsing" researchr: "https://researchr.org/publication/LiWZH05" cites: 0 citedby: 0 pages: "169-178" booktitle: "Advances in Intelligent Computing, International Conference on Intelligent Computing, ICIC 2005, Hefei, China, August 23-26, 2005, Proceedings, Part II" editor: - name: "De-Shuang Huang" link: "https://researchr.org/alias/de-shuang-huang" - name: "Xiao-Ping Zhang" link: "https://researchr.org/alias/xiao-ping-zhang" - name: "Guang-Bin Huang" link: "https://researchr.org/alias/guang-bin-huang" volume: "3645" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-28227-0" kind: "inproceedings" key: "LiWZH05" - title: "Jeannie: granting java native interface developers their wishes" author: - name: "Martin Hirzel" link: "http://domino.research.ibm.com/comm/research_people.nsf/pages/hirzel.index.html" - name: "Robert Grimm" link: "http://www.cs.nyu.edu/rgrimm/" year: "2007" doi: "http://doi.acm.org/10.1145/1297027.1297030" links: doi: "http://doi.acm.org/10.1145/1297027.1297030" tags: - "Java" researchr: "https://researchr.org/publication/HirzelG07" cites: 0 citedby: 1 pages: "19-38" booktitle: "Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2007, October 21-25, 2007, Montreal, Quebec, Canada" editor: - name: "Richard P. Gabriel" link: "http://www.dreamsongs.com/RPG.html" - name: "David F. Bacon" link: "http://domino.research.ibm.com/comm/research_people.nsf/pages/bacon.index.html" - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Guy L. Steele Jr." link: "http://research.sun.com/people/mybio.php?uid=25706" publisher: "ACM" isbn: "978-1-59593-786-5" kind: "inproceedings" key: "HirzelG07" - title: "Transformation of SDF syntax definitions in the ASF+SDF Meta-Environment" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" year: "2001" doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#004" abstract: "We describe FST - a Framework for SDF Transformation. FST supports the adaptation (in a broad sense) of grammars based on the syntax definition formalism SDF. The executable specification of FST is based on the ASF+SDF Meta-Environment. Grammar transformations form an important concept of grammar reengineering, implementation, recovery and others. Tool support for grammar transformations is essential to automate the corresponding processes. We have chosen SDF as target language for grammar transformations because it is an expressive syntax definition formalism which does not just cover BNF and extended BNF but also constructs for modularisation and disambiguation. The algebraic specification of the framework is immediately operational in the ASF+SDF Meta-Environment." links: doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#004" tags: - "model-to-model transformation" - "rule-based" - "syntax definition" - "SDF" - "meta-model" - "transformation language" - "disambiguation" - "process algebra" - "software evolution" - "source-to-source" - "algebraic specification" - "model transformation" - " algebra" - "Meta-Environment" - "grammarware" - "ASF+SDF" - "language evolution" - "meta-objects" - "transformation" - "grammar" researchr: "https://researchr.org/publication/LammelW01" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "44" number: "2" pages: "9-33" kind: "article" key: "LammelW01" - title: "Scannerless Generalized-LR Parsing" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "July" abstract: "Current deterministic parsing techniques have a number of problems. These include the limitations of parser generators for deterministic languages and the complex interface between scanner and parser. Scannerless parsing is a parsing technique in which lexical and context-free syntax are integrated into one grammar and are all handled by a single context-free analysis phase. This approach has a number of advantages including discarding of the scanner and lexical disambiguation by means of the context in which a lexical token occurs, Scannerless parsing generates a number of interesting problems as well. Integrated grammars do not fit the requirements of the conventional deterministic parsing techniques. A plain context-free grammar formalism leads to unwieldy grammars. if all lexical information is included. Lexical disambiguation needs to be reformulated for use in context-free parsing. The scannerless generalized-LR parsing approach presented in this paper solves these problems. Grammar normalization is used to support an expressive grammar formalism without complicating the underlying machinery. Follow restrictions are used to express longest match lexical disambiguation. Reject productions are used to express the prefer keywords rule for lexical disambiguation. The SLR parser generation algorithm is adapted to implement disambiguation by general priority and associativity declarations and to interpret follow restrictions. Generalized-LR parsing is used to provide dynamic lookahead and to support parsing of arbitrary context-free grammars including ambiguous ones. An adaptation of the GLR algorithm supports the interpretation of grammars with reject productions. " tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "SDF" - "lexical syntax" - "disambiguation" - "GLR" - "analysis" - "rules" - "context-aware" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/Visser97-SGLR" cites: 0 citedby: 6 institution: "Programming Research Group, University of Amsterdam" number: "P9707" kind: "techreport" key: "Visser97-SGLR" - title: "Extensible Grammars for Language Specialization" author: - name: "Luca Cardelli" link: "http://lucacardelli.name" - name: "Florian Matthes" link: "https://researchr.org/alias/florian-matthes" - name: "Martín Abadi" link: "https://researchr.org/alias/mart%C3%ADn-abadi" year: "1993" doi: "db/conf/dbpl/CardelliMA93.html" abstract: "A frequent dilemma in the design of a database programming language is the choice between a language with a rich set of tailored notations for schema definitions, query expressions, etc., and a small, simple core language. We address this dilemma by proposing extensible grammars, a syntax-definition formalism for incremental language extensions and restrictions based on an initial core language. The translation of programs written in rich object languages into a small core language is defined via syntax-directed patterns. In contrast to macro-expansion and program-rewriting tools, our extensible grammars respect scoping rules. Therefore, we can introduce binding constructs while avoiding problems with unwanted name clashes. We develop extensible grammars and illustrate their use by extend- ing the lambda calculus with let-bindings, conditionals, and SQL-style query expressions. We then give a formal description of the underlying parsing, transformat,ion, and substitution rules. Finally, we sketch how these rules are exploit,ed in the implementation of a generic, extensible parser package. " links: "pdf": "http://lucacardelli.name/Papers/Extensible%20Grammars%20for%20Language%20Specialization.pdf" "acm dl": "http://portal.acm.org/citation.cfm?id=754352" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "translation" - "syntax definition" - "meta programming" - "pattern language" - "generic programming" - "XML" - "XML Schema" - "graph query" - "SQL" - "language design" - "macros" - "graph-rewriting" - "rules" - "programming" - "subject-oriented programming" - "database" - "Meta-Environment" - "rewriting" - "parsing" - "incremental" - "design" - "extensible language" - "feature-oriented programming" - "meta-objects" - "grammar" - "query language" researchr: "https://researchr.org/publication/CardelliMA93" cites: 0 citedby: 0 pages: "11-31" booktitle: "Database Programming Languages (DBPL-4), Proceedings of the Fourth International Workshop on Database Programming Languages - Object Models and Languages, Manhattan, New York City, USA, 30 August - 1 September 1993" editor: - name: "Catriel Beeri" link: "https://researchr.org/alias/catriel-beeri" - name: "Atsushi Ohori" link: "https://researchr.org/alias/atsushi-ohori" - name: "Dennis Shasha" link: "https://researchr.org/alias/dennis-shasha" series: "Workshops in Computing" publisher: "Springer" isbn: "3-540-19853-9" kind: "inproceedings" key: "CardelliMA93" - title: "A Family of Syntax Definition Formalisms" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "August" abstract: "In the next chapters we present the design and specification of a family of syntax definition formalisms. The kernel of this family of formalisms is formed by context-free grammars. A number of orthogonal extensions to the kernel is defined. Many of these extensions are defined in terms of the primitives of the kernel by means of normalization functions. This provides a framework for constructing new formalisms by adapting and extending previous ones. Included in the family are the following extensions of context-free grammars, uniform definition of lexical and context-free syntax, variables, disambiguation by priorities, follow restrictions and reject productions, a rich set of regular expressions defined in terms of context-free productions, character classes, aliases, parameterized modules with hidden imports and renamings. The accumulation of these extensions is the syntax definition formalism SDF. This chapter provides an introduction to SDF and gives an overview of the design and specification of the family of formalisms." links: "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9706.ps" tags: - "syntax definition" - "SDF" - "lexical syntax" - "scannerless" - "disambiguation" - "context-aware" - "parsing" - "design" - "scannerless parsing" - "ASF+SDF" - "grammar" researchr: "https://researchr.org/publication/Visser97-SDF" cites: 0 citedby: 2 institution: "Programming Research Group, University of Amsterdam" number: "P9706" kind: "techreport" key: "Visser97-SDF" - title: "Mapping Among Knowledge Bases and Data Repositories: Precise Definition of Its Syntax and Semantics" author: - name: "José Miguel Blanco" link: "https://researchr.org/alias/jos%C3%A9-miguel-blanco" - name: "Alfredo Goñi" link: "https://researchr.org/alias/alfredo-go%C3%B1i" - name: "Arantza Illarramendi" link: "https://researchr.org/alias/arantza-illarramendi" year: "1999" doi: "http://dx.doi.org/10.1016/S0306-4379(99)00019-8" links: doi: "http://dx.doi.org/10.1016/S0306-4379(99)00019-8" tags: - "semantics" - "syntax definition" researchr: "https://researchr.org/publication/BlancoSI99" cites: 0 citedby: 0 journal: "Inf. Syst." volume: "24" number: "4" pages: "275-301" kind: "article" key: "BlancoSI99" - title: "MetaBorg in Action: Examples of Domain-Specific Language Embedding and Assimilation Using Stratego/XT" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "René de Groot" link: "http://strategoxt.org/Main/ReneDeGroot" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "http://dx.doi.org/10.1007/11877028_10" abstract: "General-purpose programming languages provide limited facilities for expressing domain-specific concepts in a natural manner. All domain concepts need to be captured using the same generic syntactic and semantic constructs. Generative programming methods and program transformation techniques can be used to overcome this lack of abstraction in general-purpose languages. In this tutorial we describe the MetaBorg method for embedding domain-specific languages, tailored syntactically and semantically to the application domain at hand, in a general-purpose language. MetaBorg is based on Stratego/XT, a language and toolset for the implementation of program transformation systems, which is used for the definition of syntactic embeddings and assimilation of the embedded constructs into the surrounding code. We illustrate MetaBorg with three examples. JavaSwul is a custom designed language for implementing graphical user-interfaces, which provides high-level abstractions for component composition and event-handling. JavaRegex is a new embedding of regular expression matching and string rewriting. JavaJava is an embedding of Java in Java for generating Java code. For these cases we show how Java programs in these domains become dramatically more readable, and we give an impression of the implementation of the language embeddings. " links: doi: "http://dx.doi.org/10.1007/11877028_10" tags: - "generative programming" - "programming languages" - "rule-based" - "transformation engineering" - "Java" - "generic programming" - "assimilation" - "graph transformation" - "Stratego/XT" - "language engineering" - "domain-specific language embedding" - "transformation language" - "composition" - "MetaBorg" - "language design" - "graph-rewriting" - "transformation system" - "language embedding" - "DSL" - "programming" - "abstraction" - "language composition" - "rewriting" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerGV06" cites: 0 citedby: 3 pages: "297-311" booktitle: "Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" volume: "4143" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-45778-X" kind: "inproceedings" key: "BravenboerGV06" - title: "Preventing injection attacks with syntax embeddings" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://doi.acm.org/10.1145/1289971.1289975" abstract: "Software written in one language often needs to construct sentences in another language, such as SQL queries, XML output, or shell command invocations. This is almost always done using unhygienic string manipulation, the concatenation of constants and client-supplied strings. A client can then supply specially crafted input that causes the constructed sentence to be interpreted in an unintended way, leading to an injection attack. We describe a more natural style of programming that yields code that is impervious to injections by construction. Our approach embeds the grammars of the guest languages (e.g., SQL) into that of the host language (e.g., Java) and automatically generates code that maps the embedded language to constructs in the host language that reconstruct the embedded sentences, adding escaping functions where appropriate. This approach is generic, meaning that it can be applied with relative ease to any combination of host and guest languages." links: doi: "http://doi.acm.org/10.1145/1289971.1289975" successor: "https://researchr.org/publication/BravenboerDV10" tags: - "programming languages" - "syntax embedding" - "Java" - "preventing injection attacks" - "generic programming" - "injection attack" - "SDF" - "XML" - "embedded software" - "XML Schema" - "SQL" - "security" - "language embedding" - "DSL" - "programming" - "systematic-approach" - "ASF+SDF" - "grammar" - "query language" researchr: "https://researchr.org/publication/BravenboerDV07" cites: 0 citedby: 4 pages: "3-12" booktitle: "Generative Programming and Component Engineering, 6th International Conference, GPCE 2007" editor: - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" address: "Salzburg, Austria" publisher: "ACM" isbn: "978-1-59593-855-8" kind: "inproceedings" key: "BravenboerDV07" - title: "Scannerless NSLR(1) parsing of programming languages" author: - name: "Salomon, D. J." link: "https://researchr.org/alias/salomon%2C-d.-j." - name: "Cormack, G. V." link: "https://researchr.org/alias/cormack%2C-g.-v." year: "1989" doi: "http://doi.acm.org/10.1145/74818.74833" links: doi: "http://doi.acm.org/10.1145/74818.74833" tags: - "programming languages" - "programming" - "parsing" - "scannerless parsing" researchr: "https://researchr.org/publication/sal89" cites: 0 citedby: 0 journal: "SIGPLAN Not." volume: "24" number: "7" kind: "article" key: "sal89" - title: "C-Transformers: a framework to write C program transformations" author: - name: "Borghi, A." link: "https://researchr.org/alias/borghi%2C-a." - name: "David, V." link: "https://researchr.org/alias/david%2C-v." - name: "Demaille, A." link: "https://researchr.org/alias/demaille%2C-a." year: "2005" tags: - "C++" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/borghi2005ctf" cites: 0 citedby: 0 journal: "ACM Crossroads" volume: "12" number: "3" kind: "article" key: "borghi2005ctf"