.START

Control the listing of source code

WTSupported in traditional Synergy on Windows

 

USupported on UNIX
VSupported on OpenVMS
.START [COND|NOCOND] [LIST|NOLIST] [OFFSETS|NOOFFSETS] [PAGE|NOPAGE]
&      [SUMMARY|NOSUMMARY]

Arguments

COND | NOCOND

(optional) COND causes false conditional blocks of source code to be listed. NOCOND turns off listing false conditional blocks of code. COND is the default.

LIST | NOLIST

(optional) LIST turns the listing of source code on. NOLIST turns source code listing off. LIST is the default.

OFFSETS | NOOFFSETS

(optional) OFFSETS causes symbol table offsets, which specify all the referenced symbols for each routine, to be listed. NOOFFSETS turns off listing symbol table offsets. NOOFFSETS is the default.

PAGE | NOPAGE

(optional) PAGE starts a new page in a listing. NOPAGE turns off starting a new page in a listing. NOPAGE is the default.

SUMMARY | NOSUMMARY

(optional) SUMMARY turns the listing of a memory usage summary table on. NOSUMMARY turns the listing off. NOSUMMARY is the default.

Discussion

The .START compilation control directive, together with the .LIST and .NOLIST directives, control the listing of source code.

Specifying .START LIST increments the listing counter, which has an initial value of 0. Specifying .START NOLIST decrements the listing counter. Listing is enabled only if the counter is greater than or equal to 0 and listing has been enabled at the command line.

If listing is not enabled at the command line, the compiler ignores all .START directives. You can use listing options at the command line to override one or more of the .START listing options. See Building and Running Synergy Applications for more information about enabling listing at the command line.

Specifying .START without any options defaults to a page break, unless the .START is the first line on the page, in which case a new page is not generated. If any options are specified, the default is no page break. A .START line that turns listing on won’t appear in the listing.

See Appendix A: Traditional Synergy Compiler Listings for more information about the symbol table offsets and memory usage summary tables.

Examples

The following example assumes that listing has been enabled at the command line.

.start offsets summary                  ;Print the symbol table offsets and
                                        ; memory usage tables at the end of each
                                        ; routine. Don't generate a new page.
main main_proc
proc

    .
    .
    .
endmain
.start                                  ;Generate a new page.
subroutine sub
proc

    .
    .
    .
endsubroutine
.start nocond nooffsets                 ;Do not write code within false
                                        ; condition blocks to the listing file,
                                        ; generate symbol table offsets, or
                                        ; generate new page. Generate memory
                                        ; usage summary table.
function func
proc

    .
    .
    .
endfunction