spd - restrictions

The program designer currently imposes the following restrictions on Sculptor code:

  1. The program designer ignores all temporary fields located within function definitions. They are local to the function and not relevant to any declarations. They may be edited as part of the body text of the function, but are not treated as anything other than free text by the program designer.

  2. Objects such as temporary variables (!temp) and windows (+|-window) which are located in read-only files may be accessed but may not be modified.

  3. All include files whose name is specified within angled brackets, for example:

    !include <errors.h>
    

    are assumed to be read-only files and are subject to the restriction in (2) above. Specifying an include file within angled brackets means that the file is located in the Sculptor include subdirectory of the main Sculptor directory. These files are provided with the Sculptor system and are not intended for amendment by the user. See !include.

  4. Symbols defined by the !define construct may not be used in text processed by the program designer to specify more than a single item. In this context, the term “item” means anything that needs to be parsed into a value known to the designer. The following examples illustrate this:

    1. Valid. Two separate !define statements are used for the two co-ordinates of the window:

      !define WINX 12
      !define WINY 3
      
           +window Window2 at WINX, WINY {
           ...
           }
      
    2. Invalid. A single !define statement has been used for both co-ordinates. This form cannot be used:

      !define WINXY 12, 3
      
          +window Window2 at WINXY {
          ...
          }
      
  5. The designer only processes code segments within !ifdef and similar constructs if the !ifdef yields TRUE. It is therefore possible that compilation errors may be generated, or warnings announced, if the program is subsequently processed with a different setting of the controlling !define statements.

  6. It is generally recommended that all !define statements are defined in the source code before the program is loaded.

  7. The !ifdef, !ifndef, !else and !endifconstructs may not be used inside another definition, such as a +|-window or !record construct. However, constructs such as +|-window and !record may be included within a single !ifdef clause.

  8. Comments inside constructs processed by the designer are ignored. When the file(s) are saved, the comments are omitted. Comments outside constructs processed by the designer are left unchanged.

  9. All constructs processed by the program designer must be contained in a single file. Therefore, !include statements are not permitted inside such constructs.

  10. The program designer normally attempts to place the constructs !temp, +|-window and ![o]file in a suitable place, adjacent to other constructs of the same type. However, if such constructs are in read-only files, they are placed elsewhere.


RELATED TOPICS

The Sculptor program designer