{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/69548"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/69548","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"The Saga Editor: A Language-Oriented Editor Based on an Incremental Lr(1) Parser","abstract":"The research described in this dissertation supports the thesis that a language-oriented editor for full programming languages, and other languages specifiable with context-free LR(1) grammars, can be based upon an incremental LR(1) parser employing incremental analysis techniques. The resulting editor is flexible, supporting a higher-level command interface which includes structure-oriented commands involving tokens and sub-trees, while retaining common text editing commands which operate on arbitrary groups of characters and lines. This editor can be used to develop practical programs which incorporate software engineering principles concerning the design and construction of software systems. In this dissertation, an incremental parsing algorithm suitable for use with an interactive editor is developed. A new solution to the handling of comments in syntax trees is proposed, and an error-recovery algorithm which permits editing of the parse tree in the midst of syntax errors is presented. The resulting editor, its commands, and environment are described. The editor can be retargeted to other languages, and can use any parser-generating system which can meet its interface. A prototype editor which employs these algorithms has been implemented as a part of the SAGA project as a demonstration of the practicality and flexibility of the approach; this editor has been in experimental use during the past couple of years at the University of Illinois at Urbana-Champaign.","abstract_html":"The research described in this dissertation supports the thesis that a language-oriented editor for full programming languages, and other languages specifiable with context-free LR(1) grammars, can be based upon an incremental LR(1) parser employing incremental analysis techniques. The resulting editor is flexible, supporting a higher-level command interface which includes structure-oriented commands involving tokens and sub-trees, while retaining common text editing commands which operate on arbitrary groups of characters and lines. This editor can be used to develop practical programs which incorporate software engineering principles concerning the design and construction of software systems. In this dissertation, an incremental parsing algorithm suitable for use with an interactive editor is developed. A new solution to the handling of comments in syntax trees is proposed, and an error-recovery algorithm which permits editing of the parse tree in the midst of syntax errors is presented. The resulting editor, its commands, and environment are described. The editor can be retargeted to other languages, and can use any parser-generating system which can meet its interface. A prototype editor which employs these algorithms has been implemented as a part of the SAGA project as a demonstration of the practicality and flexibility of the approach; this editor has been in experimental use during the past couple of years at the University of Illinois at Urbana-Champaign.","abstract_has_math":false,"creators":["Kirslis, Peter Andre Christopher"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2014,"date_issued":"2014-12-15T19:25:41Z","date_published":"2014-12-15T19:25:41Z","updated_at":"2026-07-22T22:26:01Z","subjects":["Computer Science"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["(UMI)AAI8610947"],"render_values":[{"text":"(UMI)AAI8610947","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/69548","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Kirslis, Peter Andre Christopher"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2014-12-15T19:25:41Z","10000-01-01","1986"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/69548","(UMI)AAI8610947"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["The research described in this dissertation supports the thesis that a language-oriented editor for full programming languages, and other languages specifiable with context-free LR(1) grammars, can be based upon an incremental LR(1) parser employing incremental analysis techniques. The resulting editor is flexible, supporting a higher-level command interface which includes structure-oriented commands involving tokens and sub-trees, while retaining common text editing commands which operate on arbitrary groups of characters and lines. This editor can be used to develop practical programs which incorporate software engineering principles concerning the design and construction of software systems. In this dissertation, an incremental parsing algorithm suitable for use with an interactive editor is developed. A new solution to the handling of comments in syntax trees is proposed, and an error-recovery algorithm which permits editing of the parse tree in the midst of syntax errors is presented. The resulting editor, its commands, and environment are described. The editor can be retargeted to other languages, and can use any parser-generating system which can meet its interface. A prototype editor which employs these algorithms has been implemented as a part of the SAGA project as a demonstration of the practicality and flexibility of the approach; this editor has been in experimental use during the past couple of years at the University of Illinois at Urbana-Champaign.","Made available in DSpace on 2014-12-15T19:25:41Z (GMT). No. of bitstreams: 1 8610947.pdf: 6295487 bytes, checksum: aafa1e35796f6f7c65db717ae7f1a3b3 (MD5) Previous issue date: 1986","Embargo set by: Seth Robbins for item 69714 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","162 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1986."]},{"key":"dc:title","label":"Title","values":["The Saga Editor: A Language-Oriented Editor Based on an Incremental Lr(1) Parser"]}]}],"canonical_facts":{"dc:creator":["Kirslis, Peter Andre Christopher"],"dc:date":["2014-12-15T19:25:41Z","10000-01-01","1986"],"dc:description":["The research described in this dissertation supports the thesis that a language-oriented editor for full programming languages, and other languages specifiable with context-free LR(1) grammars, can be based upon an incremental LR(1) parser employing incremental analysis techniques. The resulting editor is flexible, supporting a higher-level command interface which includes structure-oriented commands involving tokens and sub-trees, while retaining common text editing commands which operate on arbitrary groups of characters and lines. This editor can be used to develop practical programs which incorporate software engineering principles concerning the design and construction of software systems. In this dissertation, an incremental parsing algorithm suitable for use with an interactive editor is developed. A new solution to the handling of comments in syntax trees is proposed, and an error-recovery algorithm which permits editing of the parse tree in the midst of syntax errors is presented. The resulting editor, its commands, and environment are described. The editor can be retargeted to other languages, and can use any parser-generating system which can meet its interface. A prototype editor which employs these algorithms has been implemented as a part of the SAGA project as a demonstration of the practicality and flexibility of the approach; this editor has been in experimental use during the past couple of years at the University of Illinois at Urbana-Champaign.","Made available in DSpace on 2014-12-15T19:25:41Z (GMT). No. of bitstreams: 1 8610947.pdf: 6295487 bytes, checksum: aafa1e35796f6f7c65db717ae7f1a3b3 (MD5) Previous issue date: 1986","Embargo set by: Seth Robbins for item 69714 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","162 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1986."],"dc:identifier":["http://hdl.handle.net/2142/69548","(UMI)AAI8610947"],"dc:subject":["Computer Science"],"dc:title":["The Saga Editor: A Language-Oriented Editor Based on an Incremental Lr(1) Parser"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:26:01Z"}