AMPLE core interpreter:

Jack C. Boudreaux · 1990

several weeks of discussion with Scott Staley (then of the University of Miami), we both concluded that this system would be an execellent starting point for our work.One limitation which demanded our immediate attention was the need to stay within the MS-DOS 640K upper bound on usable memory.Since a substantial run-time stack would be needed for recursion, and since several modules would normally be loaded into amcore at the same time, I thought that the amcore executable code would have to be no more 250 Kbytes, and preferrably much smaller.This meant that we would have to be absolutely ruthless in eliminating from XLISP all functions except those which were absolutely essential.We succeeded in doing this by reducing XLISP to those functions which are available in almost all Lisp dialects.In fact, the remaining set of functions W8is just about the same as that provided in the original dialect of Lisp, called LISP 1.5 /1 3/.The next phase was to develop those new capabilities which would be needed for the system to be a useful prototype of the AMPLE Core Interpreter, Version 1.0.By the Fall of 1988, Staley extended the arithmetic of XLISP 1.7 by adding complex numbers, described in Section 15.By mid-summer of 1989, I added the textport and graphic viewport functions, described in Section 18.The primitive amcore functions needed to support real-time processing are being developed and will be introduced in subsequent publications.Getting Started.Amcore Version 1.0 has been implemented in Microsoft C 5.0 and will run on MS-DOS AT-class personal computers.An EGA graphics adaptor is also recommended.The distribution disk contains two executable progreims AMCQRE.EXE and AMC0RE1M.EXE.If your com- puter has an 80x87 floating point coprocessor, then use AMCQRE.EXE, otherwise, use AMC0REM.EXE.To start the interpreter, key in amcore (or amcorem)to the MS-DOS prompt.Once you see the amcore prompt (>), the command > (load "tutor.Isp") will begin a tutorial session.Follow the navigation rules on the bottom line of the screen.This command will not only give you access to the tutorial material, but will also allow you to access HELP files.Please remember that this system is a working prototype and that it is subject to change and revision without prior notification.How to Stop.To exit the Interpreter and to return to the operating system, you may either execute the exit command: >(exit) or enter the CTRLrZ key chord.Preparing Programs.The Core Interpreter may be thought of as the boiler room of the AMPLE system: it hets been specifically designed to be as compact and efficient as possible.Such programming tools as a syntax-directed editor and a workspace manager are now in final development and will be released as AMPLE modules.Until these modules are generally available, the most direct way to program this system is to use a text editor to prepare an ASCII file, that is, a file without embedded control chwacters, and then to load the file into the interpreter.Progreun files we hamdled in the same way as was the file TUTOR.LSP which was itself prepared by using a text editor.The effect of loading a program file is identical to keying the same programs into the interpreter directly.Comments begin with a semicolon character and continue to the end of the line.Since the interpreter treats commented characters as whitespace, they IV may be placed wherever a blank character would be legal How to Use This Guide.This document is being released as a companion to the AMPLE Core Interpreter.I assume throughout that the reader is simultaneously interacting with the Core Interpreter itself.The primary purpose of the User's Guide is to allow the reader to get comfortable with the interpreter and ultimately to develop that confidence which comes from being able to correctly predict the behavior of a complicated system.The first five sections present a general overview of AMPLE.The remaining sections introduce the reader to all of the functions which are available in the Core Interpreter.Each of these sections has the same basic plan: a brief explanation of the section's main topic; a list of the section's functions, grouped according to similarity; and then a discussion session with transcripts of actual interactions with the Core Interpreter.Because only a few functions can be discussed in detail, the final section is am Appendix which provides a brief description of all of the functions mentioned in this report, listed in alphabetic order.

Read the paper · More papers on PaperTik