scispace - formally typeset
Proceedings ArticleDOI

Scannerless NSLR(1) parsing of programming languages

D. J. Salomon, +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

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

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

Henry Ledgard
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

Niklaus Wirth
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, +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.