Please enable JavaScript to view this site.

A-Shell Development History

Navigation: Version 6.1/6.2, builds 1300-1428 > 1381 – 29 March 2014

Compiler Statements IFLBL, IFNLBL, ELIFLBL

Scroll Prev Top Next More

Compiler enhancement (edit 655): new conditional compilation statements:

++IFLBL label

++IFNLBL label

++ELIFLBL label

These are analogous to the existing ++IFDEF, ++IFNDEF, and ++ELIFDEF statements, as well as ++IFMAP, ++IFNMAP and ++ELIFMAP, except that instead of referring to defined symbols or mapped variables, they refer to labels—used by GOTO and GOSUB—as well as procedure and function names. Note however that when the specified label is meant to refer to a function or procedure name, it must be terminated by an empty pair of parentheses. For example:

++IFLBL MAIN

    ++MESSAGE The label MAIN is defined

++ELIFLBL MAIN()

    ++MESSAGE The procedure MAIN() is defined

++ELIF fn'main()

    ++MESSAGE The function fn'main() is defined

++ENDIF

 

Also note that labels, like variable names, are case sensitive, unless you compile with the /CI switch.