Corpus ID: 7752112

Techniques for Automatic Memoization with Applications to Context-Free Parsing

@inproceedings{Norvig1991TechniquesFA,
  title={Techniques for Automatic Memoization with Applications to Context-Free Parsing},
  author={Peter Norvig},
  booktitle={CL},
  year={1991}
}
It is shown that a process similar to Earley's algorithm can be generated by a simple top-down backtracking parser, when augmented by automatic memoization. The memoized parser has the same complexity as Earley's algorithm, but parses constituents in a different order. Techniques for deriving memo functions are described, with a complete implementation in Common Lisp, and an outline of a macro-based approach for other languages. 1. Memoization The term memoization was coined by Donald Michie… Expand
Selective Memoization with Box Types
Memoization is a useful technique to eliminate computational redundancy. A memo function remembers all the arguments to which it has been applied, together with their corresponding results, byExpand
Memoizing Purely Functional Top-Down Backtracking Language Processors
TLDR
This paper shows how a technique called memoization can be used to improve the efficiency of such processors whilst preserving their modularity, and shows that memoized functional recognizers constructed for arbitrary non-left-recursive grammars have O(n3) complexity. Expand
A Cross-Language Analysis of Parsing Using Automatic Memoization
This paper demonstrates the key abilities of varying languages to support functional recursive descent parsing through automatic memoization. It begins by summarizing the most pertinent works thatExpand
Monadic Memoization Mixins
TLDR
A technique for modular memoization within a pure functional language is developed and monadic memoization mixins are defined that are composed (via inheritance) with an ordinary monadic function to create a memoized version of the function. Expand
Memoisation: Purely, Left-recursively, and with (Continuation Passing) Style
TLDR
It is shown how Johnson's approach to memoisation can be implemented purely functionally in a modern, strongly typed functional language (OCaml), presented via a monadic interface that hides the implementation details, yet providing a way to return a compact represention of the memo tables at the end of the computation. Expand
Using memorization to achieve polynomial complexity of purely functional executable specifications of non-deterministic top-down parsers
TLDR
This note shows how Norvig's approach can be adapted and used to achieve polynomial complexity of non-deterministic top-down backtracking parsers that are implemented as executable specifications in pure functional programming languages. Expand
Efficient combinator parsing for natural-language.
TLDR
A new combinator-parsing algorithm is proposed, which is efficient, modular, accommodates all forms of CFG and represents all possible resulting parse-trees in a densely-compact format. Expand
Modular Parsers for Natural-Language Processing ( with proofs in the appendices )
Highly-modular parsers can be constructed as directly-executable top-down backtracking processors, and combined to form more-complex parsers using operators defined in the host programming language.Expand
Practical general top-down parsers
TLDR
A derivation-based semantics for operator precedence disambiguation that is independent of the underlying parsing technique, and is safe, i.e., does not remove sentences from the language when there is no ambiguity is introduced. Expand
A new top-down parsing algorithm to accommodate ambiguity and left recursion in polynomial time
TLDR
This work has shown that 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. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 12 REFERENCES
An efficient context-free parsing algorithm
TLDR
A parsing algorithm which seems to be the most efficient general context-free algorithm known is described and appears to be superior to the top-down and bottom-up algorithms studied by Griffiths and Petrick. Expand
Constraint-based grammar formalisms - parsing and type inference for natural and computer languages
TLDR
This dissertation provides a method for abstractly and uniformly characterizing a class of formalisms based on logical constraints, and uses the uniformity to define and prove correct a parsing algorithm that applies to any formalism in the class. Expand
Brand X: LISP Suport for Semantic Networks
TLDR
BRAND X is intended as an "assembly language" for representation languages, attempting to provide facilities generally found useful in the simplest manner, without any strong commitment to specific representational conventions. Expand
Language as a Cognitive Process
Books reviewed in the AJCL will be those of interest to computat ional linguists; books in closely related disciplines may also be considered. The purpose of a book review is to inform readers aboutExpand
Readings in natural language processing
TLDR
The book presents papers on natural language processing, focusing on the central issues of representation, reasoning, and recognition in syntactic models, semantic interpretation, discourse interpretation, language action and intentions, language generation, and systems. Expand
“Memo” Functions and Machine Learning
TLDR
A simple but effective rote-learning facility can be provided within the framework of a suitable programming language to improve the efficiency of computer programs during execution. Expand
Structure and Interpretation of Computer Programs
TLDR
Structure and Interpretation of Computer Programs emphasizes the central role played by different approaches to dealing with time in computational models, appropriate for an introduction to computer science courses, as well as programming languages and program design. Expand
Functional Programming
TLDR
In contrast to procedural / imperative programming, functional programming emphasizes the evaluation of functional expressions, rather than execution of commands. Expand
Language as a cognitive process 1: Syntax
TLDR
In this age of modern era, the use of internet must be maximized, as one of the benefits is to get the on-line language as a cognitive process syntax book, as the world window, as many people suggest. Expand
Lazy Memo-functions
...
1
2
...