We present a linear-time algorithm to decide for any fixed deterministic context-free language <italic>L</italic> and input string <italic>w</italic> whether <italic>w</italic>is a suffix of some string in <italic>L</italic>. In contrast to a previously published technique, the decision procedure may be extended to produce syntactic structures (parses)… (More)
A previous article presented a technique to compute the least-cost error repair by incrementally generating configurations that result from inserting and deleting tokens a syntactically incorrect input. An additional mechanism to improve the run-time efficiency of this algorithm by pruning some of the configurations was discussed as well. In this… (More)
Standard ML Milner et al.  datatype 'a option = NONE | SOME of 'a fun filter pred l = let fun filterP (x::r, l) = case (pred x) of SOME y => filterP(r, y::l) | NONE => filterP(r, l) | filterP (, l) = rev l in filterP (l, ) end /** * smlfvalbind.y * * Standard ML function declarations.
We study the time complexity of the parsing problem for input strings that contain gaps. For context-free languages the time requirement is cubic. For restricted classes of languages given by LL(1), bidirectional LL(1), and a specific kind of XML grammars, the time requirement is bounded linearly or quadrati-cally depending on the number of separate gaps.
The relative parsing time of grammars belonging to a common family is investigated