Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

A new top-down parsing algorithm to accommodate ambiguity and left recursion in polynomial time

A new top-down parsing algorithm to accommodate ambiguity and left recursion in polynomial time Top-down backtracking language processors are highly modular, can handle ambiguity, and are easy to implement with clear and maintainable code. However, a widely-held, and incorrect, view is that top-down processors are inherently exponential for ambiguous grammars and cannot accommodate left-recursive productions. It has been known for many years that exponential complexity can be avoided by memoization, and that left-recursive productions can be accommodated through a variety of techniques. However, until now, memoization and techniques for handling left recursion have either been presented independently, or else attempts at their integration have compromised modularity and clarity of the code. http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png ACM SIGPLAN Notices Association for Computing Machinery

A new top-down parsing algorithm to accommodate ambiguity and left recursion in polynomial time

ACM SIGPLAN Notices , Volume 41 (5) – May 1, 2006

Loading next page...
 
/lp/association-for-computing-machinery/a-new-top-down-parsing-algorithm-to-accommodate-ambiguity-and-left-j480xgMs2h

References (19)

Publisher
Association for Computing Machinery
Copyright
Copyright © 2006 by ACM Inc.
ISSN
0362-1340
DOI
10.1145/1149982.1149988
Publisher site
See Article on Publisher Site

Abstract

Top-down backtracking language processors are highly modular, can handle ambiguity, and are easy to implement with clear and maintainable code. However, a widely-held, and incorrect, view is that top-down processors are inherently exponential for ambiguous grammars and cannot accommodate left-recursive productions. It has been known for many years that exponential complexity can be avoided by memoization, and that left-recursive productions can be accommodated through a variety of techniques. However, until now, memoization and techniques for handling left recursion have either been presented independently, or else attempts at their integration have compromised modularity and clarity of the code.

Journal

ACM SIGPLAN NoticesAssociation for Computing Machinery

Published: May 1, 2006

There are no references for this article.