publications: - title: "Integrated symbol table, engine and heap memory management in multi-engine prolog" author: - name: "Paul Tarau" link: "https://researchr.org/alias/paul-tarau" year: "2011" doi: "http://doi.acm.org/10.1145/1993478.1993497" links: doi: "http://doi.acm.org/10.1145/1993478.1993497" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/iwmm/Tarau11" tags: - "Prolog" - "memory management" researchr: "https://researchr.org/publication/Tarau11" cites: 0 citedby: 0 pages: "129-138" booktitle: "iwmm" kind: "inproceedings" key: "Tarau11" - title: "Developing Efficient Interpreters Based on Formal Language Specifications" author: - name: "Arnd Poetzsch-Heffter" link: "https://researchr.org/alias/arnd-poetzsch-heffter" year: "1994" tags: - "rule-based" - "interpreter" researchr: "https://researchr.org/publication/Poetzsch-Heffter94%3A0" cites: 0 citedby: 0 pages: "233-247" booktitle: "cc" kind: "inproceedings" key: "Poetzsch-Heffter94:0" - title: "Programming Language Specification and Prototyping Using the MAX System" author: - name: "Arnd Poetzsch-Heffter" link: "https://researchr.org/alias/arnd-poetzsch-heffter" year: "1993" tags: - "programming languages" - "programming" researchr: "https://researchr.org/publication/Poetzsch-Heffter93" cites: 0 citedby: 0 pages: "137-150" booktitle: "plilp" kind: "inproceedings" key: "Poetzsch-Heffter93" - title: "Modularity and Reusability in Attribute Grammars" author: - name: "Uwe Kastens" link: "https://researchr.org/alias/uwe-kastens" - name: "William M. Waite" link: "https://researchr.org/alias/william-m.-waite" year: "1994" doi: "http://portal.acm.org/citation.cfm?id=191491" links: doi: "http://portal.acm.org/citation.cfm?id=191491" tags: - "attribute grammars" - "reuse" - "grammar" researchr: "https://researchr.org/publication/KastensW94" cites: 0 citedby: 1 journal: "ACTA" volume: "31" number: "7" pages: "601-627" kind: "article" key: "KastensW94" - title: "Efficient annotated terms" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "H. A. de Jong" link: "https://researchr.org/alias/h.-a.-de-jong" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Pieter A. Olivier" link: "https://researchr.org/alias/pieter-a.-olivier" year: "2000" doi: "https://doi.org/10.1002/(SICI)1097-024X(200003)30:3\\%3C259::AID-SPE298\\%3E3.0.CO;2-Y" abstract: "How do distributed applications exchange (tree-like) data structures? To this end, we introduce the abstract data type of Annotated Terms (ATerms) and discuss their design, implementation and application. A comprehensive procedural interface enables creation and manipulation of ATerms in C. A Java version is also supported. The ATerm implementation is based on maximal subterm sharing and automatic garbage collection. A binary exchange format for the concise representation of ATerms (sharing preserved) allows the fast exchange of ATerms between applications. In a typical application---parse trees which contain quite some redundant information---less than 2 bytes are needed to represent a node in memory, and less than 2 bits are needed to represent it in binary format. It is shown that the implementation of ATerms scales up to the manipulation of ATerms in the giga-byte range." links: doi: "https://doi.org/10.1002/(SICI)1097-024X(200003)30:3\\%3C259::AID-SPE298\\%3E3.0.CO;2-Y" tags: - "rule-based" - "Java" - "parsing" researchr: "https://researchr.org/publication/BrandJKO00" cites: 0 citedby: 1 journal: "SPE" volume: "30" number: "3" pages: "259-291" kind: "article" key: "BrandJKO00" - title: "Visualizing the symbol table" author: - name: "Jaime Urquiza-Fuentes" link: "https://researchr.org/alias/jaime-urquiza-fuentes" - name: "Micael Gallego-Carrillo" link: "https://researchr.org/alias/micael-gallego-carrillo" - name: "Francisco Gortázar-Bellas" link: "https://researchr.org/alias/francisco-gort%C3%A1zar-bellas" - name: "J. Ángel Velázquez-Iturbide" link: "https://researchr.org/alias/j.-%C3%A1ngel-vel%C3%A1zquez-iturbide" year: "2006" doi: "http://doi.acm.org/10.1145/1140124.1140249" links: doi: "http://doi.acm.org/10.1145/1140124.1140249" researchr: "https://researchr.org/publication/Urquiza-FuentesGGV06" cites: 0 citedby: 0 pages: "341" booktitle: "iticse" kind: "inproceedings" key: "Urquiza-FuentesGGV06" - title: "Scope Dominance with Generalized Quantifiers" author: - name: "Gilad Ben-Avi" link: "https://researchr.org/alias/gilad-ben-avi" - name: "Yoad Winter" link: "https://researchr.org/alias/yoad-winter" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-01748-3_3" links: doi: "http://dx.doi.org/10.1007/978-3-642-01748-3_3" researchr: "https://researchr.org/publication/Ben-AviW09" cites: 0 citedby: 0 pages: "36-44" booktitle: "birthday" kind: "inproceedings" key: "Ben-AviW09" - title: "VL-Eli: A Generator for Visual Languages - System Demonstration" author: - name: "Uwe Kastens" link: "https://researchr.org/alias/uwe-kastens" - name: "Carsten Schmidt" link: "https://researchr.org/alias/carsten-schmidt" year: "2002" doi: "http://www.elsevier.com/gej-ng/31/29/23/117/52/show/Products/notes/index.htt#012" links: doi: "http://www.elsevier.com/gej-ng/31/29/23/117/52/show/Products/notes/index.htt#012" researchr: "https://researchr.org/publication/KastensS02" cites: 0 citedby: 0 journal: "ENTCS" volume: "65" number: "3" pages: "139-143" kind: "article" key: "KastensS02" - title: "Identifiers and static name abstraction" author: - name: "Mark B. Wells" link: "https://researchr.org/alias/mark-b.-wells" year: "1990" doi: "http://doi.acm.org/10.1145/382080.382628" links: doi: "http://doi.acm.org/10.1145/382080.382628" tags: - "abstraction" researchr: "https://researchr.org/publication/Wells90%3A1" cites: 0 citedby: 0 journal: "SIGPLAN" volume: "25" number: "5" pages: "25-28" kind: "article" key: "Wells90:1" - title: "Static Name Control for FreshML" author: - name: "François Pottier" link: "https://researchr.org/alias/fran%C3%A7ois-pottier" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/LICS.2007.44" links: doi: "http://doi.ieeecomputersociety.org/10.1109/LICS.2007.44" researchr: "https://researchr.org/publication/Pottier07%3A0" cites: 0 citedby: 0 pages: "356-365" booktitle: "lics" kind: "inproceedings" key: "Pottier07:0" - title: "Scoped Dynamic Rewrite Rules" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)00298-1" abstract: "The applicability of term rewriting to program transformation is limited by the lack of control over rule application and by the context-free nature of rewrite rules. The first problem is addressed by languages supporting user-definable rewriting strate- gies. This paper addresses the second problem by extending rewriting strategies with scoped dynamic rewrite rules. Dynamic rules are generated at run-time and can access variables available from their definition context. Rules generated within a rule scope are automatically retracted at the end of that scope. The technique is illustrated by means of several program tranformations: bound variable renaming, function inlining, and dead function elimination. " links: doi: "https://doi.org/10.1016/S1571-0661(04)00298-1" successor: "https://researchr.org/publication/BravenboerDOV06" tags: - "programming languages" - "rule-based" - "graph transformation" - "dynamic rewrite rules" - "Stratego/XT" - "transformation language" - "term rewriting" - "graph-rewriting" - "rules" - "context-aware" - "access control" - "rewriting" - "role-based access control" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser01-DR" cites: 0 citedby: 0 journal: "ENTCS" volume: "59" number: "4" pages: "375-396" kind: "article" key: "Visser01-DR" - title: "A Symbol Table Abstraction to Implement Languages with Explicit Scope Control" author: - name: "Robert P. Cook" link: "https://researchr.org/alias/robert-p.-cook" - name: "Thomas J. LeBlanc" link: "https://researchr.org/alias/thomas-j.-leblanc" year: "1983" abstract: "We are concerned with languages in which the programmer has explicit control over the referencing environment of a name. Several modern programming languages, including Ada, Euclid, Mesa, and Modula, implement these control capabilities. This paper describes a simple technique which uses the traditional concepts of a hashed symbol table and lexical level to solve many of the symbol table implementation problems associated with explicit scope control. The primary ad-vantage of this technique is that a single symbol table abstraction can be used to simply and efficiently solve most problems in scope control." tags: - "programming languages" - "Modula" - "meta programming" - "meta-model" - "programming" - "abstraction" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/CookL83" cites: 0 citedby: 0 journal: "TSE" volume: "9" number: "1" pages: "8-12" kind: "article" key: "CookL83" - title: "Lem: A Lightweight Tool for Heavyweight Semantics" author: - name: "Scott Owens" link: "https://researchr.org/alias/scott-owens" - name: "Peter Böhm" link: "https://researchr.org/alias/peter-b%C3%B6hm" - name: "Francesco Zappa Nardelli" link: "https://researchr.org/alias/francesco-zappa-nardelli" - name: "Peter Sewell" link: "https://researchr.org/alias/peter-sewell" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-22863-6_27" links: doi: "http://dx.doi.org/10.1007/978-3-642-22863-6_27" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/itp/OwensBNS11" tags: - "semantics" researchr: "https://researchr.org/publication/OwensBNS11" cites: 0 citedby: 0 pages: "363-369" booktitle: "itp" kind: "inproceedings" key: "OwensBNS11" - title: "The JastAdd system - modular extensible compiler construction" author: - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" year: "2007" doi: "http://dx.doi.org/10.1016/j.scico.2007.02.003" links: doi: "http://dx.doi.org/10.1016/j.scico.2007.02.003" tags: - "compiler" - "JastAdd" researchr: "https://researchr.org/publication/EkmanH07SCP" cites: 0 citedby: 0 journal: "SCP" volume: "69" number: "1-3" pages: "14-26" kind: "article" key: "EkmanH07SCP" - title: "Tutorials and Documentation for Xtext 2.0" year: "2011" tags: - "Xtext" researchr: "https://researchr.org/publication/xtext" cites: 0 citedby: 0 howpublished: "\\url{http://www.eclipse.org/Xtext/documentation/}" kind: "misc" key: "xtext" - title: "Program Compilers" author: - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" year: "2008" doi: "http://dx.doi.org/10.1002/9780470050118.ecse559" abstract: "Program compilers implement translations from the high-level language world of programmers to the low-level world of hardware. A compiler reads program text written in a source language and translates it into an equivalent program written in a different target language. A standard pipeline architecture for compiler construction consists of lexical analysis, syntax analysis, semantic analysis, translation and code generation phases, with optional optimisation phases interspersed. Support for the phases is provided by a symbol table containing properties of program entities. Some compiler phases can be automatically generated from formal specifications." links: doi: "http://dx.doi.org/10.1002/9780470050118.ecse559" tags: - "programming languages" - "program analysis" - "translation" - "lexical syntax" - "architecture" - "points-to analysis" - "analysis" - "source-to-source" - "code generation" - "compiler" - "programming" - "open-source" researchr: "https://researchr.org/publication/reference-wiley-Sloane08" cites: 0 citedby: 0 booktitle: "Wiley Encyclopedia of Computer Science and Engineering" editor: - name: "Benjamin W. Wah" link: "https://researchr.org/alias/benjamin-w.-wah" publisher: "John Wiley & Sons, Inc." kind: "incollection" key: "reference-wiley-Sloane08" - title: "Polarized Name Passing" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1995" researchr: "https://researchr.org/publication/Odersky95" cites: 0 citedby: 0 pages: "324-337" booktitle: "fsttcs" kind: "inproceedings" key: "Odersky95" - title: "Silver: An extensible attribute grammar system" author: - name: "Eric {Van Wyk}" link: "http://www-users.cs.umn.edu/~evw/" - name: "Derek Bodin" link: "https://researchr.org/alias/derek-bodin" - name: "Jimin Gao" link: "https://researchr.org/alias/jimin-gao" - name: "Lijesh Krishnan" link: "https://researchr.org/alias/lijesh-krishnan" year: "2010" doi: "http://dx.doi.org/10.1016/j.scico.2009.07.004" links: doi: "http://dx.doi.org/10.1016/j.scico.2009.07.004" tags: - "attribute grammars" - "grammar" researchr: "https://researchr.org/publication/WykBGK10" cites: 0 citedby: 0 journal: "SCP" volume: "75" number: "1-2" pages: "39-54" kind: "article" key: "WykBGK10" - title: "VisiCola, a model and a language for visibility control in programming languages" author: - name: "Michael A. Klug" link: "https://researchr.org/alias/michael-a.-klug" year: "1991" doi: "http://doi.acm.org/10.1145/122179.122185" links: doi: "http://doi.acm.org/10.1145/122179.122185" tags: - "programming languages" - "modeling language" - "language modeling" - "programming" researchr: "https://researchr.org/publication/Klug91" cites: 0 citedby: 0 journal: "SIGPLAN" volume: "26" number: "2" pages: "51-63" kind: "article" key: "Klug91" - title: "Formalising and Verifying Reference Attribute Grammars in Coq" author: - name: "Max Schäfer" link: "http://www.comlab.ox.ac.uk/people/Max.Schaefer/" - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00590-9_11" links: doi: "http://dx.doi.org/10.1007/978-3-642-00590-9_11" tags: - "attribute grammars" - "reference attribute grammars" - "grammar" researchr: "https://researchr.org/publication/SchaferEM09" cites: 0 citedby: 0 pages: "143-159" booktitle: "ESOP" kind: "inproceedings" key: "SchaferEM09" - title: "Hashed symbol tables for languages with explicit scope control" author: - name: "Susan L. Graham" link: "https://researchr.org/alias/susan-l.-graham" - name: "William N. Joy" link: "https://researchr.org/alias/william-n.-joy" - name: "Olivier Roubine" link: "https://researchr.org/alias/olivier-roubine" year: "1979" doi: "http://doi.acm.org/10.1145/800229.806953" abstract: "Newer programming languages such as Modula and Euclid provide more control than traditional Algol-like languages such as ALGOL-60 and Pascal over the inheritance, in inner scopes, of named entities available in outer scopes. They also provide mechanisms whereby chosen entities from inner scopes may be made available to outer scopes. In this paper we show how a hashed symbol table can be organized to implement these new scope rules in a time and space efficient way." links: doi: "http://doi.acm.org/10.1145/800229.806953" tags: - "programming languages" - "rule-based" - "Modula" - "rules" - "programming" - "Pascal" researchr: "https://researchr.org/publication/GrahamJR79" cites: 0 citedby: 0 pages: "50-57" booktitle: "sigplan" kind: "inproceedings" key: "GrahamJR79" - title: "Quality of Name Resolution in the Domain Name System" author: - name: "Casey T. Deccio" link: "https://researchr.org/alias/casey-t.-deccio" - name: "Chao-Chih Chen" link: "https://researchr.org/alias/chao-chih-chen" - name: "Jeff Sedayao" link: "https://researchr.org/alias/jeff-sedayao" - name: "Krishna Kant" link: "https://researchr.org/alias/krishna-kant" - name: "Prasant Mohapatra" link: "https://researchr.org/alias/prasant-mohapatra" year: "2009" doi: "http://dx.doi.org/10.1109/ICNP.2009.5339693" links: doi: "http://dx.doi.org/10.1109/ICNP.2009.5339693" researchr: "https://researchr.org/publication/DeccioCSKM09" cites: 0 citedby: 0 pages: "113-122" booktitle: "icnp" kind: "inproceedings" key: "DeccioCSKM09" - title: "Java Virtual Machine" author: - name: "Jon Meyer" link: "https://researchr.org/alias/jon-meyer" - name: "Troy Downing" link: "https://researchr.org/alias/troy-downing" year: "1997" tags: - "Java" researchr: "https://researchr.org/publication/MeyerD97" cites: 0 citedby: 0 publisher: "O Reilly" isbn: "1-56592-194-1" kind: "book" key: "MeyerD97" - title: "Ruler: Programming Type Rules" author: - name: "Atze Dijkstra" link: "https://researchr.org/alias/atze-dijkstra" - name: "S. Doaitse Swierstra" link: "http://www.cs.uu.nl/staff/doaitse.html" year: "2006" doi: "http://dx.doi.org/10.1007/11737414_4" abstract: "Some type systems are first described formally, to be sometimes followed by an implementation. Other type systems are first implemented as language extensions, to be sometimes retrofitted with a formal description. In neither case it is an easy task to keep both artefacts consistent. In this paper we introduce Ruler, a domain specific language for describing type rules. Type rules can be incrementally described, thus providing a means for building complex type systems on top of simpler ones. Besides checking well-formedness of Ruler programs we use them to generate (1) a visual LATEX rendering, suitable for use in the presentation of formal aspects, and (2) an attribute grammar based implementation. Combining these two aspects in Ruler contributes to bridging the gap between theory and practice: mutually consistent representations can be generated for use in both theoretical and practical settings." links: doi: "http://dx.doi.org/10.1007/11737414_4" tags: - "programming languages" - "rule-based" - "attribute grammars" - "type system" - "rules" - "type checking" - "programming" - "type theory" - "incremental" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/DijkstraS06" cites: 0 citedby: 0 pages: "30-46" booktitle: "FLOPS" kind: "inproceedings" key: "DijkstraS06" - title: "An Abstract Data Type for Name Analysis" author: - name: "Uwe Kastens" link: "https://researchr.org/alias/uwe-kastens" - name: "William M. Waite" link: "https://researchr.org/alias/william-m.-waite" year: "1991" tags: - "analysis" - "data-flow" - "data-flow analysis" researchr: "https://researchr.org/publication/KastensW91" cites: 0 citedby: 0 journal: "ACTA" volume: "28" number: "6" pages: "539-558" kind: "article" key: "KastensW91" - title: "Rewritable Reference Attributed Grammars" author: - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3086&spage=144" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3086&spage=144" tags: - "attribute grammars" - "reference attribute grammars" - "graph-rewriting" - "rewriting" - "grammar" researchr: "https://researchr.org/publication/EkmanH04" cites: 0 citedby: 3 pages: "144-169" booktitle: "ECOOP" kind: "inproceedings" key: "EkmanH04" - title: "Human Usable Textual Notation Specification" year: "2004" researchr: "https://researchr.org/publication/HUTN" cites: 0 citedby: 0 organization: "Object Management Group" kind: "manual" key: "HUTN" - title: "Designing a reusable symbol table library" author: - name: "Pei-Chi Wu" link: "https://researchr.org/alias/pei-chi-wu" - name: "Jin-Hue Lin" link: "https://researchr.org/alias/jin-hue-lin" - name: "Feng-Jian Wang" link: "https://researchr.org/alias/feng-jian-wang" year: "1994" month: "aug" doi: "10.1109/TENCON.1994.369182" abstract: "Presents the design of a symbol table library and addresses its design rationale. A symbol-processing task can be divided into two parts: one for storing/retrieving symbols, and the other for semantic checking. The former is language-independent and can be defined in terms of reusable components. The latter is language-dependent and can be defined in terms of parametric types of symbol table components or as specific semantic rules. We identify general properties of name analysis problems: topology, overload, navigation, etc. The resulting design of the library covers most usages in symbol processing" tags: - "reusable components" - "rule-based" - "domain analysis" - "analysis" - "language design" - "reuse" - "rules" - "type checking" - "design" - "domain-specific language" researchr: "https://researchr.org/publication/369182" cites: 0 citedby: 0 booktitle: "TENCON '94. IEEE Region 10's Ninth Annual International Conference. Theme: Frontiers of Computer Technology. Proceedings of 1994" kind: "inproceedings" key: "369182" - title: "A framework for typed HOAS and semantics" author: - name: "Marino Miculan" link: "https://researchr.org/alias/marino-miculan" - name: "Ivan Scagnetto" link: "https://researchr.org/alias/ivan-scagnetto" year: "2003" doi: "http://doi.acm.org/10.1145/888251.888269" links: doi: "http://doi.acm.org/10.1145/888251.888269" tags: - "semantics" researchr: "https://researchr.org/publication/MiculanS03" cites: 0 citedby: 0 pages: "184-194" booktitle: "ppdp" kind: "inproceedings" key: "MiculanS03" - title: "The JastAdd extensible Java compiler" author: - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" year: "2007" doi: "http://doi.acm.org/10.1145/1297027.1297029" abstract: "The JastAdd Extensible Java Compiler is a high quality Java compiler that is easy to extend in order to build static analysis tools for Java, and to extend Java with new language constructs. It is built modularly, with a Java 1.4 compiler that is extended to a Java 5 compiler. Example applications that are built as extensions include an alternative backend that generates Jimple, an extension of Java with AspectJ constructs, and the implementation of a pluggable type system for non-null checking and inferenc. The system is implemented using JastAdd, a declarative Java-like language. We describe the compiler architecture, the major design ideas for building and extending the compiler, in particular, for dealing with complex extensions that affect name and type analysis. Our extensible compiler compares very favorably concerning quality, speed and size with other extensible Java compiler frameworks. It also compares favorably in quality and size compared with traditional non-extensible Java compilers, and it runs within a factor of three compared to javac." links: doi: "http://doi.acm.org/10.1145/1297027.1297029" tags: - "AspectJ" - "Java" - "application framework" - "architecture" - "analysis" - "language design" - "static analysis" - "type system" - "extensible compiler" - "type checking" - "compiler" - "JastAdd" - "design" - "extensible language" researchr: "https://researchr.org/publication/EkmanH07" cites: 0 citedby: 3 pages: "1-18" booktitle: "OOPSLA" kind: "inproceedings" key: "EkmanH07" - title: "A Fresh Calculus for Name Management" author: - name: "Davide Ancona" link: "https://researchr.org/alias/davide-ancona" - name: "Eugenio Moggi" link: "https://researchr.org/alias/eugenio-moggi" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3286&spage=206" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3286&spage=206" researchr: "https://researchr.org/publication/AnconaM04%3A0" cites: 0 citedby: 0 pages: "206-224" booktitle: "GPCE" kind: "inproceedings" key: "AnconaM04:0" - title: "Standard ECMA-334 C# Language Specification, 4th edition" year: "2006" links: "pdf": "http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf" tags: - "C++" researchr: "https://researchr.org/publication/CSharpSpec2006" cites: 0 citedby: 0 kind: "misc" key: "CSharpSpec2006" - title: "Grammatical Framework" author: - name: "Aarne Ranta" link: "https://researchr.org/alias/aarne-ranta" year: "2004" doi: "http://dx.doi.org/10.1017/S0956796803004738" links: doi: "http://dx.doi.org/10.1017/S0956796803004738" researchr: "https://researchr.org/publication/Ranta04" cites: 0 citedby: 0 journal: "JFP" volume: "14" number: "2" pages: "145-189" kind: "article" key: "Ranta04" - title: "Towards a Classification of Visibility Rules" author: - name: "Michael A. Klug" link: "https://researchr.org/alias/michael-a.-klug" year: "1996" tags: - "rule-based" - "classification" - "rules" researchr: "https://researchr.org/publication/Klug96" cites: 0 citedby: 0 journal: "SIGPLAN" volume: "31" number: "1" pages: "44-50" kind: "article" key: "Klug96" - title: "Modeling and Implementation of Visibility in Programming Languages" author: - name: "Garrison, Phillip Edward" link: "https://researchr.org/alias/garrison%2C-phillip-edward" year: "1987" month: "Dec" abstract: "The term visibility control refers to the use of names in programming languages. A binding of a name and an entity results from a declaration. A binding is visible where the name can be used to reference the entity. The visibility rules of a language define how names may be used in that language, how to determine which declaration is denoted by a reference anywhere in a program, and the meaning of multiple declarations of the same name.

Existing approaches to modeling visibility rules are not powerful enough to model the wide variety of visibility features present in modern programming languages. The Inheritance Graph Model, presented in this dissertation, is a natural and general model of visibility that embodies the fundamental concepts of visibility. Because the Inheritance Graph Model is based on fundamental concepts, it is easy to represent the visibility structure of a wide variety of languages and visibility features in a straightforward manner. These fundamental concepts were developed on the basis of a comprehensive survey and analysis of the visibility features used in programming languages.

The visibility structure of a program is represented by an inheritance graph. A vertex in the graph represents a uniform referencing environment (a contour). Multiple visibility classes can be used to explicitly represent different kinds of visibility in the graph. An edge in the graph represents inheritance of visibility of bindings with a specific visibility class from one vertex to another. Inheritance of visibility of bindings via an edge can be restricted depending on attributes of each binding or on the program construct represented by the edge. A general mechanism for detecting errors and specifying shadowing of bindings declared in enclosing scopes is also provided. An implementation based on data flow analysis techniques can be generated automatically from a specification of the inheritance graph for a language.

The study of visibility features and their precise meanings exposed several subtle complexities in the visibility rules of popular languages. Among these is the requirement in Pascal that a declaration precede all references to the declaration. This requirement provides few benefits, and results in visibility rules that are difficult to understand, specify, and implement correctly." links: "url": "http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/5871.html" tags: - "programming languages" - "rule-based" - "program analysis" - "meta programming" - "data-flow language" - "meta-model" - "modeling language" - "modeling" - "term rewriting" - "language modeling" - "domain analysis" - "analysis" - "data-flow programming" - "data-flow" - "graph-rewriting" - "survey" - "rules" - "programming" - "Meta-Environment" - "rewriting" - "data-flow analysis" - "Pascal" - "systematic-approach" - "domain-specific language" researchr: "https://researchr.org/publication/Garrison-CSD-88-400" cites: 0 citedby: 0 school: "EECS Department, University of California, Berkeley" advisor: - name: "Susan L. Graham" link: "https://researchr.org/alias/susan-l.-graham" kind: "phdthesis" key: "Garrison-CSD-88-400" - title: "Typical: Taking the Tedium Out of Typing" author: - name: "Robert Grimm" link: "http://www.cs.nyu.edu/rgrimm/" - name: " Laune Harris" link: "https://researchr.org/alias/laune-harris" - name: "Anh Le" link: "https://researchr.org/alias/anh-le" year: "2007" month: "November" abstract: "The implementation of real-world type checkers requires a nontrivial engineering effort. The resulting code easily comprises thousands of lines, which increases the probability of software defects in a component critical to compiler correctness. To make type checkers easier to implement and extend, this paper presents Typi- cal, a domain-specific language and compiler that directly and concisely captures the structure of type systems. Our language builds on the functional core for ML to represent syntax trees and types as variants and to traverse them with pattern matches. It then adds declarative constructs for common type checker concerns, such as scoping rules, namespaces, and constraints on types. It also integrates error checking and reporting with other constructs to promote comprehensive error management. We have validated our system with two real-world type checkers written in Typical, one for Typical itself and the other for C." tags: - "rule-based" - "pattern language" - "software components" - "traversal" - "language engineering" - "software language engineering" - "software component" - "constraints" - "type system" - "software engineering" - "rules" - "C++" - "type checking" - "compiler" - "domain-specific language" researchr: "https://researchr.org/publication/GrimmHarrisLe2007" cites: 0 citedby: 0 institution: "New York University" type: "NYU CS Technical Report " number: "TR2007-904" address: "New York" kind: "techreport" key: "GrimmHarrisLe2007" - title: "ELI: A Complete, Flexible Compiler Construction System" author: - name: "Robert W. Gray" link: "https://researchr.org/alias/robert-w.-gray" - name: "Steven P. Levi" link: "https://researchr.org/alias/steven-p.-levi" - name: "Vincent P. Heuring" link: "https://researchr.org/alias/vincent-p.-heuring" - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" - name: "William M. Waite" link: "https://researchr.org/alias/william-m.-waite" year: "1992" tags: - "completeness" - "compiler" researchr: "https://researchr.org/publication/GrayLHSW92" cites: 0 citedby: 1 journal: "CACM" volume: "35" number: "2" pages: "121-130" kind: "article" key: "GrayLHSW92" - title: "Defining Context-Dependent Syntax Without Using Contexts" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1993" doi: "http://doi.acm.org/10.1145/169683.174159" links: doi: "http://doi.acm.org/10.1145/169683.174159" tags: - "context-aware" researchr: "https://researchr.org/publication/Odersky93" cites: 0 citedby: 0 journal: "TOPLAS" volume: "15" number: "3" pages: "535-562" kind: "article" key: "Odersky93" - title: "Flexible Symbol Table Structures for Compiling C++" author: - name: "Stephen C. Dewhurst" link: "https://researchr.org/alias/stephen-c.-dewhurst" year: "1987" tags: - "C++" - "compiler" researchr: "https://researchr.org/publication/Dewhurst87-1" cites: 0 citedby: 0 journal: "SPE" volume: "17" number: "8" pages: "503-512" kind: "article" key: "Dewhurst87-1" - title: "Logic-Based Specification of Visibility Rules" author: - name: "Arnd Poetzsch-Heffter" link: "https://researchr.org/alias/arnd-poetzsch-heffter" year: "1991" tags: - "rule-based" - "rules" - "logic" researchr: "https://researchr.org/publication/Poetzsch-Heffter91" cites: 0 citedby: 0 pages: "63-74" booktitle: "plilp" kind: "inproceedings" key: "Poetzsch-Heffter91" - 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: "Program Transformation with Scoped Dynamic Rewrite Rules" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Arthur van Dam" link: "https://researchr.org/profile/arthurvandam/publications" - name: "Karina Olmos" link: "https://researchr.org/profile/karinaolmos/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06" abstract: "The applicability of term rewriting to program transformation is limited by the lack of control over rule application and by the context-free nature of rewrite rules. The first problem is addressed by languages supporting user-definable rewriting strategies. The second problem is addressed by the extension of rewriting strategies with scoped dynamic rewrite rules. Dynamic rules are defined at run-time and can access variables available from their definition context. Rules defined within a rule scope are automatically retracted at the end of that scope. In this paper, we explore the design space of dynamic rules, and their application to transformation problems. The technique is formally defined by extending the operational semantics underlying the program transformation language Stratego, and illustrated by means of several program transformations in Stratego, including constant propagation, bound variable renaming, dead code elimination, function inlining, and function specialization. " links: doi: "https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06" "technical report": "http://www.cs.uu.nl/research/techreps/UU-CS-2005-005.html" tags: - "programming languages" - "semantics" - "rule-based" - "formal semantics" - "graph transformation" - "dynamic rewrite rules" - "Stratego/XT" - "transformation language" - "term rewriting" - "language design" - "graph-rewriting" - "rules" - "operational semantics" - "context-aware" - "access control" - "rewriting" - "design" - "role-based access control" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/BravenboerDOV06" cites: 0 citedby: 4 journal: "FUIN" volume: "69" number: "1-2" pages: "123-178" kind: "article" key: "BravenboerDOV06" - title: "The Eli System" author: - name: "Uwe Kastens" link: "https://researchr.org/alias/uwe-kastens" - name: "Peter Pfahler" link: "https://researchr.org/alias/peter-pfahler" - name: "Matthias T. Jung" link: "https://researchr.org/alias/matthias-t.-jung" year: "1998" researchr: "https://researchr.org/publication/KastensPJ98" cites: 0 citedby: 0 pages: "294-297" booktitle: "CC" kind: "inproceedings" key: "KastensPJ98" - title: "Prototyping Realistic Programming Languages Based on Formal Specifications" author: - name: "Arnd Poetzsch-Heffter" link: "https://researchr.org/alias/arnd-poetzsch-heffter" year: "1997" doi: "http://link.springer.de/link/service/journals/00236/bibs/7034010/70340737.htm" links: doi: "http://link.springer.de/link/service/journals/00236/bibs/7034010/70340737.htm" tags: - "programming languages" - "rule-based" - "programming" researchr: "https://researchr.org/publication/Poetzsch-Heffter97" cites: 0 citedby: 0 journal: "ACTA" volume: "34" number: "10" pages: "737-772" kind: "article" key: "Poetzsch-Heffter97" - title: "A Symbol Table with Scope Recognition for the B-6500" author: - name: "Henry J. Bowlden" link: "https://researchr.org/alias/henry-j.-bowlden" year: "1970" researchr: "https://researchr.org/publication/Bowlden70" cites: 0 citedby: 0 pages: "1-19" booktitle: "algol" kind: "inproceedings" key: "Bowlden70" - title: "Basic operations of the VisiCola scope model" author: - name: "Michael A. Klug" link: "https://researchr.org/alias/michael-a.-klug" year: "1994" doi: "http://doi.acm.org/10.1145/185009.185018" links: doi: "http://doi.acm.org/10.1145/185009.185018" tags: - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/Klug94" cites: 0 citedby: 0 journal: "SIGPLAN" volume: "29" number: "9" pages: "44-50" kind: "article" key: "Klug94" - title: "The design and implementation of an APL dialect, ELI" author: - name: "Wai-Mee Ching" link: "https://researchr.org/alias/wai-mee-ching" year: "2000" doi: "http://doi.acm.org/10.1145/570475.570485" links: doi: "http://doi.acm.org/10.1145/570475.570485" tags: - "design" researchr: "https://researchr.org/publication/Ching00" cites: 0 citedby: 0 pages: "69-76" booktitle: "aplas" kind: "inproceedings" key: "Ching00" - title: "Stratego/XT 0.17. A language and toolset for program transformation" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Rob Vermaas" link: "https://researchr.org/profile/robvermaas/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1016/j.scico.2007.11.003" abstract: "Stratego/XT is a language and toolset for program transformation. The Stratego language provides rewrite rules for expressing basic transformations, programmable rewriting strategies for controlling the application of rules, concrete syntax for expressing the patterns of rules in the syntax of the object language, and dynamic rewrite rules for expressing context-sensitive transformations, thus supporting the development of transformation components at a high level of abstraction. The XT toolset offers a collection of flexible, reusable transformation components, and tools for generating such components from declarative specifications. Complete program transformation systems are composed from these components." links: doi: "http://dx.doi.org/10.1016/j.scico.2007.11.003" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-011.pdf" "stratego/xt": "http://strategoxt.org" tags: - "control systems" - "programming languages" - "object-oriented programming" - "concrete object syntax" - "reusable components" - "rule-based" - "completeness" - "meta programming" - "pattern language" - "graph transformation" - "Stratego/XT" - "transformation language" - "reuse" - "graph-rewriting" - "rules" - "transformation system" - "DSL" - "programming" - "subject-oriented programming" - "context-aware" - "abstraction" - "Meta-Environment" - "rewriting" - "rewriting strategies" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/BravenboerKVV08" cites: 0 citedby: 7 journal: "SCP" volume: "72" number: "1-2" pages: "52-70" kind: "article" key: "BravenboerKVV08" - title: "Semantics of Context-Free Languages" author: - name: "Donald E. Knuth" link: "https://researchr.org/alias/donald-e.-knuth" year: "1968" doi: "http://www.springerlink.com/content/m2501m07m4666813/" abstract: "\"Meaning\" may be assigned to a string in a context-free language by defining attributes of the symbols in a derivation tree for that string. The attributes can be defined by functions associated with each production in the grammar. This paper examines the implications of this process when some of the attributes are synthesized, i.e., defined solely in terms of attributes of thedescendants of the corresponding nonterminal symbol, while other attributes are inherited, i.e., defined in terms of attributes of theancestors of the nonterminal symbol. An algorithm is given which detects when such semantic rules could possibly lead to circular definition of some attributes. An example is given of a simple programming language defined with both inherited and synthesized attributes, and the method of definition is compared to other techniques for formal specification of semantics which have appeared in the literature." links: doi: "http://www.springerlink.com/content/m2501m07m4666813/" tags: - "programming languages" - "semantics" - "rule-based" - "attribute grammars" - "formal semantics" - "context free languages" - "rules" - "e-science" - "programming" - "context-aware" - "grammar" researchr: "https://researchr.org/publication/Knuth68" cites: 0 citedby: 1 journal: "mst" volume: "2" number: "2" pages: "127-145" kind: "article" key: "Knuth68" - title: "Strong Normalization for System F by HOAS on Top of FOAS" author: - name: "Andrei Popescu" link: "https://researchr.org/alias/andrei-popescu" - name: "Elsa L. Gunter" link: "https://researchr.org/alias/elsa-l.-gunter" - name: "Christopher J. Osborn" link: "https://researchr.org/alias/christopher-j.-osborn" year: "2010" doi: "http://doi.ieeecomputersociety.org/10.1109/LICS.2010.48" links: doi: "http://doi.ieeecomputersociety.org/10.1109/LICS.2010.48" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/lics/PopescuGO10" researchr: "https://researchr.org/publication/PopescuGO10" cites: 0 citedby: 0 pages: "31-40" booktitle: "lics" kind: "inproceedings" key: "PopescuGO10" - title: "An overview of the K semantic framework" author: - name: "Grigore Rosu" link: "http://fsl.cs.uiuc.edu/~grosu/" - name: "Traian-Florin Serbanuta" link: "https://researchr.org/alias/traian-florin-serbanuta" year: "2010" doi: "http://dx.doi.org/10.1016/j.jlap.2010.03.012" abstract: "K is an executable semantic framework in which programming languages, calculi, as well as type systems or formal analysis tools can be defined, making use of configurations, omputations and rules. Configurations organize the system/program state in units called cells, which are labeled and can be nested. Computations carry \"computational meaning\" as special nested list structures sequentializing computational tasks, such as fragments of program; in particular, computations extend the original language or calculus syntax. K (rewrite) rules generalize conventional rewrite rules by making explicit which parts of the term they read, write, or do not care about. This distinction makes K a suitable framework for defining truly concurrent languages or calculi, even in the presence of sharing. Since computations can be handled like any other terms in a rewriting environment, that is, they can be matched, moved from one place to another in the original term, modified, or even deleted, K is particularly suitable for defining control-intensive language features such as abrupt termination, exceptions, or call/cc. This paper gives an overview of the K framework: what it is, how it can be used, and where it has been used so far. It also proposes and discusses the K definition of CHALLENGE, a programming language that aims to challenge and expose the limitations of existing semantic frameworks." links: doi: "http://dx.doi.org/10.1016/j.jlap.2010.03.012" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/jlp/RosuS10" researchr: "https://researchr.org/publication/RosuS10" cites: 0 citedby: 0 journal: "jlp" volume: "79" number: "6" pages: "397-434" kind: "article" key: "RosuS10" - title: "oAW xText: A framework for textual DSLs" author: - name: "Sven Efftinge" link: "https://researchr.org/alias/sven-efftinge" - name: "Markus Völter" link: "http://www.voelter.de/" year: "2006" tags: - "DSL" researchr: "https://researchr.org/publication/EfftingeVoelter2006" cites: 0 citedby: 1 booktitle: "Workshop on Modeling Symposium at Eclipse Summit" kind: "inproceedings" key: "EfftingeVoelter2006" - title: "Design of a Reusable Symbol Table Abstraction" author: - name: "Peter Schnorf" link: "https://researchr.org/alias/peter-schnorf" year: "1991" tags: - "reuse" - "abstraction" - "design" researchr: "https://researchr.org/publication/Schnorf91" cites: 0 citedby: 0 journal: "stp" volume: "12" number: "2" pages: "63-74" kind: "article" key: "Schnorf91" - title: "Typing Haskell with an Attribute Grammar" author: - name: "Atze Dijkstra" link: "https://researchr.org/alias/atze-dijkstra" - name: "S. Doaitse Swierstra" link: "http://www.cs.uu.nl/staff/doaitse.html" year: "2004" doi: "http://dx.doi.org/10.1007/11546382_1" links: doi: "http://dx.doi.org/10.1007/11546382_1" tags: - "attribute grammars" - "Haskell" - "grammar" researchr: "https://researchr.org/publication/DijkstraS04" cites: 0 citedby: 0 pages: "1-72" booktitle: "afp" kind: "inproceedings" key: "DijkstraS04" - title: "Symbol spotting in vectorized technical drawings through a lookup table of region strings" author: - name: "Marçal Rusiñol" link: "https://researchr.org/alias/mar%C3%A7al-rusi%C3%B1ol" - name: "Josep Lladós" link: "https://researchr.org/alias/josep-llad%C3%B3s" - name: "Gemma Sánchez" link: "https://researchr.org/alias/gemma-s%C3%A1nchez" year: "2010" doi: "http://dx.doi.org/10.1007/s10044-009-0161-2" links: doi: "http://dx.doi.org/10.1007/s10044-009-0161-2" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/paa/RusinolLS10" researchr: "https://researchr.org/publication/RusinolLS10" cites: 0 citedby: 0 journal: "paa" volume: "13" number: "3" pages: "321-331" kind: "article" key: "RusinolLS10" - title: "Another Solution of Scoping Problems in Symbol Tables" author: - name: "Werner Aßmann" link: "https://researchr.org/alias/werner-a%C3%9Fmann" year: "1992" abstract: "The central task of symbol table administration is identification of all identifiers used in the source program under consideration of visibility rules varying between the different programming languages. Usually this problem is handled by a hash search of the identifier and an additional decision about the visibility of this identifier in the current program region (\"scoping problem\"). The most used solution for the scoping problem is scope-dependent switching of hash links in such a way that only such identifier indeed visible in this region are reachable by the hashing process. The new approach handles the scoping problem by visibility sets defined for every program region, and additionally by overload resolution tables for multiple used identifier names. The result is constant decision time for the scoping problem (at latest) after the first access to an identifier in a program region. The algorithm is very simple so that the access time is not only (nearly) constant but also very small. The approach permits an efficient solution of all the scoping problems of contemporary programming languages such as MODULA-2, C, or Fonran90." tags: - "programming languages" - "rule-based" - "source-to-source" - "rules" - "C++" - "programming" - "search" - "systematic-approach" - "open-source" researchr: "https://researchr.org/publication/Assmann92%3A0" cites: 0 citedby: 0 pages: "66-71" booktitle: "cc" kind: "inproceedings" key: "Assmann92:0" - title: "Reference Attribute Grammars for Metamodel Semantics" author: - name: "Christoff Bürger" link: "https://researchr.org/alias/christoff-b%C3%BCrger" - name: "Sven Karol" link: "https://researchr.org/alias/sven-karol" - name: "Christian Wende" link: "https://researchr.org/alias/christian-wende" - name: "Uwe Aßmann" link: "https://researchr.org/alias/uwe-a%C3%9Fmann" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_3" links: doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_3" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/BurgerKWA10" tags: - "semantics" - "attribute grammars" - "reference attribute grammars" - "grammar" researchr: "https://researchr.org/publication/BurgerKWA10" cites: 0 citedby: 0 pages: "22-41" booktitle: "SLE" kind: "inproceedings" key: "BurgerKWA10" - title: "FreshML: programming with binders made simple" author: - name: "Mark R. Shinwell" link: "https://researchr.org/alias/mark-r.-shinwell" - name: "Andrew M. Pitts" link: "https://researchr.org/alias/andrew-m.-pitts" - name: "Murdoch Gabbay" link: "https://researchr.org/alias/murdoch-gabbay" year: "2003" doi: "http://doi.acm.org/10.1145/944705.944729" links: doi: "http://doi.acm.org/10.1145/944705.944729" tags: - "programming" researchr: "https://researchr.org/publication/ShinwellPG03" cites: 0 citedby: 0 pages: "263-274" booktitle: "ICFP" kind: "inproceedings" key: "ShinwellPG03" - title: "Attribute Grammar Paradigms - A High-Level Methodology in Language Implementation" author: - name: "Jukka Paakki" link: "https://researchr.org/alias/jukka-paakki" year: "1995" tags: - "attribute grammars" - "grammar" researchr: "https://researchr.org/publication/Paakki95" cites: 0 citedby: 2 journal: "ACM Comput. Surv." volume: "27" number: "2" pages: "196-255" kind: "article" key: "Paakki95" - title: "Object Constraint Language" year: "2012" tags: - "meta-model" - "constraints" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/OCL2012" cites: 0 citedby: 0 organization: "Object Management Group" edition: "2.3.1" kind: "manual" key: "OCL2012" - title: "CINNI - A Generic Calculus of Explicit Substitutions and its Application to lambda-, varsigma- and pi- Calculi" author: - name: "Mark-Oliver Stehr" link: "https://researchr.org/alias/mark-oliver-stehr" year: "2000" doi: "http://www.elsevier.com/gej-ng/31/29/23/71/22/show/Products/notes/index.htt#006" abstract: "We approach the general problem of representing higher-order languages, that are usually equipped with special variable binding constructs, in a less specialized firstorder framework such as membership equational logic and the corresponding version of rewriting logic. The solution we propose is based on CINNI, a new calculus of explicit substitutions that makes use of a term representation that contains both the standard named notation and de Bruijn’s indexed notation as special subcases. The calculus is parametric in the syntax of the object language, which allows us to apply it to different object languages such as λ-calculus, Abadi and Cardelli’s object calculus (ς-calculus) and Milner’s calculus of communicating mobile processes (π- calculus). As a practical result we obtain executable formal representations of these object languages in Maude with a representational distance close to zero." links: doi: "http://www.elsevier.com/gej-ng/31/29/23/71/22/show/Products/notes/index.htt#006" tags: - "rule-based" - "application framework" - "variable binding" - "term rewriting" - "graph-rewriting" - "logic" - "Meta-Environment" - "rewriting logic" - "rewriting" - "systematic-approach" - "meta-objects" researchr: "https://researchr.org/publication/Stehr00" cites: 0 citedby: 0 journal: "ENTCS" volume: "36" pages: "70-92" kind: "article" key: "Stehr00" - title: "Xtext: implement your language faster than the quick and dirty way" author: - name: "M. Eysholdt" link: "https://researchr.org/alias/m.-eysholdt" - name: "H. Behrens" link: "https://researchr.org/alias/h.-behrens" year: "2010" abstract: "Whether there is an (emerging or legacy) Domain-Specific Language to increase the expressiveness of your coworkers or whether you are about to invent a new General Purpose Prgramming Language: Tool support that goes beyond a parser/compiler is essential to make other people adopt your language and to be more productive. Xtext is an award- winning framework to build such tooling. In this tutorial we explain how to define a language and a statically typed, EMF-based Abstract Syntax Tree using only a grammar. We then generate a parser, a serializer and a smart editor from it. The editor provides many features out-of-the-box, such as syntax highlighting, content-assist, folding, jump-to-declaration and reverse-reference lookup across multiple files. Then, it is shown how literally every aspects of the language and its complementary tool support can be customized using Dependency Injection, especially how this can be done for linking, formatting and validation. As an outlook, we will demonstrate how to integrate a custom language with Java, how Xtext maintains a workspace-wide index of named elements and how to implement incremental code generation or attach an interpreter. " tags: - "rule-based" - "Java" - "interpreter" - "abstract syntax" - "EMF" - "code generation" - "compiler" - "parsing" - "incremental" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/eysholdt2010xtext" cites: 0 citedby: 0 pages: "307-309" booktitle: "Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion" kind: "inproceedings" key: "eysholdt2010xtext" - title: "Symbol Table Construction and Name Lookup in ISO C++" author: - name: "James F. Power" link: "https://researchr.org/alias/james-f.-power" - name: "Brian A. Malloy" link: "https://researchr.org/alias/brian-a.-malloy" year: "2000" doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.891358" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.891358" tags: - "C++" researchr: "https://researchr.org/publication/PowerM00%3A1" cites: 0 citedby: 0 pages: "57-69" booktitle: "TOOLS" kind: "inproceedings" key: "PowerM00:1" - title: "Mechanized meta-reasoning using a hybrid HOAS/de bruijn representation and reflection" author: - name: "Jason Hickey" link: "https://researchr.org/alias/jason-hickey" - name: "Aleksey Nogin" link: "https://researchr.org/alias/aleksey-nogin" - name: "Xin Yu" link: "https://researchr.org/alias/xin-yu" - name: "Alexei Kopylov" link: "https://researchr.org/alias/alexei-kopylov" year: "2006" doi: "http://doi.acm.org/10.1145/1159803.1159826" links: doi: "http://doi.acm.org/10.1145/1159803.1159826" tags: - "meta-model" - "Meta-Environment" - "reflection" - "meta-objects" researchr: "https://researchr.org/publication/HickeyNYK06" cites: 0 citedby: 0 pages: "172-183" booktitle: "ICFP" kind: "inproceedings" key: "HickeyNYK06" - title: "The Spoofax Name Binding Language" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Vlad A. Vergu" link: "http://www.linkedin.com/in/vladv" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2012" doi: "https://doi.org/10.1145/2384716.2384748" abstract: "In textual software languages, names are used to identify program elements such as variables, methods, and classes. Name analysis algorithms resolve names in order to establish references between definitions and uses of names. In this poster, we present the Spoofax Name Binding Language (NBL), a declarative meta-language for the specification of name binding and scope rules, which departs from the programmatic encodings of name binding provided by regular approaches. NBL aspires to become the universal language for name binding, which can be used next to BNF definitions in reference manuals, as well as serve the generation of implementations." links: doi: "https://doi.org/10.1145/2384716.2384748" "url": "https://doi.org/10.1145/2384716.2384748" tags: - "C++" - "Spoofax" researchr: "https://researchr.org/publication/KonatVKWV2012" cites: 0 citedby: 0 booktitle: "Companion to the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2012, Tucson, AR, USA, October 19 - 26, 2012" kind: "inproceedings" key: "KonatVKWV2012" - title: "An Introductory Tutorial on JastAdd Attribute Grammars" author: - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-18023-1_4" links: doi: "http://dx.doi.org/10.1007/978-3-642-18023-1_4" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gttse/Hedin09" tags: - "attribute grammars" - "JastAdd" - "grammar" researchr: "https://researchr.org/publication/Hedin09" cites: 0 citedby: 0 pages: "166-200" booktitle: "GTTSE" kind: "inproceedings" key: "Hedin09" - title: "The Spoofax language workbench: rules for declarative specification of languages and IDEs" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2010" doi: "https://doi.org/10.1145/1869459.1869497" abstract: "Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. Spoofax integrates language processing techniques for parser generation, meta-programming, and IDE development into a single environment. It uses concise, declarative specifications for languages and IDE services. In this paper we describe the architecture of Spoofax and introduce idioms for high-level specifications of language semantics using rewrite rules, showing how analyses can be reused for transformations, code generation, and editor services such as error marking, reference resolving, and content completion. The implementation of these services is supported by language-parametric editor service classes that can be dynamically loaded by the Eclipse IDE, allowing new languages to be developed and used side-by-side in the same Eclipse environment." links: doi: "https://doi.org/10.1145/1869459.1869497" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KatsV10" "acm dl": "https://doi.org/10.1145/1932682.1869497" tags: - "programming languages" - "model-to-model transformation" - "workbench" - "semantics" - "rule-based" - "Eclipse" - "meta programming" - "model editor" - "graph transformation" - "meta-model" - "transformation language" - "architecture" - "reuse" - "model-driven development" - "graph-rewriting" - "rules" - "C++" - "code completion" - "code generation" - "model transformation" - "programming" - "language workbench" - "Spoofax" - "Meta-Environment" - "rewriting" - "parsing" - "meta-objects" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/KatsV10" cites: 0 citedby: 2 pages: "444-463" booktitle: "OOPSLA" kind: "inproceedings" key: "KatsV10" - title: "Modular Name Analysis for Java Using JastAdd" author: - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" year: "2006" doi: "http://dx.doi.org/10.1007/11877028_18" abstract: "Name analysis for Java is challenging with its complex visibility rules involving nested scopes, inheritance, qualified access, and syntactic ambiguities. We show how Java name analysis including ambiguities related to names of variables, fields, and packages, can be implemented in a declarative and modular manner using the JastAdd compiler construction system. Declarative attributes and context-dependent rewrites enable the implementation to be modularized in the same way as the informal Java language specification. The individual rules in the specification transfer directly to equations in the implementation. Rewrites are used to define new concepts in terms of existing concepts in an iterative manner in the same way as the informal language specification. This enables equations to use both context-free and context-dependent concepts and leads to improved separation of concerns. A full Java 1.4 compiler has been implemented to validate the technique." links: doi: "http://dx.doi.org/10.1007/11877028_18" tags: - "rule-based" - "Java" - "analysis" - "graph-rewriting" - "rules" - "compiler" - "context-aware" - "rewriting" - "JastAdd" researchr: "https://researchr.org/publication/EkmanH06" cites: 0 citedby: 1 pages: "422-436" booktitle: "GTTSE" kind: "inproceedings" key: "EkmanH06" - title: "Implementing High-Level Identification Specifications" author: - name: "Arnd Poetzsch-Heffter" link: "https://researchr.org/alias/arnd-poetzsch-heffter" year: "1992" researchr: "https://researchr.org/publication/Poetzsch-Heffter92" cites: 0 citedby: 0 pages: "59-65" booktitle: "cc" kind: "inproceedings" key: "Poetzsch-Heffter92" - title: "Dynamic Binding Is the Name of the Game" author: - name: "Marco Antonio Gómez-Martín" link: "https://researchr.org/alias/marco-antonio-g%C3%B3mez-mart%C3%ADn" - name: "Pedro Pablo Gómez-Martín" link: "https://researchr.org/alias/pedro-pablo-g%C3%B3mez-mart%C3%ADn" - name: "Pedro A. González-Calero" link: "https://researchr.org/alias/pedro-a.-gonz%C3%A1lez-calero" year: "2006" doi: "http://dx.doi.org/10.1007/11872320_27" links: doi: "http://dx.doi.org/10.1007/11872320_27" researchr: "https://researchr.org/publication/Gomez-MartinGG06" cites: 0 citedby: 0 pages: "229-232" booktitle: "iwec" kind: "inproceedings" key: "Gomez-MartinGG06" - title: "A General Name Binding Mechanism" author: - name: "Michele Boreale" link: "https://researchr.org/alias/michele-boreale" - name: "Maria Grazia Buscemi" link: "https://researchr.org/alias/maria-grazia-buscemi" - name: "Ugo Montanari" link: "https://researchr.org/alias/ugo-montanari" year: "2005" doi: "http://dx.doi.org/10.1007/11580850_5" links: doi: "http://dx.doi.org/10.1007/11580850_5" researchr: "https://researchr.org/publication/BorealeBM05" cites: 0 citedby: 0 pages: "61-74" booktitle: "tgc" kind: "inproceedings" key: "BorealeBM05" - title: "An Axiomatic Approach to Metareasoning on Nominal Algebras in HOAS" author: - name: "Furio Honsell" link: "https://researchr.org/alias/furio-honsell" - name: "Marino Miculan" link: "https://researchr.org/alias/marino-miculan" - name: "Ivan Scagnetto" link: "https://researchr.org/alias/ivan-scagnetto" year: "2001" doi: "http://link.springer.de/link/service/series/0558/bibs/2076/20760963.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2076/20760963.htm" tags: - " algebra" - "systematic-approach" researchr: "https://researchr.org/publication/HonsellMS01%3A1" cites: 0 citedby: 0 pages: "963-978" booktitle: "icalp" kind: "inproceedings" key: "HonsellMS01:1" - title: "Engineering formal metatheory" author: - name: "Brian E. Aydemir" link: "https://researchr.org/alias/brian-e.-aydemir" - name: "Arthur Charguéraud" link: "https://researchr.org/alias/arthur-chargu%C3%A9raud" - name: "Benjamin C. Pierce" link: "http://www.cis.upenn.edu/~bcpierce/" - name: "Randy Pollack" link: "https://researchr.org/alias/randy-pollack" - name: "Stephanie Weirich" link: "http://www.cis.upenn.edu/~sweirich/" year: "2008" doi: "http://doi.acm.org/10.1145/1328438.1328443" abstract: "Machine-checked proofs of properties of programming languages have become a critical need, both for increased confidence in large and complex designs and as a foundation for technologies such as proof-carrying code. However, constructing these proofs remains a black art, involving many choices in the formulation of definitions and theorems that make a huge cumulative difference in the difficulty of carrying out large formal developments. The representation and manipulation of terms with variable binding is a key issue. We propose a novel style for formalizing metatheory, combining locally nameless representation of terms and cofinite quantification of free variable names in inductive definitions of relations on terms (typing, reduction, ...). The key technical insight is that our use of cofinite quantification obviates the need for reasoning about equivariance (the fact that free names can be renamed in derivations); in particular, the structural induction principles of relations defined using cofinite quantification are strong enough for metatheoretic reasoning, and need not be explicitly strengthened. Strong inversion principles follow (automatically, in Coq) from the induction principles. Although many of the underlying ingredients of our technique have been used before, their combination here yields a significant improvement over existing methodology, leading to developments that are faithful to informal practice, yet require no external tool support and little infrastructure within the proof assistant. We have carried out several large developments in this style using the Coq proof assistant and have made them publicly available. Our developments include type soundness for and ML (with references, exceptions, datatypes, recursion and patterns) and subject reduction for the Calculus of Constructions. Not only do these developments demonstrate the comprehensiveness of our approach; they have also been optimized for clarity and robustness, making them good templates for future extension. " links: doi: "http://doi.acm.org/10.1145/1328438.1328443" tags: - "programming languages" - "optimization" - "object-oriented programming" - "Machanized Metatheory" - "proof assistant" - "pattern language" - "type soundness" - "exceptions" - "Coq" - "variable binding" - "language engineering" - "Cofinite quantification" - "principles" - "little language" - "C++" - "metatheory" - "programming" - "subject-oriented programming" - "Syntactic type soundness" - "program optimization" - "systematic-approach" - "feature-oriented programming" - "Locally nameless" researchr: "https://researchr.org/publication/AydemirCPPW08" cites: 0 citedby: 0 pages: "3-15" booktitle: "POPL" kind: "inproceedings" key: "AydemirCPPW08" - title: "Generation of Compiler Symbol Processing Mechanisms" author: - name: "Steven P. Reiss" link: "https://researchr.org/alias/steven-p.-reiss" year: "1983" doi: "http://doi.acm.org/10.1145/69624.69625" abstract: "Compiler symbol processing has become complex as programming languages have evolved . In this paper we describe a comprehensive model of symbol processing, and a system that uses this model to generate the symbol processing portions of a compiler from simple specification. The model supports a variety of entities with different types of names. It includes a detailed view of scoping. It provides a simple picture of the complex mapping from a source token to a specific entity. The model is illustrated with examples from Ada. The system is divided into two parts. The first takes a nonprocedural description of the semantics of symbol in the language and produces a symbol table module for a compiler for that language. The second supports a simple symbol processing language that allows the easy connection of syntax and semantic processing to the symbol module. " links: doi: "http://doi.acm.org/10.1145/69624.69625" tags: - "programming languages" - "semantics" - "meta programming" - "meta-model" - "modeling language" - "language modeling" - "type system" - "source-to-source" - "compiler" - "programming" - "Meta-Environment" - "process modeling" - "open-source" - "domain-specific language" researchr: "https://researchr.org/publication/Reiss83" cites: 0 citedby: 0 journal: "TOPLAS" volume: "5" number: "2" pages: "127-163" kind: "article" key: "Reiss83" - title: "Implementation of a Modelica compiler using JastAdd attribute grammars" author: - name: "Johan {\\AA}kesson" link: "https://researchr.org/alias/johan-%7B%5Ebaa%7Dkesson" - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" year: "2010" doi: "http://dx.doi.org/10.1016/j.scico.2009.07.003" links: doi: "http://dx.doi.org/10.1016/j.scico.2009.07.003" tags: - "attribute grammars" - "compiler" - "JastAdd" - "grammar" researchr: "https://researchr.org/publication/AkessonEH10" cites: 0 citedby: 0 journal: "SCP" volume: "75" number: "1-2" pages: "21-38" kind: "article" key: "AkessonEH10" - title: "Binding Strategies and Scope Rules Are Independent" author: - name: "Thomas R. Virgilio" link: "https://researchr.org/alias/thomas-r.-virgilio" - name: "Raphael A. Finkel" link: "https://researchr.org/alias/raphael-a.-finkel" year: "1982" tags: - "rule-based" - "rules" researchr: "https://researchr.org/publication/VirgilioF82" cites: 0 citedby: 0 journal: "Comp. Lang., Syst. \\& Struct." volume: "7" number: "2" pages: "61-67" kind: "article" key: "VirgilioF82" - title: "An Overview of C-alpha-ml" author: - name: "François Pottier" link: "https://researchr.org/alias/fran%C3%A7ois-pottier" year: "2006" doi: "http://dx.doi.org/10.1016/j.entcs.2005.11.039" abstract: "Cαml is a tool that turns a so-called “binding specification” into an Objective Caml compilation unit. A binding specification resembles an algebraic data type declaration, but also includes information about names and binding. Cαml is meant to help writers of interpreters, compilers, or other programs-that-manipulate-programs deal with α-conversion in a safe and concise style. This paper presents an overview of Cαml's binding specification language and of the code that Cαml produces." links: doi: "http://dx.doi.org/10.1016/j.entcs.2005.11.039" tags: - "C++" researchr: "https://researchr.org/publication/Pottier06" cites: 0 citedby: 0 journal: "ENTCS" volume: "148" number: "2" pages: "27-52" kind: "article" key: "Pottier06" - title: "Debugging Eli-Generated Compilers With Noosa" author: - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" year: "1999" tags: - "debugging" - "compiler" researchr: "https://researchr.org/publication/Sloane99" cites: 0 citedby: 0 pages: "17-31" booktitle: "cc" kind: "inproceedings" key: "Sloane99" - title: "Modelling and Specifying Name Visibility and Binding Semantics" author: - name: "Scott A. Vorthmann" link: "https://researchr.org/alias/scott-a.-vorthmann" year: "1993" researchr: "https://researchr.org/publication/Vor93" cites: 0 citedby: 0 kind: "techreport" key: "Vor93" - title: "Symbol Table Access" author: - name: "William M. McKeeman" link: "https://researchr.org/alias/william-m.-mckeeman" year: "1976" researchr: "https://researchr.org/publication/McKeeman76a" cites: 0 citedby: 0 pages: "253-301" booktitle: "ac" kind: "inproceedings" key: "McKeeman76a" - title: "Eclipse Support for Using Eli and Teaching Programming Languages" author: - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" - name: "William M. Waite" link: "https://researchr.org/alias/william-m.-waite" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2005.02.058" links: doi: "http://dx.doi.org/10.1016/j.entcs.2005.02.058" tags: - "programming languages" - "Eclipse" - "teaching" - "programming" researchr: "https://researchr.org/publication/SloaneW05" cites: 0 citedby: 0 journal: "ENTCS" volume: "141" number: "4" pages: "189-194" kind: "article" key: "SloaneW05" - title: "Reusable specification modules for type analysis" author: - name: "Uwe Kastens" link: "https://researchr.org/alias/uwe-kastens" - name: "William M. Waite" link: "https://researchr.org/alias/william-m.-waite" year: "2009" doi: "http://dx.doi.org/10.1002/spe.917" links: doi: "http://dx.doi.org/10.1002/spe.917" tags: - "analysis" - "reuse" researchr: "https://researchr.org/publication/KastensW09" cites: 0 citedby: 0 journal: "SPE" volume: "39" number: "9" pages: "833-864" kind: "article" key: "KastensW09" - title: "Decorated Attribute Grammars: Attribute Evaluation Meets Strategic Programming" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_11" abstract: "Attribute grammars are a powerful specification formalism for tree-based computation, particularly for software language processing. Various extensions have been proposed to abstract over common patterns in attribute grammar specifications. These include various forms of copy rules to support non-local dependencies, collection attributes, and expressing dependencies that are evaluated to a fixed point. Rather than implementing extensions natively in an attribute evaluator, we propose attribute decorators that describe an abstract evaluation mechanism for attributes, making it possible to provide such extensions as part of a library of decorators. Inspired by strategic programming, decorators are specified using generic traversal operators. To demonstrate their effectiveness, we describe how to employ decorators in name, type, and flow analysis. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_11" "technical report (pdf)": "http://www.lclnet.nl/publications/TUD-SERG-2008-038a.pdf" "project home page": "http://strategoxt.org/Stratego/Aster" tags: - "programming languages" - "rule-based" - "attribute grammars" - "program analysis" - "etaps" - "data-flow language" - "pattern language" - "generic programming" - "Stratego/XT" - "traversal" - "analysis" - "data-flow programming" - "data-flow" - "graph-rewriting" - "rules" - "C++" - "strategic programming" - "programming" - "rewriting" - "data-flow analysis" - "Aster" - "grammar" - "Stratego" researchr: "https://researchr.org/publication/KatsSV09" cites: 36 citedby: 1 pages: "142-157" booktitle: "CC" kind: "inproceedings" key: "KatsSV09" - title: "Language Parametric Module Management for IDEs" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Taeke Kooiker" link: "http://www.cwi.nl" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" year: "2008" doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.041" abstract: "An integrated development environment (IDE) monitors all the changes that a user makes to source code modules and responds accordingly by flagging errors, by reparsing, by rechecking, or by recompiling modules and by adjusting visualizations or other information derived from a module. A module manager is the central component of the IDE that is responsible for this behavior. Although the overall functionality of a module manager in a given IDE is fixed, its actual behavior strongly depends on the programming languages it has to support. What is a module? How do modules depend on each other? What is the effect of a change to a module? We propose a concise design for a language parametric module manager: a module manager that is parameterized with the module behavior of a specific language. We describe the design of our module manager and discuss some of its properties. We also report on the application of the module manager in the construction of IDEs for the specification language Asf+Sdf as well as for Java. Our overall goal is the rapid development (generation) of IDEs for programming languages and domain specific languages. The module manager presented here represents a next step in the creation of such generic language workbenches." links: doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.041" tags: - "programming languages" - "workbench" - "Java" - "meta programming" - "generic programming" - "SDF" - "functional programming" - "language design" - "source-to-source" - "code generation" - "programming" - "language workbench" - "Meta-Environment" - "design" - "ASF+SDF" - "IDE" - "open-source" - "domain-specific language" researchr: "https://researchr.org/publication/KlintKV08" cites: 0 citedby: 0 journal: "ENTCS" volume: "203" number: "2" pages: "3-19" kind: "article" key: "KlintKV08" - title: "Symbol Table Management in an HPF Debugger" author: - name: "Marian Bubak" link: "https://researchr.org/alias/marian-bubak" - name: "Wlodzimierz Funika" link: "https://researchr.org/alias/wlodzimierz-funika" - name: "Grzegorz Mlynarczyk" link: "https://researchr.org/alias/grzegorz-mlynarczyk" - name: "Krzysztof Sowa" link: "https://researchr.org/alias/krzysztof-sowa" - name: "Roland Wismüller" link: "https://researchr.org/alias/roland-wism%C3%BCller" year: "1999" tags: - "debugging" researchr: "https://researchr.org/publication/BubakFMSW99" cites: 0 citedby: 0 pages: "1278-1281" booktitle: "hpcn" kind: "inproceedings" key: "BubakFMSW99"