Page 1¶
LED User Guide¶
ND-60.266.2 EN
[Photo: Colored squares in a row]
LED User Guide
ND-60.266.2 EN
ND
Norsk Data
Scanned by Jonny Oddene for Sintran Data © 2020
Page 2¶
I'm sorry, but the page appears to be blank apart from the text at the bottom. If there was content visible, please try scanning again or uploading the content.
Page 3¶
LED User Guide¶
ND-60.266.2 EN
Scanned by Jonny Oddene for Sintran Data © 2020
Page 4¶
Technical Manual Information¶
The information in this manual is subject to change without notice.
Norsk Data A.S assumes no responsibility for any errors that may appear in this manual, or for the use or reliability of its software on equipment that is not furnished or supported by Norsk Data A.S.
Copyright© 1988 by Norsk Data A.S
Version 1 July 1987
Version 2 April 1988
Documentation Requests¶
Send all documentation requests to:
Norsk Data A.S
Graphic Centre
P.O. Box 25 - Bogerud
N-0621 Oslo 6
NORWAY
Page 5¶
Preface¶
The product¶
This manual describes the ND program editor
| LED for ND-500 | ND 211160B |
|---|---|
In addition, chapter 7 describes the LED Debugger for ND-500, ND 211157B, an enhanced version of the ND Symbolic Debugger that runs on ND-500 computers.
The reader¶
This manual is intended for applications and system programmers, as well as students taking a programming course.
Prerequisite knowledge¶
The reader should have basic knowledge of the SINTRAN III operating system (for example logging in, creating, renaming and deleting files, starting programs, etc.). However, students of computing will normally start using LED while learning the basic use of the computer.
The reader should also be familiar with the basic principles of word processing.
No background in computer programming is required.
The manual¶
The manual can be used both as a tutorial that is read from the beginning, and as a reference manual.
Chapter 1 defines basic terms and provides the necessary background for reading the other chapters.
Chapter 2 contains a simple example of how LED may be used. It will work as a very short demonstration of LED, and is perhaps the best place to begin for many readers, particularly for those with no experience with similar tools.
Page 6¶
The main part of LED, the editor, is described in chapters 3, 4, and 5. The text is divided into sections that describe how each specific task is done. If a command is used for several purposes, it is described in several sections.
Chapter 6 covers the commands to extend LED by loading your own programs and binding them to a key on the keyboard.
Chapter 7 describes the enhanced functionality of the LED Debugger not present in the Symbolic Debugger. For the functions common to both debuggers, refer to the Symbolic Debugger User Guide, ND-60.158.
A complete description of all commands and keys is given in appendices A and B. Appendix C contains a partially annotated list of LED's error messages. Appendix D compares LED with PED.
Related Manuals¶
On the operating system on ND computers:¶
- If you are completely new to computing:
- SINTRAN III Introduction (ND-60.125)
- The natural starting point for programmers:
- SINTRAN III User Guide (ND-60.264)
On programming languages:¶
- FORTRAN Reference Manual (ND-60.145)
- ND-COBOL Reference Manual (ND-60.144)
- ND-PASCAL User's guide (ND-60.124)
- PASCAL Reference Manual (ND-60.222)
- NORD-100 SINTRAN III SIMULA Reference Manual (ND-60.092)
- ND-500 SIMULA Reference Manual (ND-60.208)
- PLANC Reference Manual (ND-60.117)
On other topics related to programming:¶
- ND LINKER User Guide and Reference Manual (ND-60.289)
- SYMBOLIC DEBUGGER User Guide (ND-60.158)
- SINTRAN III COMMANDS Reference Manual (ND-60.128)
Page 7¶
TABLE OF CONTENTS¶
Standard notation¶
6
Chapter 1: Introduction¶
9
- What is LED? 11
- How to start LED and how to exit 12
- The screen picture 14
- Regions and windows 15
- Home commands 17
- Function-key commands 20
- The LANGUAGE home command 21
- Definition of the term "item" 22
- About numeric arguments 24
- Evaluating expressions 26
- The HELP function-key 26
- Recovering after accidental exits 27
- Refreshing the screen 28
- Defining values used at start-up 28
- Executing SINTRAN III commands 30
Chapter 2: A demonstration of LED¶
31
Chapter 3: Windows, regions and files¶
45
- How to create a region 47
- How to read files 48
- How to write files 51
- Printing out the code 52
- How to move to another region 53
- Manipulating the windows 55
- Getting information about regions 58
- Connecting a process 59
Chapter 4: Navigation¶
63
- Navigation from home position 65
- Navigation in edit mode 67
- Navigation in window mode 69
- Setting the tabulator stops 69
- Hiding details: browsing 71
- Searching for a string 72
- Advanced searching 75
- Locating compiler-flagged errors 78
Scanned by Jonny Oddene for Sintran Data © 2020
Page 8¶
Table of Contents¶
Chapter 5: Editing¶
| Topic | Page |
|---|---|
| Editing within a line | 83 |
| Indenting the code | 86 |
| Line operations | 88 |
| Block operations | 90 |
| Search and replace | 95 |
| Undoing changes | 96 |
Chapter 6: Defining your own function-keys¶
| Topic | Page |
|---|---|
| Summary | 101 |
| The LEDCALL services | 103 |
| Example programs | 109 |
| The commands to LED-Loader | 116 |
Chapter 7: Debugging the code¶
| Topic | Page |
|---|---|
| LED-DEBUGGER | |
| How to start LED-DEBUGGER | 121 |
| The LED-DEBUGGER screen picture | 122 |
| Typing commands to the debugger | 124 |
| Reaching a breakpoint | 125 |
| Key commands to the debugger | 126 |
| The RESERVE-TERMINAL command | 130 |
| The NEW-SCRATCH-FILE command | 131 |
Appendix A: Home command summary¶
| Topic | Page |
|---|---|
| 133 |
Appendix B: Function-key command summary¶
| Topic | Page |
|---|---|
| Edit mode commands | 143 |
| Window mode commands | 147 |
Appendix C: LED error messages¶
| Topic | Page |
|---|---|
| 149 |
Appendix D: Differences between LED and PED¶
| Topic | Page |
|---|---|
| 155 |
Index¶
| Topic | Page |
|---|---|
| 165 |
Page 9¶
Standard Notation¶
Underlining¶
In the examples, underlining indicates what the user types. Note the ↵ symbol at the end, signifying that you end the line by pressing the RETURN key.
▮ In the screen pictures, the cursor is shown as a block. On many terminals, the cursor appears as a blinking underscore instead.
<char>,<ch>- Means any single character.
<file name>- Means any specific (but appropriate) file name. The file name may be abbreviated according to SINTRAN III conventions, but LED will replace it with the full name.
Function Keys¶
F1, F2, ..., F8
+-----+ +-----+ +-----+
| F1 | | F2 | ... | F8 |
+-----+ +-----+ +-----+
Control Keys¶
CTRL+A, CTRL+B, etc.
+-------+ +-------+
| CTRL | | CTRL |
| +A | | +B |
+-------+ +-------+
The + sign is used to signify that both keys should be pressed simultaneously.
Function Sequence¶
FUNC A, FUNC B, etc.
+-------+ +-------+
| FUNC | | FUNC |
| A | | B |
+-------+ +-------+
Page 10¶
Standard Notation¶
ND-60.266.2
Some keys on the NOTIS keyboard are marked with symbols that are difficult to render in the text. We will refer to these keys using the following names:
| The key | Name when not shifted | Name when shifted |
|---|---|---|
| EXECUTE | SHIFT+EXECUTE | |
| TAB± | SHIFT+TAB± | |
| << | >> | |
| < > | > < | |
| UNDERLINE ON | ||
| ACCORDION | ||
| GO-TO | ||
| HOME | ||
| RETURN |
Scanned by Jonny Oddene for Sintran Data © 2020
Page 11¶
Introduction¶
ND-60.266.2
[Footer: Scanned by Jonny Oddene for Sintran Data © 2020]
Page 12¶
CHAPTER 1:¶
Introduction¶
| Topic | Page |
|---|---|
| What is LED? | 11 |
| How to start LED and how to exit | 12 |
| The screen picture | 14 |
| Regions and windows | 15 |
| Home commands | 17 |
| Function-key commands | 20 |
| The LANGUAGE home command | 21 |
| Definition of the term "item" | 22 |
| About numeric arguments | 24 |
| Evaluating expressions | 26 |
| The HELP function-key | 26 |
| Recovering after accidental exits | 27 |
| Refreshing the screen | 28 |
| Defining values used at start-up | 28 |
| Executing SINTRAN III commands | 30 |
Page 13¶
Introduction¶
ND-60.266.2
[Illegible text due to blurring]
Page 14¶
What is LED?¶
LED is primarily a tool for writing computer programs. It has a number of functions that are directly related to the task of programming. It has some "knowledge" about the most common programming languages, and can adapt some operations to their syntax.
LED includes:
- A full screen editor with multiple non-overlapping or overlapping windows that allow for the simultaneous display and editing of several texts.
- Cut-and-paste across windows.
- Advanced functions for searching and replacing strings.
- Searching in several texts at once.
- Indentation of control structures and keywords in uppercase letters, which gives the code a nice, structured appearance.
- Browsing function: display of inner levels of program control structures can be supressed, giving an overview of the program structure.
- A pretty-printing facility that sets the keywords in bold typeface and comments in italics.
- Independent processes connected to windows can run other programs like the compiler and the linker.
Scanned by Jonny Oddene for Sintran Data © 2020
Page 15¶
Introduction¶
- Compiler message mapping: with compiler messages in one window, LED can step through faulty source lines in various windows at the touch of a single key.
- Reprogrammable keys, which can execute programs you write in your favorite language, and interface to LED.
How to start LED and how to exit¶
The simplest way of starting LED is by typing:
@LED↵
You can also specify the file you are going to work on:
@LED file↵
Advanced users may want to specify that the file should be read into some region other than Main (see the section Regions and windows on page 15 for an explanation of these concepts):
@LED file region↵
If the region is not one of the predefined ones, its name must be enclosed in double quotation marks:
@LED file "region"↵
Page 16¶
Introduction¶
ND-60.266.2¶
Initial Home Commands¶
You may even want to issue some initial home commands that should be executed as soon as any file is read:
@LED;home-commands↵
or
@LED file;home-commands↵
or
@LED file region;home-commands↵
Here "home-commands" is one or more of the home commands described in this manual, separated from each other by semicolons.
Initialization¶
LED will initialize some of its parameters according to your preferences, provided that you have saved them in an earlier LED session. You can also prepare a file with initial commands. See the section Defining values used at start-up, on page 28 for details.
Exiting from LED¶
+-----+
|EXIT |
+-----+
To exit from LED, simply press the EXIT key. (If LED is in window mode, press F8 first.) If you have not saved your work, LED will ask you whether or not you want to save it before you exit.
There are also two home commands which are equivalent to pressing the EXIT key. These are the EXIT and QUIT home commands.
Page 17¶
The Screen Picture¶
LED divides the screen into four parts: the home position and the message line occupy the uppermost two lines of the screen, the status line is the lowest line of the screen, while the work area occupies the rest.
+------------------------------------------------+
| LED: |
| Home command Window October 13, 1986. |
| Main |
| |
| |
| |
| |
| |
| |
| |
| Exp Fortran |
+------------------------------------------------+
| Home position | You use the home position to type commands to LED. These commands are called home commands. When the cursor is in the home position, LED is in command mode. |
|---|---|
| Command mode | |
| Message line | The message line is for LED's messages to you. |
Page 18¶
Introduction¶
ND-60.266.2
| Status line | The status line shows which modes are turned on. It contains small blocks in inverse video, one for each of the following modes, provided they are turned on: expand, append, global, window, communication, and language (represented by the language name). |
| Work area | The work area is where your text appears. It can be divided into several windows. The windows have an inverse video line which constitutes their upper border. In the screen picture on the previous page, the line with the text Main is the upper border of the Main window. |
| Edit mode | When the cursor is in the work area, LED is normally in edit mode. (The other possibilities are window mode or communication mode.) In these modes, you can still give commands to LED. You do this by pressing function-keys and control-key combinations. These commands are called function-key commands. Some few function-key commands can also be given in command mode. |
| Function-key commands |
Regions and Windows¶
LED allows you to operate on several texts at once. It keeps each text in a separate region. Each region has an associated window, through which a portion of the text is shown on the screen, provided that the window is visible, i.e. that it is not obscured by other windows in front of it.
Windows occupy rectangular portions of the work area of the screen. These portions may overlap.
Page 19¶
Introduction¶
Active Region¶
At any time there is one region that is the active region. When a region becomes active, its window is put on top of all the others.
You can only modify the contents of the active region. If you want to work on the contents of another region, you must first move to it, making it the new active region.
Region Names¶
Each region has a name. The name is shown on the upper border of the window. The regions shown above have the names Main, W1, W2, and W3. The region names can consist of alphanumeric characters, hyphens and colons.
_____________________________________________________
| _____________________________________________ |
| | LED: | |
| |________________________________________________| |
| __________________________________________________ |
| | Main | |
| |__________________________________________________| |
| | ___________________________________________ |
| | | W1 | | |
| | |_________________________________________| | |
| ____________________________________________ | |
| | W2 | | |
| |____________________________________________| | |
| ________________________________________________ |
| | W3 | |
| |_________________________________________________| |
|_____________________________________________________|
Page 20¶
Introduction¶
ND-60.266.2
| Abbreviating region names | When you refer to an existing region, you can abbreviate the region name following the same rules as apply for SINTRAN III file-name abbreviations. |
|---|---|
| Main and HelpWork | When you start LED, there are two predefined regions: Main and HelpWork. Main is the active one. Main is empty, while HelpWork contains a list of all commands available in LED. |
If you specify a file name when starting LED, LED reads the contents of that file into the region Main, unless you also specify the name of another region. If you specify a region name, LED reads the file into that region, which becomes the active region.
Home Commands¶
There are two classes of commands to LED, the home commands and the function-key commands. The window-mode commands are a special group of function-key commands.
| Home commands | The home commands consist of a verb and possibly one or more parameters. They are terminated with either a semicolon or a carriage return. When you want to issue a home command, you must first place the cursor in the home position. You achieve this by pressing the HOME key (F8 and then the HOME key if LED is in window mode). |
|---|---|
| Abbreviation | The home command verbs can be abbreviated to one or two letters. In appendix A, those commands that can be abbreviated to just one letter are shown with a + sign in front of them. |
+----+
|home|
+----+
Page 21¶
Introduction¶
In many examples and illustrations throughout this manual, you will see abbreviated forms of the commands.
Arguments¶
Many of the commands require that you specify some arguments, e.g. the name of the file you want to read. If you omit these parameters, LED will prompt you for them. Note, however, that some arguments are optional, and such arguments are not prompted for.
Separation of a command verb from its arguments¶
Arguments must be separated from the command verb by a space, and from each other by a comma or by a space. If, however, the first argument begins with anything other than a letter, a digit or a hyphen, then it need not be separated from the command verb. For example, the home command MOVE-TO +10J can be typed as M+10J, while MOVE-TO -10J must contain a space between the command verb and the argument.
Several home commands¶
You can give several home commands at once. They must be separated by semicolons. LED will only execute them after you press the RETURN key.
There is a limitation to this: LED will not scan the command line past commands that move the cursor from the home position, such as the GET-STRING command. (Note that the MOVE-TO home command stays in the home position.)
Editing the home command line¶
Home commands are not executed until you press the RETURN key. Before that, you can move the cursor around in the line and edit it using most of the commands described in the section Editing within a line, on page 83.
Page 22¶
Introduction¶
ND-60.266.2
Recalling the Last Command Line¶
+----+ +----+
|CTRL| + | W |
+----+ +----+
You can also use CTRL+W to recall the last home command line, and then modify it. Suppose your command line failed because of a minor typing error. Then return to the home position (if necessary), press CTRL+W, correct the error, and then press RETURN.
Cancel¶
+--------+
| CANCEL |
+--------+
If you decide that you do not want to finish the command you have begun typing, you can abandon it through the CANCEL function-key.
If you have finished the command, but you discover that it takes very long to execute it, you can still interrupt it with the CANCEL key. (This concerns the commands READ-FILE, UPDATE-FILE, WRITE-FILE, GET-STRING, GET-PATTERN, SUBSTITUTE, PRETTY-PRINT, and COMPARE-AREA.)
Home Commands When Starting LED¶
When you start LED, you can write a sequence of home commands to LED together with the command to SINTRAN, on the same line.
Usually you start LED by typing:
@LED <file name>↵
After the file name, you may append a semicolon and a sequence of home commands separated by semicolons. Then LED will execute these commands as soon as it gets started.
You can also specify a region name after the file name (before any semicolon) to have the file read into a region other than Main. Use "**" for a region name equal to the file name. Since the region must be created, the region name must be enclosed in double quotation marks.
Page 23¶
Example¶
@LED my-file "***";la none;g ++j
This will start LED, read the file MY-FILE:SYMB into a region with the name MY-FILE:SYMB, turn language mode off (assuming the user has a language specified in his/her initialization file), and search for the string "++j".
Function-key Commands¶
| Function-keys | The function-key commands consist of single key-strokes or of control-key combinations. If your terminal lacks the special NOTIS keys, refer to appendix B for key combinations that can be used instead. Most function-key commands work only when the cursor is in the work area, not in the home position. |
|---|---|
| Window-mode commands | ![F8] Some of the commands for manipulating windows can only be used in a special mode, called window mode. To enter window mode, press the F8 key. In window mode, the ordinary function-key commands are not available. All window-mode commands are described in the section Manipulating the windows, on page 55. |
![F8] To leave window mode and return to edit mode, press the F8 key again.
Page 24¶
The LANGUAGE Home Command¶
The LANGUAGE home command tells LED in which language you are writing your program. It also determines some details in the way some commands work.
LED: language planc↵
LED: l fortran↵
LED knows of the languages in the table below, but not all of LED's features are implemented for all of the languages. The table shows which features are implemented for which languages:
| Language | Indent, browse, and PRETTY-PRINT | Comment header | Item |
|---|---|---|---|
| ADA | NO | YES | NO |
| C | YES | YES | YES |
| COBOL | NO | YES | YES |
| FORTRAN | YES | YES | YES |
| PASCAL | YES | YES | YES |
| PLANC | YES | YES | YES |
| SIMULA | NO | YES | NO |
(The PRETTY-PRINT command works for all languages, but only the languages indicated in the table will have keywords in bold typeface, comments in italics, etc.)
When one of these languages is selected, we say that LED is in language mode, or that language mode is on. The name of the current language is shown in the status line.
Page 25¶
LED Control¶
LED: 1 none
It is also possible to deselect the current language by specifying the language as NONE. After this command is given, any language name disappears from the status line, and we say that language mode is off.
Definition of the term "item"¶
One of the most important parameters of LED that depends on the language mode is the definition of the term "item".
What an item is at any point in time affects the way the <= and => keys work in edit mode, and the way the GET-STRING, GET-PATTERN, and SUBSTITUTE home commands work.
The <= and => keys move the cursor to the next item in the direction indicated.
The three home commands depend on the "item" concept only when language mode is on. Then they search for occurrences of the search string or pattern by taking one item at a time, and checking whether or not the search string or pattern matches the whole item.
With language set to NONE, an item is a sequence of nonblank characters delimited at both ends by either a space or the beginning or end of the line. Thus an item corresponds loosely to a word of the text.
Page 26¶
Introduction¶
For Example¶
In the text line:
10 format(' ', I3)
LED will recognize three items, 10, format(, and , I3).
In language mode, an item corresponds to any of the smallest building elements of the language that are relevant for a syntactical analysis of the program. That is, a keyword, an identifier, a text constant, a numeric constant, an arithmetic or relational operator, a list separator, a left or right parenthesis, etc.
For example, in the text line:
10 format(' ', I3)
LED will recognize 7 items when language mode is FORTRAN: 10, format, (, ' ', , (the comma), I3, and ).
Comments¶
Comments are treated as follows when language mode is on:
The home commands GET-STRING, GET-PATTERN and SUBSTITUTE ignore them completely, while the edit-mode navigation keys <= and => interpret them as ordinary code. (In PASCAL, the special symbols (* and *) are seen as consisting of two items each.)
Compiler Directives¶
Compiler directive keywords that begin with a $ sign, are treated as two items. Their arguments are treated as if they were ordinary code. Thus the directive:
$INCLUDE XMP:DEFS
consists of 5 items (with language FORTRAN): $, INCLUDE, XMP, :, and DEFS.
Page 27¶
About Numeric Arguments¶
Some home commands allow a numerical argument. You can always give an arithmetic expression for the value. The expression may contain the following operators:
+ - * / ** SHIFT
where ** denotes exponentiation, and SHIFT moves all bits in the internal representation of the left-hand side to the left (i.e. toward the most significant bit position), as many steps as the right-hand side says. If the right-hand side is positive, the positions left open at the right end are zero-filled, but if the right-hand side is negative, the bits are moved to the right instead, and the positions left open at the left end are filled with copies of the sign (leftmost) bit. This has the effect of multiplying the left-hand side with 2 to the power of the right-hand side, i.e. x SHIFT y equals x(2*y).
32-bit Integers¶
All calculations are done with 32-bit integers. This means that you cannot specify decimal fractions, and that LED will only retain the integer part of the quotient after a division.
Special Operands¶
You can also use the following special operands:
| Operand | Description |
|---|---|
. |
The current line number. |
$ |
The last line number. |
#<char> |
The ASCII value of the specified character. |
Control Characters¶
To specify the ASCII value of a control character, press #, CTRL+0, and then the control key in question. (0 is the letter, not zero.)
Page 28¶
Introduction¶
Note, however, that most terminals send a sequence of several characters when you press a function-key. CTRL+0 will then pick out the first character in the sequence, which is normally ESCAPE, ASCII 27. The other characters in the sequence are then treated as if you had typed them yourself.
______ ______ ______
| FUNC | | CTRL | | O |
|______| |______| |______|
To specify the VTM-table code for a function-key, press FUNC CTRL+0, and then the function-key in question. With this method, "escape sequences" are not split as with CTRL+0.
The expression may contain parentheses, but it should not begin with a parenthesis, except in the VALUE-OF home command.
Examples:
| Expression | Description |
|---|---|
#CTRL+O CTRL+C |
The ASCII code for CTRL+C |
#a*256 + #c |
The ASCII code for the string "ac" |
$-1 |
The next-to-last line number |
$-.+1 |
The number of lines from the current line through the last line |
Page 29¶
Evaluating Expressions¶
LED:value #A*256+#B#
The VALUE-OF command computes the value of an expression. Refer to the previous section for a description of how to write an expression. LED displays the result in the decimal, octal, and hexadecimal number systems, and as ASCII text.
LED:
+----------------------------------------------------+
| Decimal: 16706 Octal: 40502B Hex: 4142H Ascii: " AB" |
| Main |
+----------------------------------------------------+
If you press CTRL+V in edit mode, LED displays the value of the character at the cursor position. The value is displayed in the message line in exactly the same way as with the VALUE-OF home command.
This is useful when you have inserted control characters into the text, since they all appear as an "&" on the screen.
The HELP Function-Key¶
Pressing the HELP function-key displays the predefined region HelpWork, which contains a short description of all LED commands.
Pressing the HELP key works just like a MOVE-TO HelpWork home command.
You can scroll the help text up and down, or search for a word in the help text. You can write the help text to a file or print it out. You can even prepare your own version of the help text, and read it into
Page 30¶
Introduction¶
ND-60.266.2
the HelpWork region. (Though, you must read it in again every time you start LED. This, however, can be done automatically if you include the appropriate commands in an initialization file. See section Defining values used at start-up, on page 28.)
To get back to the window you left when you pressed the HELP key, press HELP again.
Recovering after accidental exits¶
Error recovery
If you accidentally exit from LED, by mistake or as a consequence of a system or program failure, you may lose work because the text you had in the regions was probably not saved on the disk. Nevertheless, you can recover this information if your scratch file is intact. To do this, just start LED specifying @ for the file name, as follows:
@LED @↵
┌─────────────────────────────────────────────┐
│ Note: │
│ │
│ This should be the very first thing │
│ you do after the failure or accidental │
│ exit. If instead you first start a │
│ program which uses the scratch file, │
│ you will not be able to recover the │
│ scratch file's contents. │
└─────────────────────────────────────────────┘
Notice that different terminals use different scratch files, and that when a terminal is logged in it need not get the same scratch file that it had the last time.
Page 31¶
Refreshing the Screen¶
____________
| ________ |
| | FUNC @| |
| |________| |
|____________|
Sometimes the screen picture is modified by some event outside LED. This will typically be when your screen receives mail, but it can also be due to transmission errors between the screen and the computer. Whatever the reason might be, if you suspect that this has happened, you should press the FUNC @ keys. Then LED retransmits the whole screen picture.
Defining Values Used at Start-up¶
| Command | Description |
|---|---|
| LED:set-pref | The SET-PREFERENCES home command stores the values of some parameters in your User Profile (provided you logged in through User Environment; otherwise LED will produce a file named LED:INIT). The next time you start LED, it will automatically look for this information, and set those parameters to whatever they were when you gave the SET-PREFERENCES command. |
| LED:set-pref my-init | You can also specify a file name as an argument. This should be the name of a file containing home commands. This file name is stored along with the other information, but next time you start LED, after doing the other initialization, it reads the file named, and executes the home commands found there. The file name parameter has a default file type of :SYMB. |
Page 32¶
Introduction¶
ND-60.266.2
Example¶
If you want LED to start with expand mode on, language PLANC, and cursor position count off, then just turn these things on or off accordingly, and give the SET-PREFERENCES command. The next time you start LED, you will find that expand mode is on, etc.
If you later change your mind, and want the cursor position count to be on every time you start LED, turn it on, then go to the home position and give the SET-PREFERENCES command again. Then the initialization information is rewritten to reflect the current values of the parameters.
The parameters stored are:
- expand mode on/off,
- append mode on/off,
- cursor position count on/off,
- language mode
- global-search yes/no
- tabulator stops
Page 33¶
Executing SINTRAN III Commands¶
LED:@list-files :sy,,+
It is possible to execute SINTRAN III commands without leaving LED. Type the SINTRAN III command in the home position, preceded by the @ character.
CAUTION:
LED does not verify that what you write after the @ actually is a SINTRAN III command. It just passes whatever you type on to SINTRAN. If you ask SINTRAN to start another program, control will never return to LED. If the program modifies your terminal's scratch file, whatever you had in the regions will be lost forever. Otherwise, you can still recover by restarting LED with the LED @J command (see page 27). The disk files will not be affected, so if you had a copy of the regions on disk, then you will not lose (all of) your work.
Page 34¶
CHAPTER 2:¶
A demonstration of LED¶
Page 35¶
A demonstration of LED¶
ND-60.266.2
Scanned by Jonny Oddene for Sintran Data © 2020
Page 36¶
A demonstration of LED¶
Suppose you are going to write a PLANC program to do a bubble sort. You decide to call it "BUBBLE". Start LED by typing:
@LED "BUBBLE" ↵
LED creates a file named BUBBLE:PLNC, and gives you a screen picture like this:
LED:█
0 lines read (0 bytes)
Main
+------------------+
| |
| |
| |
| |
| Planc |
+------------------+
The black block in the uppermost line is the cursor. It is in the home position. When the cursor is there, you can type commands to LED.
(If the block with the word Planc does not appear when you start the program, type language planc↵ in the home position before continuing with the rest of the demonstration.)
Page 37¶
A Demonstration of LED¶
ND-60.266.2
You want to type in the program, so you press the HOME key, which is labeled ↖ on NOTIS keyboards. The cursor then moves to a position below the M of Main. This is the beginning of the work area.
Start typing in the program. After a while your screen looks like this:
+-----------------------------------------+
| LED: |
| |
| Main |
| module bsort |
| integer array: stack(0:200) |
| program bprog |
| integer: pos |
| integer array: list(1:10) := (1,9,2,8,3,7,4,6,5,0) |
| inistack stack |
| do |
| for pos in 2:10 do |
| if list(pos-1) > list(pos) then |
| list(pos) :=: list(pos-1) :=: list(pos) |
| true :=: change |
| |
| Planc |
+-----------------------------------------+
You have not declared the variable changed. You also need to initialize it at each execution of the outer loop.
Page 38¶
A Demonstration of LED¶
ND-60.266.2
Use the arrow keys to move the cursor to the line with the declaration of pos:
| Main
module bsort
integer array: stack(0:200)
program bprog
integer: pos
integer array: list(1:10) := (1,9,2,8,3,7,4,6,5,0)
Press the F2 key to insert a new line:
| Main
module bsort
integer array: stack(0:200)
program bprog
█
integer: pos
integer array: list(1:10) := (1,9,2,8,3,7,4,6,5,0)
and type the declaration:
| Main
module bsort
integer array: stack(0:200)
program bprog
boolean: changed█
integer: pos
integer array: list(1:10) := (1,9,2,8,3,7,4,6,5,0)
You can insert other statements by proceeding in the same fashion.
Page 39¶
A Demonstration of LED¶
ND-60.266.2
Finally, your program looks like this:
+-----------------------------------------------+
| LED: |
| Main |
| module bsort |
| integer array: stack(0:200) |
| program bprog |
| boolean: changed |
| integer: pos |
| integer array: list(1:10) := (1,9,2,8,3,7,4,6,5,0) |
| inistack stack |
| do false =: changed |
| for pos in 2:10 do |
| if list(pos-1) > list(pos) then |
| list(pos) ::= list(pos-1) =: list(pos) |
| true =: change |
| endfor |
| while changed |
| enddo |
+-----------------------------------------------+
Planc
The program contains many statement pairs, such as DO ...ENDDO, that must be completed. It is easier to see which statements are missing when the program text is properly indented. Press the JUST key and answer the question that appears in the home position, by pressing Y:
+-----------------------------------------------+
| LED: |
| Indent current region (Y/N)? |
| Main |
+-----------------------------------------------+
Page 40¶
A demonstration of LED¶
ND-60.266.2
Then LED rewrites the program like this:
LED:
Main
MODULE bsort
INTEGER ARRAY: stack(0:200)
PROGRAM bprog
BOOLEAN: changed
INTEGER: pos
INTEGER ARRAY: list(1:10) := (1,9,2,8,3,7,4,6,5,0)
INISTACK stack
DO FALSE =: changed
FOR pos IN 2:10 DO
IF list(pos-1) > list(pos) THEN
list(pos) :=: list(pos-1) =: list(pos)
TRUE =: change
ENDIF
ENDFOR
WHILE changed
ENDDO
Planc
In this way, it becomes clear that the program needs an ENDIF statement somewhere before the ENDFOR statement. Add it, and add also some statements to display the result, and finish the program:
Page 41¶
LED:¶
Main
MODULE bsort
INTEGER ARRAY: stack(0:200)
PROGRAM bprog
BOOLEAN: changed
INTEGER: pos
INTEGER ARRAY: list(1:10) := (1,9,2,8,3,7,4,6,5,0)
INISTACK stack
DO FALSE := changed
FOR pos IN 2:10 DO
IF list(pos-1) > list(pos) THEN
list(pos) :=: list(pos-1) :=: list(pos)
TRUE := change
ENDIF
ENDFOR
WHILE changed
ENDDO
FOR pos IN list DO
Output(1,'I3',list(pos))
ENDFOR
ENDROUTINE
ENDMODULE
Now you want to compile the program to see if everything works. Since it is quite probable that the program contains some errors, it is best to compile it without leaving LED. To do this, we need to open a new window. The simplest way of doing this is to split the current window in two.
First store the program on the file: press the home key, type write, press RETURN three times, and, press the home key again. Then Press F8 to enter window mode, move the cursor to where you want to divide the window, and press F5. LED clears the lower portion of the screen, and makes a new window. Then press the << key to move the cursor into it, and
Page 42¶
A Demonstration of LED¶
ND-60.266.2
press FUNC CTRL+@. LED logs in a new process in the window, you only have to provide the password:
┌────────────────────────────────┐
│ LED: Type your password: █ │
│ Region connected to a process │
│ Main │
│ WHILE changed │
│ ENDDO │
│ FOR pos IN list DO │
│ Output(1,'I3',list(pos)) │
│ ENDFOR │
│ ENROUTINE │
│ ENDMODULE │
│ │
│ W1 → │
│ W A I T *** U E - L O G I N *** │
│ UE user name: TOM JONES │
│ UE password: │
└────────────────────────────────┘
Planc
Page 43¶
A Demonstration of LED¶
ND-60.266.2
Type your password and terminate it with RETURN. Start the compiler as shown:
┌─────────────────────────────────────────────────────────────┐
│ W1 │
│ W A I T *** U E - L O G I N *** │
│ UE user name: TOM JONES │
│ UE password: │
│ EAGLE@planc-500 │
│ - ND-500 Planc Compiler - June 22, 1987 Version H │
│ *compile bubble,,, │
└─────────────────────────────────────────────────────────────┘
┌───────────────┐
│ Comm Planc │
└───────────────┘
Not unexpected, you get some error messages:
┌─────────────────────────────────────────────────────────────┐
│ W1 ⟵ │
│ *compile bubble,,, │
│ *FILE* (PACK-FIVE-6031:TOM-JONES)BUBBLE:PLNC;1 │
│ *ERROR* at BSORT.3 Expects ":" Illegal systax "BPROG │
│ *ERROR* at BPROG.5 Initial value illegal here "LIST" │
│ *ERROR* at BPROG.12 Illegal operand for store operator │
│ "CHANGE │
│ 22 Lines compiled. 3 Errors │
│ * │
└─────────────────────────────────────────────────────────────┘
┌───────────────┐
│ Comm Planc │
└───────────────┘
Press CTRL+@ to stop communicating with the process, and return to LED. Press SHIFT+EXECUTE, and the cursor goes directly to one of the faulty lines, while...
Page 44¶
A Demonstration of LED¶
LED Error Message¶
LED:
*ERROR* Initial value illegal here "LIST"
Main
MODULE bsort
INTEGER ARRAY: stack(0:200)
PROGRAM bprog
BOOLEAN: changed
INTEGER: pos
INTEGER ARRAY: list(1:10) := (1,9,2,8,3,7,4,6,5,0)
INISTACK stack
DO FALSE =: changed
FOR pos IN 2:10 DO
IF list(pos-1) > list(pos) THEN
list(pos) :=: list(pos-1) :=: list(pos)
TRUE =: change
Compilation Output¶
W1
*compile bubble,,,
*FILE* (PACK-FIVE-6031:TOM-JONES)BUBBLE:PLNC;1
*ERROR* at BUBBLEPROG.3 Expects ":" Illegal syntax "BUBBLEPROG
*ERROR* at BUBBLEPROG.6 Initial value illegal here "LIST"
*ERROR* at BUBBLEPROG.13 Illegal operand for store operator "C
22 Lines compiled. 3 Errors
Plan
Of course! Only global variables can be initialized at compile time, since local variables are allocated on the stack at runtime. The correction is simple: press the FIELD key to mark the line, move the cursor to the line with the PROGRAM declaration, and press MOVE.
Since it is annoying to see only a few lines of the program at a time, press the <> key. This increases the size of the current window so it fills the whole work area. The other window disappears.
Page 45¶
A Demonstration of LED¶
ND-60.266.2
Press the EXECUTE key to find the next error:
___________________________________________
| |
| LED: |
| *ERROR* Illegal operand for store |
| operator "CHANGE" |
| |
| Main |
| MODULE bsort |
| INTEGER ARRAY: stack(0:200) |
| INTEGER ARRAY: list(1:10) := |
| (1,9,2,8,3,7,4,6,5,0) |
| PROGRAM bprog |
| BOOLEAN: changed |
| INTEGER: pos |
| INISTACK stack |
| DO FALSE =: changed |
| FOR pos IN 2:10 DO |
| IF list(pos-1) > list(pos) THEN |
| list(pos) =:: list(pos-1) =: list(pos) |
| TRUE =: change |
| ENDIF |
| ENDFOR |
| WHILE changed |
| ENDDO |
| FOR pos IN list DO |
| Output(1,'I3',list(pos)) |
| ENDFOR |
| ENDRROUTINE |
| ENDMODULE |
|___________________________________________|
Planc
A simple misspelling this time. Add a d to the end of the line, and press EXECUTE again.
Page 46¶
A Demonstration of LED¶
ND-60.266.2¶
LED:
*ERROR* Expects ":" Illegal systax "MAIN"
Main
MODULE bsort
INTEGER ARRAY: stack(0:200)
INTEGER ARRAY: list(1:10) := (1,9,2,8,3,7,4,6,5,0)
PROGRAM bprog
BOOLEAN: changed
INTEGER: pos
INISTACK stack
DO FALSE =: changed
FOR pos IN 2:10 DO
IF list(pos-1) > list(pos) THEN
list(pos) =:: list(pos-1) =: list(pos)
TRUE =: change
ENDIF
ENDFOR
WHILE changed
ENDDO
FOR pos IN list DO
Output(1,'I3',list(pos))
ENDFOR
ENDROUTINE
ENDMODULE
Planc¶
A colon is missing after the word PROGRAM. Insert it, and press EXECUTE again. Now you get the message No warnings or errors.
Now you want to compile the program again. Go to the home position and save the file. To get back the hidden window where you ran the compiler, go to the work area again, and press the < key. Press << to move the cursor into it, and CTRL+@ to resume the communication with the process.
Page 47¶
A Demonstration of LED¶
ND-60.266.2
Press CTRL+D to repeat the last command given to the compiler:
W1 ⟵
22 Lines compiled. 3 Errors
*COMPILE BUBBLE...
44 Lines compiled. No diagnostics.
*
+-------------+
| Comm | Planc |
+-------------+
Page 48¶
CHAPTER 3:¶
Windows, regions and files¶
| Topic | Page |
|---|---|
| How to create a region | 47 |
| How to read files | 48 |
| How to write files | 51 |
| Printing out the code | 52 |
| How to move to another region | 53 |
| Manipulating the windows | 55 |
| Getting information about regions | 58 |
| Connecting a process | 59 |
Page 49¶
Windows, Regions and Files¶
ND-60.266.2
[The rest of the page appears to be heavily blank or illegible.]
Page 50¶
How to create a region¶
There are four ways to create a new region:
Method 1: MOVE-TO Home Command¶
Command:
LED:m "new-region"
One way of creating a new region is to use the MOVE-TO home command. Think of a name for the new region, and type it in double quotation marks after the command verb.
Method 2: READ-FILE or UPDATE-FILE Home Command¶
Command:
LED:r a-file "new-reg"
Another way is to use the READ-FILE or the UPDATE-FILE home command. These commands take two arguments: first the file to be read, and second the region that will contain the file. Give a new region name in double quotation marks, and it will be created before the file is read.
Variant:
LED:r a-file "*"
A useful variant of this is to specify the new region name as "*" (including the quotation marks). Then LED uses the file name (including the colon and file type) as the region name.
If you abbreviate the file name in the command this is not reflected in the region name. LED creates a region using the unabbreviated file name.
Method 3: READ-ALL-FILES Command¶
Command:
LED:r-a lst yes
The home command READ-ALL-FILES reads a list of files, and then reads each of the files named in the list into a separate region. Each region gets the same name as the file in it.
The first parameter of the command is the name of the file containing the list of files.
The second parameter is yes or no. Yes means that if some error condition arises, (e.g. a file in the list does not exist), no more files will be read.
Page 51¶
Windows, Regions and Files¶
The third way to create a new region is to use the window-mode commands. In this case, you also specify exactly where you want the window to appear on the screen.
Enter window mode by pressing F8. Move the cursor to any corner of the future window and press the MARK key. Move the cursor to the diagonally opposite corner, and press the MARK key again.
Using this method for creating a region, you cannot assign a name to it. LED will name it for you. The first region will be called "W1", the next "W2", and so on.
However, you can change a region's name afterwards, using the RENAME-REGION home command. This command takes the old region name as its first parameter, and the new name as its second.
Finally, you can also remove a region and its window altogether, with the DELETE-REGION home command. (Notice that this is not the same as the window-mode DELETE function-key command, which only hides a window by putting it at the bottom of the window stack.)
F8
+ MARK
+ navigate
+ MARK
= new region and window
LED: rename w1 Defs↵
LED: delete defs↵
How to Read Files¶
The home command READ-FILE reads a file into the active region, or into the region you specify after the file name.
LED: r file↵
LED: r file region↵
If you read a file into an empty region, that file's name becomes the default file name for that region. If you read a file into a non-empty region, LED asks whether the new file's name should become the
Page 52¶
Windows, Regions, and Files¶
LED Commands¶
LED:u file region↵¶
The home command UPDATE-FILE is similar to READ-FILE, but it grants you exclusive access to the file until you exit from LED.
LED:r file "region"↵¶
The specified region need not exist in advance. In this case, its name must be enclosed in double quotation marks.
If the region indicated already contains some text, LED will ask whether you want to clear it. If you answer no, LED will append the file's contents to the existing text.
LED:r file reg.102↵¶
You may append a period and a line number after the region name. Then LED will insert the contents of the file before the specified line. (If you specify a number greater than the number of the last line of the region, LED will ignore the number and just append the file's contents to the existing text.)
The line number may be specified through an arithmetic expression (see the section About numeric arguments on page 24). In particular, you can use region.. to have the file inserted before the current line.
LED:read-all lst yes↵¶
The home command READ-ALL-FILES reads a list of files, and then reads each of the files named in the list into a separate region. Each region gets the same name as the file.
The first argument to the command is the name of the file containing the list of files.
Page 53¶
Windows, Regions and Files¶
The second argument should be yes or no. Yes means that if some error condition arises, (e.g., a file in the list does not exist), no more files shall be read.
Default File Types¶
You need not specify the file type if it is one of the defaults listed in this table. If it is not, you must specify it.
| Language | 1st Default | 2nd Default |
|---|---|---|
| NONE | SYMB | |
| ADA | ADA | SYMB |
| C | C | SYMB |
| COBOL | COB | SYMB |
| FORTRAN | SYMB | FORT |
| PASCAL | PASC | SYMB |
| PLANC | PLNC | SYMB |
| SIMULA | SYMB | SIMU |
If you omit the file type, then LED will search for a file with a file type from the appropriate row in the table above. It checks first for a match against the first default, and then against the second default. If it finds a match with neither, an error will result.
Stopping the Reading¶
You can interrupt the reading of a file by pressing the CANCEL key. Then LED asks you whether you want to leave out the rest of the file or not. If you press N (for no), the reading is resumed. Otherwise it is cancelled. In the latter case, the text that was read before you pressed CANCEL is retained in the region. The region is marked as modified, since its contents are not identical with the contents of the file.
Notice that if you then write the contents of the region back to the file, the part that you did not read, is lost.
Page 54¶
How to write files¶
LED: write filename
The home command WRITE-FILE writes the contents of the currently active region to a file.
You can specify the name of the file as the first argument. Remember to put the file name in double quotation marks if you want to create a new file.
LED: ⏎⏎⏎
To use the default file name, omit the file name and press RETURN three times.
If you omit the file name, LED prompts for it. If you just press RETURN, LED fills in the default file name in the command line. Then you can edit it using the ordinary editing commands as described in the section Editing within a line, on page 83. Finish by pressing RETURN.
If you omit the file type, LED will use the file type in the column '1st default' in the table on page 50.
Writing a marked block
You can also choose to write only a part of the region to the file. Just mark a block containing the text you want to write to the file before you give the WRITE-FILE home command. LED will ask you: "Save only your marked area?(Y/N)" in case you forget that you marked an area.
(See the section Block operations on page 90 for how to mark a block.)
Page 55¶
Windows, Regions and Files¶
Restrictions¶
There are two restrictions on the rules given above for writing to files. Both apply only to writing to the default file of the main region. They are:
- You cannot write to the default file of the Main region from another region.
- You cannot write a marked block to the default file of the Main region.
Writing All Modified Files¶
The home command WRITE-MODIFIED-FILES asks you for each region that has been modified since the last read or write, if you want to write it to its default file. Only if a region has no default file name, LED asks you for a file name.
Stopping the Writing¶
You can interrupt the writing by pressing the CANCEL key. Then LED asks you if you want to abort the writing. If you answer N (for no), the writing is resumed.
Printing Out the Code¶
The home command PRETTY-PRINT makes a printout of the current region.
The command has two parameters: the name of the printer on which you want the printout, and whether you want line numbers printed or not. The second parameter is optional. If you leave it out, LED assumes you mean "no".
____
|PRINT|
|_____|
Pressing the PRINT key in the home position is equivalent to the home command pretty-print. Then LED prompts for the name of the printer.
Print a Marked Area¶
You can also get a printout of a part of the region, by making it a marked area (see Block operations, page 90.).
Page 56¶
Windows, Regions and Files¶
ND-60.266.2
Language Mode¶
If a language is selected, LED sets keywords in bold typeface, and the following in italics: character and string literals (- constants), comments, and compiler directives. If no language is selected, everything is printed in upright characters.
Elpho Printers Only¶
Currently LED can only print on Elpho printers. If you want a printout of a file, and if you do not have an Elpho printer, then you will have to use another program (e.g. PED or NOTIS-WP) for the printing.
How to Move to Another Region¶
Moving to a region implies making it the active region. This means both that you are allowed to modify its contents, and that its window becomes fully visible. The window of the previous active region may be partly or completely hidden by the new one.
-
LED:sh
If you do not remember the name of a region, use the SHOW-REGIONS home command.
- LED:m w3
-
LED:m main.24
The MOVE-TO home command can take a region name as its first argument. Appending a period and a line number to the region's name will scroll the text so that the named line becomes the uppermost line shown in the window. Note that the cursor remains in the home position after a MOVE-TO home command.
- LED:r file region
-
LED:u file region
Reading a file into a region takes you to that region.
Page 57¶
Windows, Regions and Files¶
When LED is in edit mode, you can move between regions which have windows which are not full-sized by pressing << or >>.
The function-keys << and >> take the previous or next reduced-size window respectively, and put it on top of the others. By next or previous is meant next or previous in the order of creation. The ordering is circular, so the first is also the next after the last, and vice versa.
| Return to | |
|---|---|
| Move the cursor to the position where it was the last time you pressed F3 or SHIFT+F3. A new visit mark is created at the current cursor position. |
Notice that the visit mark can be in another region, or in the same region.
Using Window Mode¶
Three ways of switching regions/windows by using the window mode:
-
F8 + DELETE = Region Switch
Enter window mode by pressing
F8, then press theDELETEkey. This takes the topmost window and puts it under all of the others in the window stack. The region corresponding to the new topmost window (after this operation) becomes the active region. -
F8 + Navigate + F8 = Region Switch
Enter window mode by pressing
F8. Move the cursor to the desired window, and pressF8again. (Remember that navigation keys work differently in window mode. Refer to page 69 for details.)
If you reduce the size of all windows you can arrive at a situation where some parts of the work area of the screen do not belong to any window. If this happens, you cannot exit window mode by pressing F8 with the cursor in this part of the work area.
Page 58¶
Windows, Regions, and Files¶
Window Mode¶
| Key | Function |
|---|---|
| F8 | + << |
| = Region Switch |
In window mode, << and >> allow you to rotate between all windows regardless of size.
If you have many regions, and you change between them often, a simple way of proceeding is to reduce each window to a small size, so that they all fit on the screen without overlapping each other. Then use the << and >> keys to move between them. When you arrive at the right window, press the <> key to blow it up to full size. When you want to change regions again, press >< to turn the window back to the small size.
Refer to the next section for commands for modifying the size of a window.
Manipulating the Windows¶
Window mode allows you to create, move and change the size and shape of windows, and to move between them.
You neither edit the text nor go to the home position when LED is in window mode. Even the home key has another function when in window mode. All window-mode commands except for navigation commands automatically take you out of window mode.
| Action | Key | Description |
|---|---|---|
| Enter window mode | F8 | To get into window mode, you must be in the work area and then press the F8 key. |
| Exit window mode | F8 | Pressing F8 again takes you out of window mode and back to edit mode. |
Page 59¶
Windows, Regions and Files¶
Navigation is Different¶
In window mode, navigation is different from in edit mode. In window mode, you can move the cursor over the entire work area, independent of the window boundaries. Some keys have an entirely different effect in each mode.
Single Steps¶
↑ ↓ ← →
Diagonal Steps¶
↖ ↘
Shifted: the same as unshifted, but move up one line instead of down.
Horizontal Steps¶
← →
Move to Upper Left¶
↖
Move to Beginning of Line¶
↓
Moving to Another Region/Window¶
F8
If you reduce the size of all windows, you can arrive at a situation where some parts of the work area of the screen do not belong to any window. If this happens, you cannot exit window mode by pressing F8 with the cursor in this part of the work area.
Page 60¶
Windows, Regions and Files¶
Navigation¶
[Diagram: Navigation keys]
[<<] [>>]
In window mode, the << and >> take you to the next or previous window (in order of creation) regardless of size (not only to the windows that have reduced size). These keys also exit window mode.
Creating a Window of Any Size¶
[MARK]
...
[MARK]
Move the cursor to any corner of the future window and press the MARK key. Move the cursor to the diagonally opposite corner, and press the MARK key again.
Using this method for creating a region, you cannot assign a name to it. LED will name it for you. The first region will be called "W1", the next "W2", and so on.
LED: rename w1 Defs
However, you can change a region's name afterwards, using the RENAME-REGION home command. This command takes the old region name as its first argument, and the new name as its second.
Splitting a Window in Two¶
[FS]
Splits the active window horizontally in two at the cursor line. The lower part becomes a new window.
Moving the Window¶
[MOVE]
Moves the active window. The cursor position becomes the new upper left-hand corner of the window. (The border lines will go one character position further up and to the left.) If the window does not fit between the cursor position and the borders of the screen, the window is only moved as far as is possible without changing its size.
Change Size and Shape¶
[!]
Changes the size and shape of the active window. The cursor position becomes the lower right-hand corner. (The border lines go one character position further down and to the right.)
Hiding a Window¶
[DELETE]
Puts the active window at the bottom of the window stack. The next window in the stack then becomes active.
Page 61¶
Windows, Regions and Files¶
Not in Window Mode¶
There are also two edit-mode commands that change the size of the current window.
| Action | Button | Description |
|---|---|---|
| Blowup size | The <> key blows the current window up to the maximum possible size. The blowup is temporary in the sense that LED remembers the window's original size and position. | |
| Original size | To reduce a window back to its original size, press the >< key. | |
| LED: delete defs | Finally, you can also remove a region and its window altogether, with the DELETE-REGION home command. (Notice that this is not the same as the window-mode DELETE function-key command.) |
Getting Information About Regions¶
LED: sh↵¶
Use the SHOW-REGIONS home command if you want to see a list of all the regions. The list includes the default file names, the number of lines in the region, and whether or not the text has been changed since the last time it was read or written.
+-------------------+
| LED: |
| |
| Region Lines Changed File-name |
| Main 20 No (PACK-ONE:TOM)PROG:SYMB|
| HelpWork 111 No |
| W1 5 No |
| ►TEST:SYMB 22 Yes (PACK-ONE:TOM)TEST:SYMB |
+-------------------+
The little arrow to the left indicates the active region.
Page 62¶
Windows, Regions and Files¶
LED: sh test
If you want more information on one of the regions, give its name as argument to the SHOW-REGIONS home command.
+--------------------------------------------+
| LED: |
| Region : -TEST:SYMB |
| Window size.(r1,c1):(r2,c2): (4,1):(14:41) |
| Current line : 5 |
| Last line : 22 |
| Changed : Yes |
| Marks.(r1,c1):(r2,c2) : No marked area |
| File name : (PACK-ONE:TOM)TEST:SYMB|
+--------------------------------------------+
Enable/disable position count CTRL + Z
LED can display the current column and line numbers next to the window name. You turn this feature on and off by pressing CTRL+Z.
LED will then update the position count every time you press an arrow key or move the cursor to another line.
LED will not update the position count while you are typing text.
Connecting a Process¶
LED allows you to log in to your computer from a window. This means that one of the windows behaves like an independent terminal. Then you can run other programs, like a compiler, the debugger, the linkage-loader etc. from this window.
Log in a Window¶
To do this, move the cursor into the region, then press FUNC CTRL+@. LED now logs in for you. Only the password of your UE-user is not available to LED, and hence.
Page 63¶
Windows, Regions and Files¶
Communication Mode¶
LED will ask you for it. When the logging in is done, you see a SINTRAN III prompt in the window.
Then a little box with the word "Comm" appears near the center of the status line. Whatever you now type on the keyboard is sent directly to the process. You can no longer give commands to LED, you can only communicate with the programs that you are running in the window.
Disconnect¶
____
|CTRL|
+----+
____
| @ |
+----+
The only thing that is not sent to the process, is CTRL+@. This is used to disconnect from the process. This does not mean that the process is terminated and your window logged out, it simply means that your keyboard input is not sent to the process. The keyboard is again connected to LED. But if the process produces terminal output, this output is appended to the region's previous contents.
Reconnect¶
____
|CTRL|
+----+
____
| @ |
+----+
Pressing CTRL+@ again in the window, resumes the communication.
You can disconnect and reconnect as often as you like.
While the window is disconnected, you can do everything with it that you can do with any other window. Thus you can save its contents to a file, you can print it out, you can edit it, copy parts of it to another region, etc.
Disconnect in Spite of Output¶
Notice that you can disconnect from a window while you are running a program, even if the program is producing output to the window. Thus you can initiate the compilation of one large program and then start editing another while the compilation goes on.
Page 64¶
Windows, Regions and Files¶
How to Log Out¶
It is not necessary to log out the processes explicitly. Just exit from LED the ordinary way, and LED will log out the processes automatically.
If you give the SINTRAN III command LOGOUT, then the window is still a terminal to the system, and you can log in again as usual, by simply pressing ESCAPE.
Several Processes¶
You can connect processes to as many windows as you like. The only limitation is the number of TADs (Terminal Access Devices) your configuration of SINTRAN III supports.
Page 65¶
Navigation¶
ND-60.266.2
Scanned by Jonny Oddene for Sintran Data © 2020
Page 66¶
CHAPTER 4:¶
Navigation¶
| Topic | Page |
|---|---|
| Navigation from home position | 65 |
| Navigation in edit mode | 67 |
| Navigation in window mode | 69 |
| Setting the tabulator stops | 69 |
| Hiding details: browsing | 71 |
| Searching for a string | 72 |
| Advanced searching | 75 |
| Locating compiler-flagged errors | 78 |
NOTE: This is a partial OCR extraction. The full document continues beyond this point with additional chapters covering navigation, editing, debugging, and appendices. The complete file contains 6246 lines of content covering all chapters and appendices of the LED User Guide.