{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/20347"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/20347","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Treemacs: An extensible tree editor","abstract":"Treemacs is a general purpose editor for trees. Although numerous editors for trees exist, they are not general purpose in the sense that they do not allow editing trees for a broad range of applications. The kinds of applications that a general purpose tree editor can support include: proof trees, document trees, transformation trees, outlines, abstract syntax trees, and high-level program development trees.","abstract_html":"Treemacs is a general purpose editor for trees. Although numerous editors for trees exist, they are not general purpose in the sense that they do not allow editing trees for a broad range of applications. The kinds of applications that a general purpose tree editor can support include: proof trees, document trees, transformation trees, outlines, abstract syntax trees, and high-level program development trees.","abstract_has_math":false,"creators":["Hammerslag, David Hugh"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Kamin, Samuel N."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T12:36:38Z","date_published":"2011-05-07T12:36:38Z","updated_at":"2026-07-22T22:25:15Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1990 Hammerslag, David Hugh"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9026200","(UMI)AAI9026200"],"render_values":[{"text":"AAI9026200","href":null,"code":true},{"text":"(UMI)AAI9026200","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/20347","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kamin, Samuel N."]},{"key":"dc:creator","label":"Author","values":["Hammerslag, David Hugh"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T12:36:38Z","10000-01-01","1990"]},{"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":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1990 Hammerslag, David Hugh"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9026200","(UMI)AAI9026200","http://hdl.handle.net/2142/20347"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Treemacs is a general purpose editor for trees. Although numerous editors for trees exist, they are not general purpose in the sense that they do not allow editing trees for a broad range of applications. The kinds of applications that a general purpose tree editor can support include: proof trees, document trees, transformation trees, outlines, abstract syntax trees, and high-level program development trees.","A general purpose tree editor must include the following features. (1) It must not be restricted to applications where the trees are defined by formal grammar. (2) On the other hand, it must be able to check and/or enforce structural constraints on trees. (3) It must allow for varying the representation of trees both within and between applications. (4) It must be extensible and customizable. (5) It must be possible to vary the time(s) at which structure constraints are checked: continually (i.e. at each tree modification), by user command, or something in between.","\"Treemacs provides these features by building upon the extensible text editor Emacs and extending it with a tree data type and a customizable, extensible tree display algorithm. A number of applications have been written including one for editing abstract syntax trees. This is a difficult application from various points of view and has the particular advantage that it allows for \"\"head-to-head\"\" comparisons with grammar based editors.\"","Made available in DSpace on 2011-05-07T12:36:38Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9026200.pdf: 5485113 bytes, checksum: 226e9a4a8b814f124b6c144a10c68830 (MD5) Previous issue date: 1990","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:43:17Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:18:55-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Treemacs: An extensible tree editor"]}]}],"canonical_facts":{"dc:contributor":["Kamin, Samuel N."],"dc:creator":["Hammerslag, David Hugh"],"dc:date":["2011-05-07T12:36:38Z","10000-01-01","1990"],"dc:description":["Treemacs is a general purpose editor for trees. Although numerous editors for trees exist, they are not general purpose in the sense that they do not allow editing trees for a broad range of applications. The kinds of applications that a general purpose tree editor can support include: proof trees, document trees, transformation trees, outlines, abstract syntax trees, and high-level program development trees.","A general purpose tree editor must include the following features. (1) It must not be restricted to applications where the trees are defined by formal grammar. (2) On the other hand, it must be able to check and/or enforce structural constraints on trees. (3) It must allow for varying the representation of trees both within and between applications. (4) It must be extensible and customizable. (5) It must be possible to vary the time(s) at which structure constraints are checked: continually (i.e. at each tree modification), by user command, or something in between.","\"Treemacs provides these features by building upon the extensible text editor Emacs and extending it with a tree data type and a customizable, extensible tree display algorithm. A number of applications have been written including one for editing abstract syntax trees. This is a difficult application from various points of view and has the particular advantage that it allows for \"\"head-to-head\"\" comparisons with grammar based editors.\"","Made available in DSpace on 2011-05-07T12:36:38Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9026200.pdf: 5485113 bytes, checksum: 226e9a4a8b814f124b6c144a10c68830 (MD5) Previous issue date: 1990","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:43:17Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:18:55-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["AAI9026200","(UMI)AAI9026200","http://hdl.handle.net/2142/20347"],"dc:language":["eng"],"dc:rights":["Copyright 1990 Hammerslag, David Hugh"],"dc:subject":["Computer Science"],"dc:title":["Treemacs: An extensible tree editor"],"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:25:15Z"}