An interactive programming environment allows the programmer to construct programs in parts, correct the program as errors are detected, and minimizes the amount of recomputation by re-analysis of the modified parts alone. This thesis focuses on the development of tools for designing incremental language processors. To build an incremental language processor, an incremental parser and an incremental translator are needed. In this work, an incremental LR(1) parser, and an incremental attribute evaluator (suitable for code generation) are presented. The incremental LR(1) parser constructs the parse tree of a modified input by using some of the subtrees constructed in parsing the old input. Reparsing of the input substrings corresponding to th...