Scannerless NSLR(1) parsing of programming languages
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Packrat parsing:: simple, powerful, lazy, linear time, functional pearl
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Adding Semantic and Syntactic Predicates To LL(k): pred-LL(k)
CC '94 Proceedings of the 5th International Conference on Compiler Construction
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
META II a syntax-oriented compiler writing language
ACM '64 Proceedings of the 1964 19th ACM national conference
Python reference manual
Parsing expression grammars: a recognition-based syntactic foundation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
Better extensibility through modular syntax
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Packrat parsers can support left recursion
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A comparison of object-oriented languages in software engineering
ACM SIGSOFT Software Engineering Notes
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
The Lively Kernel A Self-supporting System on a Web Page
Self-Sustaining Systems
Model-Centric, Context-Aware Software Adaptation
Software Engineering for Self-Adaptive Systems
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Lively Wiki a development environment for creating and sharing active web content
Proceedings of the 5th International Symposium on Wikis and Open Collaboration
On the impact of DSL tools on the maintainability of language implementations
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Embedding languages without breaking tools
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Workshop on Self-Sustaining Systems
Worlds: controlling the scope of side effects
Proceedings of the 25th European conference on Object-oriented programming
Pattern matching for the masses using custom notations
Science of Computer Programming
Honu: syntactic extension for algebraic notation through enforestation
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Proceedings of the 8th symposium on Dynamic languages
Left recursion in parsing expression grammars
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Toward the future of personal computing system construction
Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
Hi-index | 0.00 |
This paper introduces OMeta, a new object-oriented language for pattern matching. OMeta is based on a variant of Parsing Expression Grammars (PEGs) [5]---a recognition-based foundation for describing syntax---which we have extended to handle arbitrary kinds of data. We show that OMeta's general-purpose pattern matching provides a natural and convenient way for programmers to implement tokenizers, parsers, visitors, and tree transformers, all of which can be extended in interesting ways using familiar object-oriented mechanisms. This makes OMeta particularly well-suited as a medium for experimenting with new designs for programming languages and extensions to existing languages.