Proceedings ArticleDOI
Scannerless NSLR(1) parsing of programming languages
D. J. Salomon,Gordon V. Cormack +1 more
- Vol. 24, Iss: 7, pp 170-178
TLDR
This work presents metalanguage enhancements for context-free grammars that allow the syntax of programming languages to be completely described in a single grammar.Abstract:
The disadvantages of traditional two-phase parsing (a scanner phase preprocessing input for a parser phase) are discussed. We present metalanguage enhancements for context-free grammars that allow the syntax of programming languages to be completely described in a single grammar. The enhancements consist of two new grammar rules, the exclusion rule, and the adjacency-restriction rule. We also present parser construction techniques for building parsers from these enhanced grammars, that eliminate the need for a scanner phase.read more
Citations
More filters
Proceedings ArticleDOI
Grammar-based whitebox fuzzing
TL;DR: Results of the experiments show that grammar-based whitebox fuzzing explores deeper program paths and avoids dead-ends due to non-parsable inputs and increased coverage of the code generation module of the IE7 JavaScript interpreter from 53% to 81% while using three times fewer tests.
Proceedings ArticleDOI
Parsing expression grammars: a recognition-based syntactic foundation
TL;DR: PEGs address frequently felt expressiveness limitations of CFGs and REs, simplifying syntax definitions and making it unnecessary to separate their lexical and hierarchical components, and are here proven equivalent in effective recognition power.
Book
Parsing Techniques: A Practical Guide
Dick Grune,Ceriel J. H. Jacobs +1 more
TL;DR: This second edition of Grune and Jacobs brilliant work presents new developments and discoveries that have been made in the field of parsing, also referred to as syntax analysis, and is used extensively in linguistics.
Proceedings ArticleDOI
Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions
Martin Bravenboer,Eelco Visser +1 more
TL;DR: MetaBorg is described, a method for providing concrete syntax for domain abstractions to application programmers by embedding domain-specific languages in a general purpose host language and assimilating the embedded domain code into the surrounding host code.
Proceedings ArticleDOI
Packrat parsing: simple, powerful, lazy, linear time, functional pearl
TL;DR: This paper describes packrat parsing informally with emphasis on its use in practical applications, and explores its advantages and disadvantages with respect to the more conventional alternatives.
References
More filters
Book
Introduction to Automata Theory, Languages, and Computation
TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
Book
Compilers: Principles, Techniques, and Tools
TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
Book
Reference Manual for the ADA Programming Language
TL;DR: This grammar of the Ada follows the Ada 95 Reference Manual, consisting of the international standard (ISO/IEC 8652:2012): Information Technology -Programming Languages -Ada.
Book
Programming in Modula-2
TL;DR: It is shown here how different types of computations, based on the number of parameters, can be implemented or modified according to the needs of a particular application.
Book
Lex—a lexical analyzer generator
M. E. Lesk,Eric Schmidt +1 more
TL;DR: This manual will only discuss generating analyzers in C on the UNIX system, which is the only supported form of Lex under UNIX Version 7.0, and is designed to simplify interfacing with Yacc, for those with access to this compiler-compiler system.