Using memorization to achieve polynomial complexity of purely functional executable specifications of non-deterministic top-down parsers

@article{Frost1994UsingMT,
  title={Using memorization to achieve polynomial complexity of purely functional executable specifications of non-deterministic top-down parsers},
  author={R. Frost},
  journal={ACM SIGPLAN Notices},
  year={1994},
  volume={29},
  pages={23-30}
}
  • R. Frost
  • Published 1994
  • Computer Science
  • ACM SIGPLAN Notices
Norvig [1991] has shown that a process with properties that are similar to those of Earley's algorithm can be generated by a simple top-down backtracking parser when augmented by memoization. Unfortunately, Norvig's approach cannot be implemented directly in pure functional programming languages such as Miranda, Haskell, LML, etc, owing to the fact that such languages do not provide any form of mutable object. This restriction is a necessary condition for referential transparency, a property of… 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
Executable attribute grammars for modular and efficient natural language processing
TLDR
A new modular top-down syntactic and semantic analysis system is proposed, which is efficient and accommodates all forms of CFGs, and provides notation to declaratively specify semantics by establishing arbitrary dependencies between attributes of syntactic categories to perform linguistically-motivated tasks. Expand
Simple, Functional, Sound and Complete Parsing for All Context-Free Grammars
TLDR
This work shows how to construct simple, sound and complete parser implementations directly from grammar specifications, for all context-free grammars, based on combinator parsing, and constructs a generic parser generator that is faster than the popular Happy parser generator. Expand
Parser Combinators for Ambiguous Left-Recursive Grammars
TLDR
This paper describes combinators, implemented in Haskell, which overcome all the limitations of existing implementations of parsers, and can accommodate left-recursive grammars. Expand
A type system for reflective program generators
TLDR
A type system for a generative mechanism that generalizes the concept of generic types by combining it with a controlled form of reflection, which leads to a generalized notion of type safety for generators. Expand
Development and parallel implementation of selected configuration interaction methods
This thesis, whose topic is quantum chemistry algorithms, is made in the context of the change in paradigm that has been going on for the last decade, in which the usual sequential algorithms areExpand
Développement et implémentation parallèle de méthodes d'interaction de configurations sélectionnées
Cette these, ayant pour theme les algorithmes de la chimie quantique, s'inscrit dans le cade du changement de paradigme observe depuis une douzaines d'annees, dans lequel les methodes de calculExpand

References

SHOWING 1-10 OF 10 REFERENCES
Techniques for Automatic Memoization with Applications to Context-Free Parsing
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 sameExpand
Guarded attribute grammars
  • R. Frost
  • Computer Science
  • Softw. Pract. Exp.
  • 1993
TLDR
A novel technique has been discovered by which the non‐termination that would otherwise occur is avoided by ‘guarding’ top‐down left‐recurrent language processors by non‐left‐recursive recognizers. Expand
Functional Programming
TLDR
In contrast to procedural / imperative programming, functional programming emphasizes the evaluation of functional expressions, rather than execution of commands. 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
On the recursive programming techniques
TLDR
One of the books you can enjoy now is recursive programming techniques here and it is your own time to continue reading habit. Expand
Lazy Memo-functions
Functional Programming, Concurrency, Simulation and Automated Reasoning
  • P. Lauer
  • Computer Science
  • Lecture Notes in Computer Science
  • 1993
Techniques for automatic memoisation with applications to context-free parsing, Computational Linguistics
  • Techniques for automatic memoisation with applications to context-free parsing, Computational Linguistics
  • 1991
Functional Programming, Addison-Wesley Publishing
  • 1988
Recursive Programming Techniques, Addison-Wesley Publishing
  • 1975