Syntax Definition
Producing and maintaining parsers for large languages requires a declarative syntax definition formalism from which parsers can be generated. SDF2 is a modular syntax definition formalism that integrates lexical and context-free syntax and supports arbitrary context-free grammars. Since the formalism is declarative, syntax definitions can be used to generate other tools from, e.g., pretty-printers and data type definitions. I developed SDF2 as part of my PhD research at the University of Amsterdam. The language and core tools are maintained and further developed at CWI. SDF is an important component of the StrategoXT toolset. Various tools for generation, transformation, and analysis of SDF syntax definitions are developed as part of StrategoXT. Recently we have been employing SDF to provide
concrete syntax for data in host languages such as Stratego, Prolog, and Java.
Publications
PhD thesis on design and implementation of syntax definition formalisms.
SDF
SGLR
Disambiguation
Pretty-printing
Concrete Syntax
SDF in XT
Other Resources
Bibliography
An (incomplete) bibliography of SDF.
Also available in
pdf
and
bibtex.
2008
2007
|
[4] |
E. Bouwers, M. Bravenboer, and E. Visser.
Grammar Engineering Support for Precedence Rule Recovery and Compatibility
Checking.
In A. Sloane and A. Johnstone, editors, Seventh Workshop on
Language Descriptions, Tools, and Applications (LDTA'07), pages 82--96,
Braga, Portugal, March 2007.
(pdf, bib).
|
| [5] |
M. Bravenboer, E. Dolstra, and E. Visser.
Preventing
Injection Attacks with Syntax Embeddings. A Host and Guest Language
Independent Approach.
In J. Lawall, editor, Generative Programming and Component
Engineering (GPCE'07), pages 3--12, New York, NY, USA, October 2007. ACM.
(doi,
pdf, bib).
|
| [6] |
M. Bravenboer and E. Visser.
Designing Syntax Embeddings and Assimilations for
Language Libraries.
In 4th International Workshop on Software Language Engineering
(ATEM'07), volume 4/2007 of Mainzer InformatikBerichte, pages
100--116, Nashville, USA, 2007. Johannes Gutenberg Universität.
(bib).
|
| [7] |
K. T. Kalleberg and E. Visser.
Spoofax: An Interactive Development
Environment for Program Transformation with Stratego/XT.
In A. Sloane and A. Johnstone, editors, Seventh Workshop on
Language Descriptions, Tools, and Applications (LDTA'07), pages 47--50,
Braga, Portugal, March 2007.
(bib).
|
| [8] |
E. Visser.
Domain-Specific Language Engineering.
In R. Lämmel, J. Saraiva, and J. Visser, editors, Generative
and Transformational Techniques in Software Engineering (GTTSE 2007), pages
265--318, Braga, Portugal, July 2007. Universidade do Minho.
International Summer School GTTSE 2007, Pre-Proceedings
(pdf,
blog, bib). |
2006
|
[9] |
M. Bravenboer, R. de Groot, and E. Visser.
MetaBorg in Action:
Examples of Domain-specific Language Embedding and Assimilation using
Stratego/XT.
In R. Lämmel and J. Saraiva, editors, Proceedings of the
Summer School on Generative and Transformational Techniques in Software
Engineering (GTTSE'05), volume 4143 of Lecture Notes in Computer
Science, pages 297--311, Braga, Portugal, 2006. Springer Verlag.
(springer,
pdf,
gttse,
tr,
bib).
|
| [10] |
M. Bravenboer, E. Tanter, and E. Visser.
Declarative,
Formal, and Extensible Syntax Definition for AspectJ. A Case for
Scannerless Generalized-LR Parsing.
In W. R. Cook, editor, Proceedings of the 21th ACM SIGPLAN
Conference on Object-Oriented Programing, Systems, Languages, and
Applications (OOPSLA'06), pages 209--228, Portland, Oregon, USA, October
2006. ACM Press.
(acm,
bib). |
2005
|
[11] |
M. Bravenboer, R. Vermaas, J. Vinju, and E. Visser.
Generalized Type-Based Disambiguation of Meta Programs with Concrete Object
Syntax.
In R. Glück and M. Lowry, editors, Proceedings of the Fourth
International Conference on Generative Programming and Component Engineering
(GPCE'05), volume 3676 of Lecture Notes in Computer Science, pages
157--172, Tallinn, Estonia, September 2005. Springer.
(pdf,
tr,
gpce,
springer,
bib). |
2004
|
[12] |
M. Bravenboer and E. Visser.
Concrete Syntax for Objects. Domain-Specific Language Embedding and
Assimilation without Restrictions.
In D. C. Schmidt, editor, Proceedings of the 19th ACM SIGPLAN
Conference on Object-Oriented Programing, Systems, Languages, and
Applications (OOPSLA'04), pages 365--383, Vancouver, Canada, October 2004.
ACM Press.
(acm,
info,
pdf, bib).
|
| [13] |
B. Fischer and E. Visser.
Retrofitting the AutoBayes Program Synthesis System with Concrete Object
Syntax.
In C. Lengauer et al., editors, Domain-Specific Program
Generation, volume 3016 of Lecture Notes in Computer Science, pages
239--253. Spinger-Verlag, 2004.
(pdf,
info,
springer,
bib).
|
| [14] |
B. Fischer and E. Visser.
Adding
Concrete Syntax to a Prolog-Based Program Synthesis System (Extended
Abstract).
In M. Bruynooghe, editor, 13th International Symposium Logic
Based Program Synthesis and Transformation: LOPSTR 2003, volume 3018 of Lecture Notes in Computer Science, pages 56--58, Heidelberg, November 2004.
Springer-Verlag.
(springer,
bib). |
2003
|
[15] |
M. Bravenboer.
Connecting XML
Processing and Term Rewriting with Tree Grammars.
Master's thesis, Utrecht University, Utrecht, The Netherlands,
November 2003.
(pdf,
bib).
|
| [16] |
B. Fischer and E. Visser.
Adding Concrete Syntax to a Prolog-based Program
Synthesis System (Extended Abstract).
In M. Bruynooghe, editor, Preproceedings of the International
Symposium on Logic Based Program Synthesis and Transformation (LOPSTR'03),
number Report CW 365, pages 39--48, Uppsala, Sweden, August 2003. Department
of Computer Science, K. U. Leuven.
(info, bib). |
2002
|
[17] |
M. G. J. Brandvan den Brand, J. Scheerder, J. Vinju, and
E. Visser.
Disambiguation Filters for Scannerless Generalized LR Parsers.
In N. Horspool, editor, Compiler Construction (CC'02), volume
2304 of Lecture Notes in Computer Science, pages 143--158, Grenoble,
France, April 2002. Springer-Verlag.
(pdf,
psgz,
bib).
|
| [18] |
E. Visser.
Meta-Programming with Concrete Object Syntax.
In D. Batory, C. Consel, and W. Taha, editors, Generative
Programming and Component Engineering (GPCE'02), volume 2487 of Lecture
Notes in Computer Science, pages 299--315, Pittsburgh, PA, USA, October
2002. Springer-Verlag.
(pdf,
bib). |
2000
1998
1997
|
[21] |
E. Visser.
Character Classes.
Technical Report P9708, Programming Research Group, University of
Amsterdam, August 1997.
(psgz,
bib).
|
| [22] |
E. Visser.
Syntax Definition for Language Prototyping.
PhD thesis, University of Amsterdam, September 1997.
(psgz,
bib).
|
| [23] |
E. Visser.
A Case
Study in Optimizing Parsing Schemata by Disambiguation Filters.
In International Workshop on Parsing Technology (IWPT'97),
pages 210--224, Boston, USA, September 1997. Massachusetts Institute of
Technology.
(psgz,
bib).
|
| [24] |
E. Visser.
A Family
of Syntax Definition Formalisms.
Technical Report P9706, Programming Research Group, University of
Amsterdam, July 1997.
(psgz,
bib).
|
| [25] |
E. Visser.
Scannerless Generalized-LR Parsing.
Technical Report P9707, Programming Research Group, University of
Amsterdam, July 1997.
(psgz,
bib).
|
| [26] |
E. Visser.
From
Context-free Grammars with Priorities to Character Class Grammars.
In Liber Amicorum Paul Klint. CWI, Amsterdam, November 1997.
(psgz,
bib). |
1995
|
[27] |
E. Visser.
Polymorphic Syntax Definition (Extended Abstract).
In A. Nijholt, G. Scollo, and R. Steetskamp, editors, Algebraic Methods in Language Processing (AMILP'95), volume 10 of Twente Workshops in Language Technology, pages 43--54, Enschede, The
Netherlands, December 1995. Twente University of Technology.
(psgz,
bib).
|
| [28] |
E. Visser.
A Family of Syntax Definition Formalisms.
In M. G. J. Brandvan den Brand et al., editors, ASF+SDF'95. A Workshop on Generating Tools from Algebraic Specifications,
pages 89--126. Technical Report P9504, Programming Research Group, University
of Amsterdam, May 1995.
(psgz,
bib).
|
| [29] |
E. Visser.
A
Case Study in Optimizing Parsing Schemata by Disambiguation Filters.
In S. Fischer and M. Trautwein, editors, Proceedings
Accolade95, pages 153--167, Amsterdam, September 1995. The Dutch Graduate
School in Logic.
(bib). |
1994
|
[30] |
M. G. J. Brandvan den Brand and E. Visser.
From Box to TeX: An algebraic approach to the generation of
documentation tools.
Technical Report P9420, Programming Research Group, University of
Amsterdam, July 1994.
(psgz,
bib).
|
| [31] |
P. Klint and E. Visser.
Using
Filters for the Disambiguation of Context-free Grammars.
In G. Pighizzini and P. San Pietro, editors, Proc. ASMICS
Workshop on Parsing Theory, pages 1--20, Milano, Italy, October 1994. Tech.
Rep. 126--1994, Dipartimento di Scienze dell'Informazione, Università di
Milano.
(psgz,
psz, bib). |
1989
This bibliography was generated using the
Stratego/XT bibtex-tools.
This document was translated from LATEX by
HEVEA.