for 6.10 We show how to build a quasiquoter for a simple mathematical expression language. Although the example is small, it demonstrates all aspects of building a quasiquoter. We do not mean to suggest that one gains much from a quasiquoter for such a small language relative to using abstract syntax directly except from a pedagogical point of view---this is just a tutorial!
SLiP is a quick, alternative syntax for creating and editing XML data by hand and if you know Python, it should also be familiar. not my cup of tea but has a nice comparison of other lightweight xml notations
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. Meta programs manipulate structured representations (abstract syntax) of programs. The distance between the concrete syntax meta-programmers use to reason about programs and the notation for abstract syntax manipulation provided by general purpose (meta-) programming languages is too great for many applications. In this paper it is shown how the syntax definition formalism SDF can be employed to fit a meta-programming language with concrete syntax notation for composing and analyzing object programs. As a case study, the addition of concrete syntax to the program transformation language Stratego is presented. The approach is then generalized to arbitrary meta-languages.
EXTENSIBLE PARSING & TRANSFORMATION We present the metafront tool for specifying flexible, safe, and efficient syntactic transformations between languages defined by context-free grammars. The transformations are guaranteed to terminate and to map grammatically legal input to grammatically legal output. We rely on a novel parser algorithm, specificity parsing, that is designed to support gradual extensions of a grammar by allowing productions to remain in a natural style and by statically reporting ambiguities and errors in terms of individual productions as they are being added. Our tool may be used as a parser generator in which the resulting parser automatically supports a flexible, safe, and efficient macro processor, or as an extensible lightweight compiler generator for domain-specific languages. We show substantial examples of both kinds.
The OWL API is a Java API and reference implmentation for creating, manipulating and serialising OWL Ontologies. The latest version of the API is focused towards OWL 2
M. Artetxe, G. Labaka, I. Lopez-Gazpio, and E. Agirre. Proceedings of the 22nd Conference on Computational Natural Language Learning, page 282--291. Association for Computational Linguistics, (2018)
I. Baxter, A. Yahin, L. Moura, M. Sant'Anna, and L. Bier. Proceedings of the International Conference on Software Maintenance, page 368--. Washington, DC, USA, IEEE Computer Society, (1998)
M. Mintz, S. Bills, R. Snow, and D. Jurafsky. Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 2-Volume 2, page 1003--1011. Association for Computational Linguistics, (2009)
M. Collins, P. Koehn, and I. Kucerová. Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics, page 531--540. Stroudsburg, PA, USA, Association for Computational Linguistics, (2005)
M. Butt, H. Dyvik, T. King, H. Masuichi, and C. Rohrer. COLING-GEE '02 Proceedings of the 2002 Workshop on Grammar Engineering and Evaluation, 15, page 1--7. Morristown, NJ, Association for Computational Linguistics, Association for Computational Linguistics, (2002)
A. Lee, R. Prasad, A. Joshi, and N. Dinesh. Prague, Czech Republic, Proceedings of the 5th International Workshop on Treebanks and Linguistic Theories., (Dezember 2006)
G. Pullum, and B. Scholz. Logical Aspects of Computational Linguistics: 4th International Conference, Lacl 2001, Le Croisic, France, June 27-29, 2001, Proceedings, (2001)