Identifier completion for incomplete program text
based on Yacc error recovery
This page provides an implementation of identifier completion for a
small subset of Standard ML as an Emacs-mode based on the approach
presented in the following paper:
Toward Modular Implementation of Practical Identifier Completion
on Incomplete Program Text,
BICT 2014 Special Track on Modularization for Practical Software Engineering
Boston, MA, USA, December 1-3, 2014.
How to use
unzip and untar it, and then follow the instructions in README file.
A bug was fixed on Jan 6, 2015.
Another bug was fixed on Feb 16, 2015.
An example of using yyerrok;
As for the discussion in Section 4.5 in the paper above,
add the special statement yyerrok; in the action description
in the case of LET dec IN exp error in the file "sml.y" as follows.
| LET dec IN exp error
$$ = make_atexp4 ($2, $4);
This enables the completion on the example
in Section 4.5.