This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Incremental LL(1) Parsing in Language-Based Editors
September 1993 (vol. 19 no. 9)
pp. 935-940

This paper introduces an efficient incremental LL(1) parsing algorithm for use in language-based editors that use the structure recognition approach. It is designed to parse user input at intervals of very small granularity and to limit the amount of incremental parsing needed when changes are made internal to the editing buffer. The algorithm uses the editing focus as a guide in restricting parsing. It has been implemented in the Fred language-based editor.

[1] D.R. Barstow, H.E. Shrobe, and E. Sandewall, Eds.,Interactive Programming EnvironmentsNew York: McGraw-Hill, 1984.
[2] F. J. Budinski, R. C. Holt, and S. B. Zaky, "SRE - A syntax recognizing editor,"Software--Practice and Experience, vol. 15, no. 5, pp. 489-497, May 1985.
[3] R. H. Campbell and P. A. Kirslis, "The SAGA project: A system for software development," inProc. Symp. Practical Software Development Environments, Pittsburgh, PA. 1985, pp. 73-80.
[4] P. H. Feiler and R. Medina-Mora, "An incremental programming environment,"IEEE Trans. Software Eng., vol. 7, no. 5, pp. 472-482, Sept. 1981.
[5] C. Fischer, G. Johnson, J. Mauney, A. Pal, and D. Stock, "The POE language based editor project," inProc. ACM SIGSOFT/SIGPLAN Software Eng. Symp. Practical Software Develop. Environments, 1984, pp. 21-29.
[6] C. Ghezzi and D. Mandrioli, "Augmenting parsers to support incrementahty,"J. ACM, vol. 27, no. 3, pp. 564-579, July 1980.
[7] C. Ghezzi, "Incremental parsing,"ACM Trans. Prog. Lang. Syst., vol. 1, pp. 58-70, 1979.
[8] C. Ghezzi and D. Mandrioli, "Augmenting parsers to support incrementahty,"J. ACM, vol. 27, no. 3, pp. 564-579, July 1980.
[9] M. R. Horton, "Design of a multi-language editor with static error detection capabilities," Ph.D. dissertation, ERL Tech. Rep. 81/53, Univ. of California, Berkeley, July 1981.
[10] P. A. Kirslis, "The SAGA editor: A language-oriented editor based on incremental LR(1) parser," Ph.D. dissertation Dep. Comput. Sci., Univ. of Illinois at Urbana-Champaign, Dec. 1985.
[11] J. M. Morris and M. D. Schwartz, "The design of a language-oriented editor for block-structured languages," inAss. Comput. Mach. SIGPLAN SIGOA Symp. Text Manipulation, Portland, OR, June 1981, pp. 28-33, special issue ofSIGPLAN Notices, vol. 16, no. 6, June 1981.
[12] A. Orailoglu, "Software design issues in the implementation of structured editors," Ph.D. dissertation, Dep. Comput. Sci., Univ. of Illinois at Urbana-Champaign, 1983.
[13] H. P. M. Lewis, J. Rosenkrantz, and R. E. Stearns,Compiler Design Theory. Reading, MA: Addison-Wesley, 1976.
[14] S.P. Reiss, "Graphical program development with PECAN program development system," inSIGSOFT/SIGPLAN Software-Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984; see alsoSIGSOFT Software Eng. Notes, vol. 9, no. 3, May 1984; see alsoSIGPLAN Notices, vol. 19, no. 6, May 1984.
[15] T. Reps and T. Teitelbaum, "The synthesizer generator," inProc. ACM SIGSOFT/SIGPLAN Software Eng. Symp., 1984, pp. 41-48.
[16] ACM Software Eng. Notes, vol. 9, no. 3, May 1984.
[17] J. J. Shilling, "FRED: A program development tool," inProc. SOFTFAIR II, San Francisco, CA, Dec. 3-5, 1985, Dec. 1985.
[18] J. J. Shilling, "Automated reference librarians for program libraries and their interaction with language based editors," Ph.D. dissertation, Dep. Computer Science, Univ. of Illinois at Urbana-Champaign, July 1986.
[19] John J. Shilling, "The backup problem in incremental lexical tokenization," Tech. Rep. GIT-CC-93/01, College of Computing, Georgia Institute of Technology, Jan. 1993.
[20] SIGPLAN Notices, vol. 16, no. 6, June 1981.
[21] SIGPLAN Notices, vol. 19, no. 5, May 1984.
[22] T. Teitelbaum and T. Reps, "The Cornell Program Synthesizer: A syntax directed programming environment,"Commun. ACM, vol. 24, no. 9, pp. 563-573, Sept. 1981.
[23] M. N. Wegman, "Parsing for structural editors (extended abstract)," in21st Annu. Symp. Foundations Comput. Sci., Oct. 1980, pp. 320-327.

Index Terms:
incremental LL(1) parsing; language-based editors; structure recognition approach; granularity; Fred language-based editor; software development environments; grammars; program compilers; software tools; text editing
Citation:
J.J. Shilling, "Incremental LL(1) Parsing in Language-Based Editors," IEEE Transactions on Software Engineering, vol. 19, no. 9, pp. 935-940, Sept. 1993, doi:10.1109/32.241775
Usage of this product signifies your acceptance of the Terms of Use.