From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,INVALID_DATE, SUBJ_ALL_CAPS autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!watmath!clyde!burl!ulysses!allegra!oliveb!Glacier!decwrl!ucbvax!info-ada From: synrels@GVAX.CS.CORNELL.EDU (Synth. Release Acct.) Newsgroups: net.lang.ada Subject: RELEASE OF THE SYNTHESIZER GENERATOR Message-ID: <8511192055.AA07376@gvax.cs.cornell.edu> Date: Tue, 19-Nov-85 15:55:42 EST Article-I.D.: gvax.8511192055.AA07376 Posted: Tue Nov 19 15:55:42 1985 Date-Received: Sat, 23-Nov-85 01:14:28 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet List-Id: RELEASE OF THE SYNTHESIZER GENERATOR ____________________________________ Thomas Reps and Tim Teitelbaum Cornell University This notice is to announce the release of the Synthesizer Generator and to provide information about it. The Synthesizer Generator is a tool for specifying how objects may be edited in the presence of context-sensitive relationships. The editor designer prepares a specification that includes rules defining a language's abstract syntax, context-sensitive relationships, display format, and concrete input syntax. From this specification, the Generator creates a full-screen editor for manipulating objects according to these rules. The Synthesizer Generator is particularly well suited for creating editors that enforce the syntax and static semantics of a particular language. Each object to be edited is represented as a consistently attributed derivation tree. When these objects are modified, some of the attributes may no longer have consistent values; incremental analysis is performed by updating attribute values throughout the tree in response to modifications. If an editing operation modifies an object in such a way that context- dependent constraints are violated, the attributes that indicate satisfaction of constraints will receive new values; thus, these attributes can be used to annotate the display in order to provide the user with feedback about the existence of errors. Editor specifications are written in the Synthesizer Specification Language (SSL), which is based on the concepts of a term algebra and an attribute grammar, although certain features are tailored to the application domain of language-based editors. The Synthesizer Specification Language is described in: Reps, T. and Teitelbaum, T. The Synthesizer Generator. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Pittsburgh, Penn., Apr. 23-25, 1984. (Appeared as joint issue: SIGPLAN Notices (ACM) 19, 5 (May 1984), and Soft. Eng. Notes (ACM) 9, 3 (May 1984), 42-48). The Synthesizer Generator has two components: a) a translator that takes an SSL specification as input, and produces grammar tables as output, and b) an editor kernel that consists of an attributed-tree data-type and a driver for interactively manipulating attributed trees; the kernel takes input from the keyboard and executes appropriate operations on the current tree. A shell program handles the details of invoking the translator and producing a language-based editor from the resulting tables. The generator is written in C and runs under Berkeley UNIX on VAX computers, but porting to other versions of UNIX is straightforward. Editors generated with the Synthesizer Generator will work on any crt terminal described in the UNIX termcap database. A version for the Sun Workstation is in use at Cornell, and we intend to release it at a later date. A keyboard description file specifies the layout of special function keys used by the generated editors. The distribution, which costs $200.00, is intended for research and prototype construction (we are working on a distribution agreement that would apply to classroom and commercial use). It consists of: a) Source and object code for the SSL translator and editor kernel. b) An SSL specification of a Pascal editor with full static-semantic checking. c) A collection of demonstration editors. d) A copy of The Synthesizer Generator reference manual. To request further information about acquiring a copy of the system, please mail us the form below. We will send you a manual describing the system and copies of the distribution agreement. Please send information about acquiring the Synthesizer Generator to: Name: Affiliation: Address: Do you hold a UNIX binary license? Please respond by electronic mail to arpanet:synrels@gvax.cs.cornell.edu uucp: {ihnp4,vax135,decvax,allegra}!cornell!synrels bitnet: synrels@crnlcs.bitnet or mail completed form to: Prof. Tim Teitelbaum Synthesizer Generator Distribution Dept. of Computer Science, Upson Hall Cornell University Ithaca, N.Y. 14853