Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions

Martin Bravenboer, Eelco Visser. Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions. In John M. Vlissides, Douglas C. Schmidt, editors, Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004. pages 365-383, ACM, Vancouver, BC, Canada, 2004. [doi]

References

  • Concurrent Programming in JavaDouglas Lea. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1999.
  • Programming with rectangles, triangles, and circlesErik Meijer, Wolfram Schulte. In Proceedings of XML Conference & Exposition 2003 (XML 2003). 2003:
  • Syntax Definition for Language PrototypingEelco Visser. PhD thesis, University of Amsterdam, September 1997.
  • D. J. Salomon , G. V. Cormack, Scannerless NSLR(1) parsing of programming languages, ACM SIGPLAN Notices, v.24 n.7, p.170-178, July 1989 [doi>10.1145/74818.74833]
  • Castor databinding framework for java. http://www.castor.org.
  • http://www.stratego-language.org.
  • Masaru Tomita, Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems, Kluwer Academic Publishers, Norwell, MA, 1985
  • E. Visser. Program transformation with Stratego/XT: Rules, strategies, tools, and systems in StrategoXT-0.9. In C. Lengauer et al., editors, Domain-Specific Program Generation, volume 3016 of Lecture Notes in Computer Science, pages 216--238. Spinger-Verlag, June 2004.
  • Graham Kirby , Ron Morrison , David Stemple, Linguistic reflection in Java, Software—Practice & Experience, v.28 n.10, p.1045-1077, Aug. 1998 [doi>10.1002/(SICI)1097-024X(199808)28:10<1045::AID-SPE191>3.3.CO;2-6]
  • Java architecture for XML binding JAXB. http://java.sun.com/xml/jaxb/.
  • Byte code engineering library (BCEL). http://jakarta.apache.org/bcel/.
  • R. Bourret. XML data binding resources. http://www.rpbourret.com/xml/XMLDataBinding.htm.
  • Java Compiler Compiler (JavaCC). https://javacc.dev.java.net/.
  • Haruo Hosoya , Benjamin C. Pierce, XDuce: A Typed XML Processing Language (Preliminary Report), Selected papers from the Third International Workshop WebDB 2000 on The World Wide Web and Databases, p.226-244, May 18-19, 2000
  • The Xtatic project: Native XML processing for C#. http://www.cis.upenn.edu/~bcpierce/xtatic/.
  • B. M. Leavenworth, Syntax macros and extended translation, Communications of the ACM, v.9 n.11, p.790-793, Nov. 1966 [doi>10.1145/365876.365879]
  • 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.
  • J. Heering , P. R. H. Hendriks , P. Klint , J. Rekers, The syntax definition formalism SDF—reference manual—, ACM SIGPLAN Notices, v.24 n.11, p.43-75, Nov. 1989 [doi>10.1145/71605.71607]
  • http://www.syntax-definition.org.
  • A. Deursenvan~Deursen, J. Heering, and P. Klint, editors. Language Prototyping. An Algebraic Specification Approach, volume 5 of AMAST Series in Computing. World Scientific, Singapore, September 1996.
  • D. Batory , B. Lofaso , Y. Smaragdakis, JTS: Tools for Implementing Domain-Specific Languages, Proceedings of the 5th International Conference on Software Reuse, p.143, June 02-05, 1998
  • E. Meijer and W. Schulte. Unifying tables, objects, and documents. In Proceedings of the Workshop on Declarative Programming in the Context of Object-Oriented Languages (DP-COOL'03), August 2003.
  • M. G. T. Van den Brand , H. A. de Jong , P. Klint , P. A. Olivier, Efficient annotated terms, Software—Practice & Experience, v.30 n.3, p.259-291, Mar.1.2000 [doi>10.1002/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y]
  • P.-E. Moreau, C. Ringeissen, and M. Vittek. A pattern matching compiler for multiple target languages. In G. Hedin, editor, 12th Conference on Compiler Construction (CC'03), volume 2622, pages 61--76, Warsaw, Poland, 2003. Springer-Verlag. See also http://tom.loria.fr.
  • Jay Earley, An efficient context-free parsing algorithm, Communications of the ACM, v.13 n.2, p.94-102, Feb 1970 [doi>10.1145/362007.362035]
  • E. Visser. Scannerless generalized-LR parsing. Technical Report P9707, Programming Research Group, University of Amsterdam, July 1997.
  • F. Bouma. LLBLGen Pro, the n-tier generator and O/R mapper for .NET. http://www.llblgen.com.
  • The Apache Cocoon project. http://cocoon.apache.org/.
  • Andrew Shalit, The Dylan reference manual: the definitive guide to the new object-oriented dynamic language, Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, 1996
  • L. Cardelli. An implementation of F<:- SRC Research Report 97, Digital Equipment Corporation, Systems Research Center, February 1993.
  • M. Jongede Jonge, E. Visser, and J. Visser. XT: A bundle of program transformation tools. In M. G. J. van den Brand and D. Perigot, editors, Workshop on Language Descriptions, Tools and Applications (LDTA'01), volume 44 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, April 2001.
  • Jonthan Bachrach , Keith Playford, The Java syntactic extender (JSE), Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.31-42, October 14-18, 2001, Tampa Bay, FL, USA [doi>10.1145/504282.504285]
  • Eelco Visser, Meta-programming with Concrete Object Syntax, The ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering, p.299-315, October 06-08, 2002
  • Eelco Visser , Zine-el-Abidine Benaissa , Andrew Tolmach, Building program optimizers with rewriting strategies, Proceedings of the third ACM SIGPLAN international conference on Functional programming, p.13-26, September 26-29, 1998, Baltimore, Maryland, United States [doi>10.1145/289423.289425]
  • ASF+SDF MetaEnvironment website. http://www.cwi.nl/projects/MetaEnv/.
  • H. de Jong and P. Olivier. Generation of abstract programming interfaces from syntax definitions. Journal of Logic and Algebraic Programming, 59(1-2):35--61, April-May 2004. See also http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ApiGen.
  • J. Rekers. Parser Generation for Interactive Environments. PhD thesis, University of Amsterdam, 1992.
  • T. Kuipers and J. Visser. Object-oriented tree traversal with JJForester. In M. G. J. van den Brand and D. Perigot, editors, Proceedings of Workshop on Language Descriptions, Tools and Applications (LDTA'01), volume 44 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 2001.
  • A. Begel and S. L. Graham. Language analysis and tools for input stream ambiguities. In Proceedings of the Fourth Workshop on Language Descriptions, Tools and Applications (LDTA'04), Electronic Notes in Theoretical Computer Science, Barcelona, Spain, April 2004. Elsevier.
  • Daniel Weise , Roger Crew, Programmable syntax macros, Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, p.156-165, June 21-25, 1993, Albuquerque, New Mexico, United States [doi>10.1145/155090.155105]
  • Paul Hudak, Building domain-specific embedded languages, ACM Computing Surveys (CSUR), v.28 n.4es, Dec. 1996 [doi>10.1145/242224.242477]
  • Etienne M. Gagnon , Laurie J. Hendren, SableCC, an Object-Oriented Compiler Framework, Proceedings of the Technology of Object-Oriented Languages and Systems, p.140, August 03-07, 1998
  • Y. Smaragdakis and D. Batory. Application generators. Encyclopedia of Electrical and Electronics Engineering, 2000. J.G. Webster (ed.), John Wiley and Sons.
  • K. Tao, W. Wang, and J. Palsberg. Java Tree Builder (JTB). http://www.cs.purdue.edu/jtb/.
  • Mark G. J. van den Brand , Jeroen Scheerder , Jurgen J. Vinju , Eelco Visser, Disambiguation Filters for Scannerless Generalized LR Parsers, Proceedings of the 11th International Conference on Compiler Construction, p.143-158, April 08-12, 2002
  • C. Brabrand, M. I. Schwartzbach, and M. Vanggaard. The Metafront system: Extensible parsing and transformation. In Proceedings of the Third Workshop on Language Descriptions, Tools and Applications (LDTA'03), volume~82 of Electronic Notes in Theoretical Computer Science. Elsevier, December 2003. See also http://www.brics.dk/metafront/.

Cited by