@NewPage @Section(SOFTWARE TOOLS) @SubSection(ECCE) The ECCE library (which can be find in the INC directory) provide procedures, functions,... for your PASCAL or IMP softwares. Since these procedures, functions, constants,... have already been listed and briefly discribed in the Software Tools, Chapter @ref(Languages), no further information will be given here. The sections on PASCAL and IMP (sections @Ref(PASCAL) and @Ref(IMP)) will tell you what has to be done in order to use the available tools in your program. @SubSection(IE) IE has its own directory, the IE directory. All procedures, functions, constants,... available for use in softwares are all listed in there. The sections on PASCAL and IMP (sections @Ref(PASCAL) and @Ref(IMP)) will tell you what has to be done in order to use the available tools in your program. @Paragraph(Calling IE from programs) IE is an @b[%external %routine] and may be called from other programs that need to perform editing. The first call to IE must be preceded by a call of the @b[%external %routine Set Up Terminal] and the last one must be followed by a call of @b[Reset Terminal]. If your program performs ANY terminal IO between calls of IE it is essential that you call @b[Reset] and then @b[Set Up] again or your program will not work. It is also possible to get IE to display a message in the Broadcast Window when the edit starts up, it is very useful for displaying error reports when calling IE from a compiler. Notice that IE makes use of Imp Input and Output stream 3, any other file on this stream will always be lost during an IE edit. The following declarations are available in IE:IE.INC, and the object files are preinstalled in the system startup. @Begin(Description, LeftMargin 26) Abort @\If the user aborts his edit or a fatal condition arises IE signals abort. Version @\This is the version code of the editor that you will be using. Silent, Confirm, Deaf, Reset Heap are options for use when calling IE. Silent @\Suppresses the printing file loading/writing messages. Confirm @\Asks if the user really wants to before Aborting. Deaf @\Suppresses any broadcast messages appearing. Reset Heap @\Causes IE to restore its claimed heap space at the end of an editing session. When used stand alone it does not bother but any other program using the heap or likely to call the editor more than once MUST supply this option. IE_EDITOR @\This is the editor itself, the parameters aree as follows: @Begin(Itemize) In File : The source file, creates output if null Out File : The output file, read only if null Window Top : Top line of the screen to use 0 to 12 Window Bottom : Bottom line of the screen to use Start Line : Line of file to start on, returns line at end (starts at line 1). Start Pos : Column of line to start on, returns position at end (starts at 1) Profile : Profile file : no profile if null Options : Bits set as above @End(Itemize) IE_SET_UP_TERMINAL @\Control the terminal settings. IE_RESET_TERMINAL @\Control the terminal settings. IE_BROADCAST @\If this is called before IE Editor itself the Message will appear as a broadcast message at the top of the screen when the edit starts up. Very useful when integrating the editor into a compiler. @End(Description) IE:Sysdep.inc and IE:Sysdep offer a list of other available tools an a brief description of each of them. s