File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/concl/91/j91-1004_concl.xml

Size: 2,509 bytes

Last Modified: 2025-10-06 13:56:39

<?xml version="1.0" standalone="yes"?>
<Paper uid="J91-1004">
  <Title>Technical Correspondence Techniques for Automatic Memoization with Applications to Context-Free Parsing</Title>
  <Section position="4" start_page="96" end_page="97" type="concl">
    <SectionTitle>
4. Conclusion
</SectionTitle>
    <Paragraph position="0"> What has been gained by memoization? The memoized algorithms presented here are of the same order of complexity as the existing Earley algorithm and linear-recursive Fibonacci function. In fact, unless tables are implemented very carefully, the memoized algorithms perform worse by a constant factor.</Paragraph>
    <Paragraph position="1"> However, note that Earley's algorithm is not the best for all parsing applications.</Paragraph>
    <Paragraph position="2"> One might prefer a bottom-up parser or a deterministic parser. The point is that experimenting with alternate parsing strategies is easier when starting from a simple 15-line program, rather than from a multi-page parser that maintains complex explicit data structures.</Paragraph>
    <Paragraph position="3"> Memoization supports an incremental, lazy-evaluation-like style that can make the overall design simpler. For example, note that besides parse, we also memoized rules-for. This has the effect of building an inverted index of the grammar rules, implicitly and incrementally. The programmer is freed from having to remember to declare, allocate, and initialize a rule table, but still gets the benefit of efficient access to the rules. This is the ultimate data abstraction: the programmer is shielded not only from the details of the implementation of the table, but even from the existence of a table at all.</Paragraph>
    <Paragraph position="4"> For twenty years, algorithms like Earley's (and more recently chart parsing) have been treated as special techniques, worthy of special attention. This paper has shown  Computational Linguistics Volume 17, Number 1 that the maintenance of well-formed substring tables or charts can be seen as a special case of a more general technique: memoization. Furthermore, we have shown that Common Lisp, with its mutable function name space, is an especially congenial host language for memoization, and that other languages can be hosts with other approaches. It is our hope that programmers will adopt automatic techniques like memoization where appropriate, and concentrate their data-creation and algorithmoptimization efforts on truly special cases.</Paragraph>
  </Section>
class="xml-element"></Paper>
Download Original XML