@inproceedings{BBV07, author = {Eric Bouwers and Martin Bravenboer and Eelco Visser}, title = {Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking}, booktitle = {Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA'07)}, optcrossref = {}, optkey = {}, pages = {82--96}, year = {2007}, editor = {A. Sloane and A. Johnstone}, optvolume = {}, optnumber = {}, optseries = {}, address = {Braga, Portugal}, month = {March}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, urlpdf = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-004.pdf}, project = {Stratego and XT and TraCE and SDF}, urlbib = {BBV07.bib}, } @inproceedings{BDV07, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, title = {Preventing Injection Attacks with Syntax Embeddings. {A} Host and Guest Language Independent Approach}, booktitle = {Generative Programming and Component Engineering (GPCE'07)}, pages = {3-12}, year = 2007, editor = {J. Lawall}, address = {New York, NY, USA}, month = {October}, publisher = {ACM}, urldoi = {http://doi.acm.org/10.1145/1289971.1289975}, urlpdf = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-003.pdf}, project = {Stratego and XT and TraCE and SDF and TFA}, urlbib = {BDV07.bib}, } @article{BDV08, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, title = {Preventing Injection Attacks with Syntax Embeddings. {A} Host and Guest Language Independent Approach}, journal = {Science of Computer Programming}, year = {2008}, optkey = {}, optvolume = {}, optnumber = {}, optpages = {}, optmonth = {}, note = {Under construction; Invited for special issue of Generative Programming and Component Engineering (GPCE'07)}, optannote = {}, project = {Stratego and XT and TraCE and SDF and TFA}, urlbib = {BDV08.bib}, } @inproceedings{BGV05, author = {Martin Bravenboer and {Ren\'e} de Groot and Eelco Visser}, title = {{MetaBorg} in Action: {E}xamples of Domain-specific Language Embedding and Assimilation using {Stratego/XT}}, booktitle = {Proceedings of the Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE'05)}, volume = {4143}, series = {Lecture Notes in Computer Science}, editor = {R. L\"ammel and J. Saraiva}, publisher = {Springer Verlag}, pages = {297-311}, year = 2006, address = {Braga, Portugal}, project = {Stratego and XT and SDF and TraCE and TFA}, urlspringer = {http://dx.doi.org/10.1007/11877028_10}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2006/2006-009.pdf}, urlgttse = {http://www.di.uminho.pt/GTTSE2005}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2006-009.html}, pubcat = {proceedings}, category = {proceedings}, class = {Wet}, urlbib = {BGV05.bib}, } @mastersthesis{Bra03, author = {Martin Bravenboer}, title = {Connecting {XML} Processing and Term Rewriting with Tree Grammars}, school = {Utrecht University}, year = 2003, address = {Utrecht, The Netherlands}, month = {November}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/Bra03.pdf}, project = {Stratego and XT and SDF}, urlbib = {Bra03.bib}, } @inproceedings{BS00, author = {M.G.J. van den Brand and J. Scheerder}, title = {Development of Parsing Tools for CASL Using Generic Language Technology}, booktitle = {Proceedings of Recent Trends of Algebraic Development Techniques (WADT'99)}, pages = {89--105}, year = 2000, editor = {D. Bert and C. Choppy and P. Mosses}, volume = 1827, series = {Lecture Notes in Computer Science}, publisher = {Springer-Verlag}, project = {SDF}, urlbib = {BS00.bib}, } @inproceedings{BSVV02, author = {{\sortunder{Brand}}van den Brand, Mark G. J. and Jeroen Scheerder and Jurgen Vinju and Eelco Visser}, title = {Disambiguation Filters for Scannerless Generalized {LR} Parsers}, booktitle = {Compiler Construction (CC'02)}, pages = {143--158}, year = 2002, editor = {N. Horspool}, volume = 2304, series = {Lecture Notes in Computer Science}, address = {Grenoble, France}, month = {April}, publisher = {Springer-Verlag}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.pdf}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.ps.gz}, pubcat = {conference}, project = {SDF}, category = {key and refereed}, acceptance = {18/44 = 40\%}, urlbib = {BSVV02.bib}, } @inproceedings{BTV06, author = {Martin Bravenboer and Eric Tanter and Eelco Visser}, title = {Declarative, Formal, and Extensible Syntax Definition for {AspectJ}. {A} Case for Scannerless Generalized-LR Parsing}, booktitle = {Proceedings of the 21th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'06)}, pages = {209--228}, year = 2006, editor = {William R. Cook}, address = {Portland, Oregon, USA}, month = {October}, publisher = {ACM Press}, urlacm = {http://doi.acm.org/10.1145/1167473.1167491}, opturlinfo = {}, opturlpdf = {http://www.cs.uu.nl/~visser/ftp/BV04.pdf}, optpubcat = {conference}, project = {Stratego and XT and SDF and TraCE and TFA}, category = {key and refereed}, acceptance = {26/156 and 16%}, urlbib = {BTV06.bib}, } @inproceedings{BV04, author = {Martin Bravenboer and Eelco Visser}, title = {Concrete Syntax for Objects. {D}omain-Specific Language Embedding and Assimilation without Restrictions}, booktitle = {Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'04)}, pages = {365--383}, year = 2004, editor = {Douglas C. Schmidt}, address = {Vancouver, Canada}, month = {October}, publisher = {ACM Press}, urlacm = {http://portal.acm.org/citation.cfm?id=1028976.1029007}, urlinfo = {http://www.cs.uu.nl/groups/ST/Visser/ConcreteSyntaxForObjects}, urlpdf = {http://www.cs.uu.nl/~visser/ftp/BV04.pdf}, pubcat = {conference}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, category = {key and refereed}, acceptance = {27/173 and 16%}, urlbib = {BV04.bib}, } @inproceedings{BV07, author = {Martin Bravenboer and Eelco Visser}, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, booktitle = {4th International Workshop on Software Language Engineering (ATEM'07)}, optcrossref = {}, optkey = {}, pages = {100-116}, year = {2007}, opteditor = {}, publisher = {Johannes Gutenberg Universit\"at}, volume = {4/2007}, optnumber = {}, series = {Mainzer InformatikBerichte}, address = {Nashville, USA}, optorganization = {}, optannote = {}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {BV07.bib}, } @inproceedings{BV08, author = {Martin Bravenboer and Eelco Visser}, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, booktitle = {MoDELS'07 Satellite Events Proceedings}, optcrossref = {}, optkey = {}, optpages = {}, year = {2008}, opteditor = {}, optvolume = {}, optnumber = {}, series = {Lecture Notes in Computer Science}, address = {Nashville, USA}, optorganization = {}, publisher = {Springer}, note = {Selected paper from the Workshop on Language Engineering (ATEM'07)}, optannote = {}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {BV08.bib}, } @techreport{BV94, author = {{\sortunder{Brand}}van den Brand, Mark G. J. and Visser, Eelco}, title = {From {Box} to {\TeX}: {An} algebraic approach to the generation of documentation tools}, year = {1994}, month = {July}, number = {P9420}, institution = {Programming Research Group, University of Amsterdam}, url = {ftp://ftp.wins.uva.nl/pub/programming-research/reports/1994/P9420.ps.Z}, abstract = {We define a translation from an intermediate box language for pretty printing to \TeX. This translation can be used as a back-end for pretty printers in documentation tools for programming languages. The translation is formulated in an executable algebraic specification formalism. An important aspect of the translation is the transformation of boxes according to a set of equations. These equations preserve the text formatting semantics of boxes which is also defined algebraically. New in this approach is that algebraic transformations of box terms are used to circumvent the limitations of the typesetter.\par The \TeX\ generator, which translates the box language to \TeX\ code, is a component of documentation tools generated for the programming environments developed with the ASF+SDF meta-environment, but can also be used as a separate tool. As a case study, the construction of a typesetter for the process specification formalism PSF is shown.}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9420.ps.gz}, pubcat = {techreport}, project = {SDF}, urlbib = {BV94.bib}, } @inproceedings{BVVV05, author = {Martin Bravenboer and Rob Vermaas and Jurgen Vinju and Eelco Visser}, title = {Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax}, booktitle = {Proceedings of the Fourth International Conference on Generative Programming and Component Engineering (GPCE'05)}, pages = {157--172}, year = 2005, editor = {Robert Gl{\"u}ck and Mike Lowry}, volume = 3676, series = {Lecture Notes in Computer Science}, address = {Tallinn, Estonia}, month = {September}, publisher = {Springer}, pubcat = {conference}, project = {Stratego and XT and SDF and TraCE and TFA}, category = {key and refereed}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-035.pdf}, urltr = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-035.html}, urlgpce = {http://gpce05.gpce.org}, urlspringer = {http://dx.doi.org/10.1007/11561347_12}, class = {Wet}, acceptance = {27/86 = 31\%}, urlbib = {BVVV05.bib}, } @inproceedings{FV03.concretepl, author = {Bernd Fischer and Eelco Visser}, title = {Adding Concrete Syntax to a {Prolog-based} Program Synthesis System (Extended Abstract)}, booktitle = {Preproceedings of the International Symposium on Logic Based Program Synthesis and Transformation (LOPSTR'03)}, pages = {39--48}, year = 2003, editor = {Maurice Bruynooghe}, number = {Report CW 365}, address = {Uppsala, Sweden}, month = {August}, publisher = {Department of Computer Science, K. U. Leuven}, urlinfo = {http://www.stratego-language.org/Stratego/AddingConcreteSyntaxToAPrologBasedProgramSynthesisSystem}, pubcat = {conference and superseded}, project = {Stratego and XT and SDF}, category = {refereed}, urlbib = {FV03.concretepl.bib}, } @inproceedings{FV04.lopstr, author = {Bernd Fischer and Eelco Visser}, title = {Adding Concrete Syntax to a Prolog-Based Program Synthesis System (Extended Abstract)}, booktitle = {13th International Symposium Logic Based Program Synthesis and Transformation: LOPSTR 2003}, pages = {56--58}, year = 2004, editor = {Maurice Bruynooghe}, volume = 3018, series = {Lecture Notes in Computer Science}, address = {Heidelberg}, month = {November}, publisher = {Springer-Verlag}, urlspringer = {http://www.springerlink.com/index/KBP4AUADCQA8M64D}, category = {refereed}, project = {Stratego and XT and SDF}, pubcat = {conference}, urlbib = {FV04.lopstr.bib}, } @incollection{FV04.retrofit, author = {Bernd Fischer and Eelco Visser}, title = {Retrofitting the {AutoBayes} Program Synthesis System with Concrete Object Syntax}, booktitle = {Domain-Specific Program Generation}, pages = {239--253}, year = 2004, editor = {C. Lengauer and others}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Spinger-Verlag}, pubcat = {conference}, url = {http://www.cs.uu.nl/research/techreps/UU-CS-2004-012.html}, urlpdf = {http://www.cs.uu.nl/research/techreps/repo/CS-2004/2004-012.pdf}, urlinfo = {http://www.stratego-language.org/Stratego/RetrofittingTheAutoBayesProgramSynthesisSystemWithConcreteSyntax}, urlspringer = {http://www.springerlink.com/index/QMMTH1RULCME6JXC}, project = {Stratego and XT and SDF}, category = {refereed}, urlbib = {FV04.retrofit.bib}, } @article{HHKR89, key = {HHKR89}, author = {J. Heering and P. R. H. Hendriks and P. Klint and J. Rekers}, title = {{T}he syntax definition formalism {SDF} -- Reference Manual}, journal = {SIGPLAN Notices}, year = {1989}, volume = {24}, number = {11}, pages = {43--75}, inbib = {EV}, annotate = {Most recent version available at ftp://ftp.cwi.nl/pub/gipe/reports/SDFManual.ps.Z}, url = {http://ftp.cwi.nl/pub/gipe/reports/SDFManual.ps.Z}, fileurl = {http://ftp.cwi.nl/pub/gipe/reports/SDFManual.ps.Z}, project = {SDF}, urlbib = {HHKR89.bib}, } @inproceedings{KV07.spoofax, author = {Karl Trygve Kalleberg and Eelco Visser}, title = {Spoofax: An Interactive Development Environment for Program Transformation with {Stratego/XT}}, booktitle = {Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA'07)}, optcrossref = {}, optkey = {}, pages = {47--50}, year = {2007}, editor = {A. Sloane and A. Johnstone}, optvolume = {}, optnumber = {}, optseries = {}, address = {Braga, Portugal}, month = {March}, optorganization = {}, optpublisher = {}, optnote = {}, optannote = {}, project = {Stratego and XT and SDF and TFA}, pubcat = {conference and tool description}, urlbib = {KV07.spoofax.bib}, } @inproceedings{KV94, author = {Klint, Paul and Visser, Eelco}, title = {Using Filters for the Disambiguation of Context-free Grammars}, booktitle = {Proc. {ASMICS} Workshop on Parsing Theory}, editor = {Pighizzini, G. and {San Pietro}, P.}, year = {1994}, month = {October}, pages = {1--20}, publisher = {Tech. Rep. 126--1994, Dipartimento di Scienze dell'Informazione, Universit\`a di Milano}, address = {Milano, Italy}, pubcat = {workshop}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9426.ps.gz}, urlpsz = {ftp://ftp.wins.uva.nl/pub/programming-research/reports/1994/P9426.ps.Z}, 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.}, project = {SDF}, category = {refereed}, urlbib = {KV94.bib}, } @inproceedings{vandenbrandcurrent, author = {Mark van den Brand and Alex Sellink and Chris Verhoef}, title = {Current Parsing Techniques in Software Renovation Considered Harmful}, pages = {108--117}, url = {citeseer.nj.nec.com/vandenbrand98current.html}, project = {SDF}, urlbib = {vandenbrandcurrent.bib}, } @inproceedings{Vis02.gpce, author = {Eelco Visser}, title = {Meta-Programming with Concrete Object Syntax}, booktitle = {Generative Programming and Component Engineering (GPCE'02)}, pages = {299--315}, year = 2002, editor = {Don Batory and Charles Consel and Walid Taha}, volume = 2487, series = {Lecture Notes in Computer Science}, address = {Pittsburgh, PA, USA}, month = {October}, publisher = {Springer-Verlag}, urlpdf = {http://www.cs.uu.nl/people/visser/ftp/Vis02-gpce.pdf}, pubcat = {conference}, project = {Stratego and XT and SDF}, category = {key and refereed}, acceptance = {18/39 = 46\%}, urlbib = {Vis02.gpce.bib}, } @inproceedings{Vis07, author = {Eelco Visser}, title = {Domain-Specific Language Engineering}, booktitle = {Generative and Transformational Techniques in Software Engineering (GTTSE 2007)}, editor = {R. L\"ammel and J. Saraiva and J. Visser}, pages = {265--318}, publisher = {Universidade do Minho}, year = {2007}, address = {Braga, Portugal}, month = {July}, note = {International Summer School GTTSE 2007, Pre-Proceedings}, urlpdf = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-017.pdf}, urlblog = {http://blog.eelcovisser.net/index.php?/archives/45-Domain-Specific-Language-Engineering.html}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {Vis07.bib}, } @incollection{Vis08, author = {Eelco Visser}, title = {{WebDSL}: {A} Case Study in Domain-Specific Language Engineering}, booktitle = {Generative and Transformational Techniques in Software Engineering (GTTSE 2007)}, optcrossref = {}, optkey = {}, optpages = {}, publisher = {Springer}, year = {2008}, opteditor = {}, optvolume = {}, optnumber = {}, series = {Lecture Notes in Computer Science}, opttype = {}, optchapter = {}, optaddress = {}, optedition = {}, optmonth = {}, note = {Tutorial for International Summer School GTTSE 2007; to appear}, optannote = {}, project = {Stratego and XT and SDF and TraCE and MoDSE and TFA}, urlbib = {Vis08.bib}, } @inproceedings{Vis95.acc, author = {Visser, Eelco}, title = {A Case Study in Optimizing Parsing Schemata by Disambiguation Filters}, booktitle = {Proceedings Accolade95}, editor = {S. Fischer and M. Trautwein}, year = {1995}, month = {September}, pages = {153--167}, organization = {The Dutch Graduate School in Logic}, address = {Amsterdam}, pubcat = {workshop and superseded}, pubcat = {published techreport}, url = {http://ftp.wins.uva.nl/pub/programming-research/reports/1995/P9507.ps.Z}, abstract = {Disambiguation methods for context-free grammars enable concise specification of programming languages by ambiguous grammars. A disambiguation filter is a function that selects a subset from a set of parse trees---the possible parse trees for an ambiguous sentence. The framework of filters provides a declarative description of disambiguation methods independent of parsing. Although filters can be implemented straightforwardly as functions that prune the parse forest produced by some generalized parser, this can be too inefficient for practical applications. In this paper the optimization of parsing schemata, a framework for high-level description of parsing algorithms, by disambiguation filters is considered in order to find efficient parsing algorithms for declaratively specified disambiguation methods. As a case study the optimization of the parsing schema of Earley's parsing algorithm by two filters is investigated. The main result is a technique for generation of efficient LR-like parsers for ambiguous grammars modulo priorities.}, project = {SDF}, category = {refereed}, urlbib = {Vis95.acc.bib}, } @inproceedings{Vis95.psd, author = {Visser, Eelco}, title = {Polymorphic Syntax Definition (Extended Abstract)}, booktitle = {Algebraic Methods in Language Processing (AMILP'95)}, editor = {A. {Nij\-holt} and G. Scollo and R. Steetskamp}, year = {1995}, month = {December}, series = {Twente Workshops in Language Technology}, volume = {10}, pages = {43--54}, publisher = {Twente University of Technology}, address = {Enschede, The Netherlands}, url = {http://adam.wins.uva.nl/~visser/syntax/papers/psd/}, 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 the second level defines the algebra of types used at the first level. 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 these to two-level grammars and signatures and shows how two-level grammars can be used for polymorphic syntax definition and the problems there are for the usage of two-level grammars as signatures in algebraic specification formalisms.}, urlpsgz = {http://www.cs.uu.nl/~visser/ftp/Vis95-AMILP.ps.gz}, pubcat = {workshop and superseded}, project = {SDF}, category = {refereed}, urlbib = {Vis95.psd.bib}, } @inproceedings{Vis95.sdf, author = {Eelco Visser}, title = {A Family of Syntax Definition Formalisms}, booktitle = {{ASF+SDF'95}. A Workshop on Generating Tools from Algebraic Specifications}, editor = {{\sortunder{Brand}}van den Brand, M. G. J. and others}, year = {1995}, month = {May}, pages = {89--126}, publisher = {Technical Report P9504, Programming Research Group, University of Amsterdam}, url = {http://ftp.wins.uva.nl/pub/programming-research/reports/1995/P9504/7.html}, 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.}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9504.ps.gz}, pubcat = {workshop}, project = {ASF+SDF and SDF}, category = {refereed}, urlbib = {Vis95.sdf.bib}, } @techreport{Vis97.cc, author = {Visser, Eelco}, title = {Character Classes}, year = {1997}, month = {August}, number = {P9708}, institution = {Programming Research Group, University of Amsterdam}, url = {http://adam.wins.uva.nl/~visser/syntax/sdf/charclasses/}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9708.ps.gz}, pubcat = {techreport}, project = {ASF+SDF and SDF}, category = {non-refereed}, urlbib = {Vis97.cc.bib}, } @incollection{Vis97.ccg, author = {Visser, Eelco}, title = {From Context-free Grammars with Priorities to Character Class Grammars}, year = {1997}, month = {November}, booktitle = {Liber Amicorum Paul Klint}, publisher = {CWI}, optpages = {}, address = {Amsterdam}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9717.ps.gz}, pubcat = {techreport}, project = {ASF+SDF and SDF}, category = {non-refereed}, urlbib = {Vis97.ccg.bib}, } @inproceedings{Vis97.opt, author = {Visser, Eelco}, title = {A Case Study in Optimizing Parsing Schemata by Disambiguation Filters}, booktitle = {International Workshop on Parsing Technology (IWPT'97)}, year = {1997}, month = {September}, pages = {210--224}, organization = {Massachusetts Institute of Technology}, address = {Boston, USA}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9507.ps.gz}, pubcat = {workshop}, project = {SDF}, category = {refereed}, urlbib = {Vis97.opt.bib}, } @techreport{Vis97.sdf, author = {Visser, Eelco}, title = {A Family of Syntax Definition Formalisms}, year = {1997}, month = {July}, number = {P9706}, institution = {Programming Research Group, University of Amsterdam}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9706.ps.gz}, url = {http://www.wins.uva.nl/pub/programming-research/reports/1997/P9706.ps.gz}, pubcat = {techreport}, project = {ASF+SDF and SDF}, category = {non-refereed}, urlbib = {Vis97.sdf.bib}, } @techreport{Vis97.sglr, author = {Visser, Eelco}, title = {Scannerless Generalized-{LR} Parsing}, year = {1997}, month = {July}, number = {P9707}, institution = {Programming Research Group, University of Amsterdam}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/P9707.ps.gz}, url = {http://www.wins.uva.nl/pub/programming-research/reports/1997/P9707.ps.gz}, pubcat = {techreport}, project = {SDF}, category = {key and non-refereed}, urlbib = {Vis97.sglr.bib}, } @phdthesis{Vis97.thesis, author = {Visser, Eelco}, title = {Syntax Definition for Language Prototyping}, year = {1997}, month = {September}, school = {University of Amsterdam}, url = {http://www.cs.uu.nl/groups/ST/twiki/bin/view/Visser/SyntaxDefinitionForLanguagePrototyping}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis97.ps.gz}, pubcat = {phdthesis}, project = {ASF+SDF and SDF}, category = {key and refereed}, urlbib = {Vis97.thesis.bib}, } @article{Vis98.psd, author = {Visser, Eelco}, title = {Polymorphic Syntax Definition}, journal = {Theoretical Computer Science}, year = 1998, volume = 199, pages = {57--86}, urlpsgz = {http://www.cs.uu.nl/people/visser/ftp/Vis98.ps.gz}, pubcat = {journal}, project = {ASF+SDF and SDF}, category = {refereed}, urlbib = {Vis98.psd.bib}, } @misc{WWW-SDF, key = {sdf}, title = {\url{http://www.syntax-definition.org}}, pubcat = {website}, project = {SDF}, category = {non-refereed}, urlbib = {WWW-SDF.bib}, }