Content deleted Content added
m Bot: link syntax and minor changes |
→Evolution: %THEN and %ELSE |
||
(9 intermediate revisions by 7 users not shown) | |||
Line 68:
==Example==
The following example for IBM PL/I for OS/2 illustrates the use of a preprocessor procedure to implement a C-like write statement for PL/I.<ref>{{cite web|last=Sturm|first=Eberhard|title=UIO-Makros für Builtin-Funktionen fileread und filewrite|url=
<syntaxhighlight lang="rexx" line highlight="1,25,26">
%uwrite:
procedure keys (File, From, Count);
Line 96:
%end;
%act uwrite;
</syntaxhighlight>
The statement {{code|uwrite file(file_name) from(var_str) count(64);}} generates the following:
<syntaxhighlight lang="rexx">
do;
dcl Count00001 fixed bin (15);
Count00001 = filewrite(file_name, ptradd(addr(var_str), 2), min(length(var_str), 64));
end;
</syntaxhighlight>
==Evolution==
Line 111:
* <code>%<var>assignment</var></code>
* <code>%<var>null statement</var></code>
* <code>%IF <var>compile_time_comparison</var> THEN <var>unit</var> [ELSE <var>unit</var>]</code> – this causes one or the other <var>unit</var> to be included in the source.
* <code>%GOTO</code>
Line 120:
* <code>%<var>assignment</var></code>
* <code>%<var>null statement</var></code>
* <code>%IF <var>compile_time_comparison</var> THEN GOTO <var>label</var></code> – No <code>ELSE</code> clause was defined.
* <code>%GOTO</code>
Line 129:
* <code>RETURN</code> in a compile-time procedure only.
* <code>%INCLUDE</code>
* <code>
A single compile-time builtin, <code>SUBSTR</code>, was added.
Also in 1966 Robert Rosin published a pair of articles<ref>{{cite journal|last=Rosin|first=Robert|title=PL/I Macro Processor - Progress Report|journal=PL/I Bulletin|date=August 1966|issue=2|url=http://www.iron-spring.com/PLI_Bulletins/PLI_Bulletin_2.pdf|
==See also==
Line 143:
==External links==
*{{cite web
|url = http://publibfp.boulder.ibm.com/
|title = Enterprise PL/I Language Reference (SC27-1460-09): Chapter 21. Preprocessor Facilities
|author = IBM Corporation
|date = October 2009
|
}}
Line 155:
|author = Micro Focus International plc
|year = 2011
|
}}
Line 163:
|author = Kednos Enterprises
|year = 2007
|
}}
Line 171:
|author = Peter Flass
| year = 2010
|access-date = 2017-12-06
}} Comparison of preprocessor features
|