The bottom portion of the window contains rows representing the visual representation of the code created via the instruction panels. All of the rows have an identical layout in order to make the code easier to read and understand. Each area of a visual code line will be described in detail below:
Label Area: The label icon indicates that this particular code line is identified by this label. This notation is used with the Compare & Branch panel that indicates which part of the program code to begin execution if the comparison of two operands is true. Each label uniquely identifies a particular line of code. This means that a label may only be used to mark one line of code. However, it is permissible to have many comparison operations that branch to this same line of code. Since there is no variability in the meaning of this area, there will be no pop-up information when the mouse pointer moves over this area and pauses.
Instruction Area: This is the icon representing the panel used to create this line of code. To further clarify its meaning, a text area appears below the instruction icon indicating its meaning. Since all of the information about the instruction is visible, there will be no pop-up information when the mouse pointer moves over this area and pauses.
Additional Source Operand Area: This area is only visible if the Compare & Branch instruction is used. The operand corresponds to the left operand in the Compare & Branch instruction. This operand, as all others, has an icon representing its type and structure. Below the icon is the text name of the operand. Below the text area is a line. This line has the purpose of indicating the restriction of this operand. If the restriction is literal or constant, then the line is solid. If the restriction is variable, then the line is dashed. Because the operand may represent a literal value whose name is not entirely visible from the text area below the icon, pop-up information will appear when the mouse pointer moves over this operand and pauses giving the first 15 characters of the literal value of the operand.
Function Icon Area: If an instruction panel contains a button panel, this indicates that many functions are available. As a result, seeing only the instruction panel icon is insufficient in indicating what this line of code is doing. So, whatever function button was pressed in the Math panel or Compare & Branch panel, it will appear in this area of the line of code. Since the icon is smaller than the instruction panel icon and the operand icon, there is no text that describes the meaning of the function icon. However, pop-up information containing the name of the icon will appear if the mouse moves over this icon.
Source Operand Area: Except in the case of the Section Comments panel and when the Branch Always function is selected from the Compare & Branch panel, this operand will always be present for all panels. This operand represents the source operand of the instruction. It has the same meaning and pop-up information abilites as described above with the Additional Source Operand Area. In the case of the Section Comments panel, all of the remaining area of the line of code to the right of the Function Icon Area will be occupied by a text area that displays the comments entered in this panel.
Triangle: The sole purpose of this shape is to indicate the direction of the data flow as indicated in the instruction panel diagrams. The operand(s) to the left of the triangle are the source operand(s), while the operand to the right of the triangle is the destination operand.
Destination Operand Area: This operand will always be present except in the case of the Section Comments panel (see Source Operand Area above for more information). Except when the Branch & Compare panel is used, this operand will always be a type other than Label. This operand has the same meaning and pop-up information abilities as described above with the Additional Source Operand Area.
Instruction Comments Area: This area will only appear if the programmer chose to include comments for this instruction. If comments were included, the comments icon will appear in this area. Moving the mouse pointer over the icon and pausing will display as much of the comments that can be fit into the small pop-up information text area. This icon will never appear if the Section Comments since the comments entered in this panel are already visible in another text area. For more information on this, please view the Source Operand Area section above.
Empty Background Area: This is the area around all of the other areas that is filled with a background color. The background color has significance to convey information. If the background is a shade of gray, the instruction is valid. If the background is a shade of blue, this indicates that the cursor is in this row. Additionally, if the editing mode is Code Insert Mode, a dark blue line will appear in the bottom part of the row. If the editing mode is Code Overwrite Mode, a dark blue border will appear around the row. For more information about editing modes, please read the section on Menu >> Edit. If there is an error, the background color of the row will be a shade of red. More about errors in the next few paragraphs below. If there is an error in a row and the cursor is also in the row, the background color will be a reddish-purple color. If the mouse pointer moves and pauses over this area, information will appear about this instruction. If there is no error, information will appear describing the instruction in an ordinary language. If there is an error, information about the error will appear as the pop-up information.
Most of the time, syntax errors will be eliminated because the panel will attempt to eliminate all of the invalid possibilities that could occur. Again, it should be noted that just because the programmer has a syntactically correct, it may be semantically invalid. This indicates that the reasoning of the instruction is wrong and will result in the incorrect result occurring or a runtime error occurring for trying to convert a character array that does not contain all digits to a number.
However, there is another case where previously valid instructions become invalid. This case occurs when modifying and deleting data objects using the Object Editor panel. Visually you can see this because the row will turn a shade of red (if the row cursor is in a line with an error, the color will be a purple, from the combination of the bluish cursor background and the dark red row error highlighting). Merely changing the name of the data object will very likely not cause an error with the affected instructions. If the properties of the data object are changed, such as changing the type to an integer instead of a character, an error will occur. If One way to remedy this problem is by editing the instructions having the errors or by deleting the instructions. Another way to fix the error is to define a new data object that has the properties of the modified data object and use this data object in the lines of the program having errors. The most important idea to remember is that there is no one way to correct errors in a program; try to find a method that best fits your situation. Once these errors are fixed, the rows will return to the normal background color of gray.