Order-n correction for regular languages

  title={Order-n correction for regular languages},
  author={Robert A. Wagner},
  journal={Commun. ACM},
  • R. Wagner
  • Published 1 May 1974
  • Physics
  • Commun. ACM
A method is presented for calculating a string <italic>B</italic>, belonging to a given regular language <italic>L</italic>, which is “nearest” (in number of edit operations) to a given input string <italic>α</italic>. <italic>B</italic> is viewed as a reasonable “correction” for the possibly erroneous string <italic>α</italic>, where <italic>α</italic> was originally intended to be a string of <italic>L</italic>. The calculation of <italic>B</italic> by the method presented requires time… 

OCR Error Correction of an Inflectional Indian Language Using Morphological Parsing

This paper deals with an OCR (Optical Character Recognition) error detection and correction technique for a highly inflectional Indian language, Bangla, the second-most popular language in India and

The Edit-Distance between a Regular Language and a Context-Free Language

A polynomial time algorithm is designed that calculates the edit-distance of a given regular language and a given context-free language based on unary homomorphisms.

Correcting Counter-Automaton-Recognizable Languages

Using a linear-time algorithm for solving single-origin graph shortest distance problems, it is shown how to correct a string of length n into the language accepted by a counter automaton in time proportional to $n^2 $ on a RAM with unit operation cost function.

How Hard Is Computing the Edit Distance?

This paper presents a parallel algorithm for computing the edit distance for the class of languages accepted by one-way nondeterministic auxiliary pushdown automata working in polynomial time, a class that strictly contains context?free languages.

Techniques for automatically correcting words in text

Research aimed at correcting words in text has focused on three progressively more difficult problems: nonword error detection; (2) isolated-word error correction; and (3) context-dependent work correction, which surveys documented findings on spelling error patterns.

Automatic error recovery for LR parsers in theory and practice

The need for good syntax error handling schemes in language translation systems such as compilers, and for the automatic incorporation of such schemes into parser-generators, is argued.

FarsiSpell: A spell-checking system for Persian using a large monolingual corpus

It has been tried to demonstrate the effectiveness of a large monolingual corpus of Persian in improving the output quality of a spell-checker developed for this language.

Data-driven spell checking: The synergy of two algorithms for spelling error detection and correction

This research attempts to improve the quality of Subasa, an existing n-gram based data driven spell checker using minimum edit distance techniques and to make the system freely available online.



An error-correcting parse algorithm

It is the author's opinion that those algorithms which do the best job of error recovery are those which are restricted to simpler forms of formal languages.

The String-to-String Correction Problem

An algorithm is presented which solves the string-to-string correction problem in time proportional to the product of the lengths of the two strings.

Algorithm 97: Shortest path

The procedure was originally programmed in FORTRAN for the Control Data 160 desk-size computer and was limited to te t ra t ion because subroutine recursiveness in CONTROL Data 160 FORTRan has been held down to four levels in the interests of economy.

PL/C: the design of a high-performance compiler for PL/I

A general purpose production compiler faces many diverse and demanding tasks and by yielding on some of these requirements, and by sacrificing generality for efficiency for a particular class of program or user, improved compiler performance should be obtainable.

CORC—the Cornell computing language

CORC is an experimental computing language that was developed at Cornell University to serve the needs of a large and increasing group of computer users whose demands are both limited and

Spelling correction in systems programs

By using systems which perform spelling correction, the number of debugging runs per program has been decreased, saving both programmer and machine time.

Compiler Construction for Digital Computers

The techniques involved in writing compilers for high-level languages such as FORTRAN or PL/1, as well as semantic routines, are described.

Introduction To Dynamic Programming

Syntax-directed error recovery for compilers