.NOPROTO‑.PROTO

Turn prototype generation off and on

WTSupported in traditional Synergy on Windows

 

USupported on UNIX
VSupported on OpenVMS
.NOPROTO
    .
    .
    .
[.PROTO]

Discussion

The .NOPROTO compiler directive turns off prototype generation for a block of source code in a program, and the .PROTO compiler directive turns it back on.

If you specify .NOPROTO in your source file, the Synergy prototype utility (dblproto) ignores the section of code from that point on, to either the matching .PROTO directive or the end of the source file, whichever comes first. All code after the matching .PROTO is processed as normal.

Important

When the Synergy prototype utility is running, the parser does not see the code in a .NOPROTO‑.PROTO block, as if you had specified the compiler directives .IF 0 and .ENDC. Definitions or declarations within a .NOPROTO block are also not included. As a result, code that compiles correctly with the Synergy compiler may not compile when the Synergy prototype utility is run against it. If this happens, make sure the .NOPROTO section does not contain code that is needed in the .PROTO section.

We do not recommend using .NOPROTO‑.PROTO around a class specification.

.PROTO cannot be specified without a matching .NOPROTO.

Examples

The example below creates a prototype for sub2 but not for sub1.

.noproto
subroutine sub1
proc
    xreturn
end
.proto
subroutine sub2
proc
    xreturn
end