Content deleted Content added
Peter Flass (talk | contribs) |
→Evolution: %THEN and %ELSE |
||
(4 intermediate revisions by 4 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=
<
%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:
<
do;
dcl Count00001 fixed bin (15);
Count00001 = filewrite(file_name, ptradd(addr(var_str), 2), min(length(var_str), 64));
end;
</syntaxhighlight>
==Evolution==
Line 129:
* <code>RETURN</code> in a compile-time procedure only.
* <code>%INCLUDE</code>
* <code>%IF</code> – the <code>%IF <var>compile_time_comparison</var> %THEN <var>unit</var> [%ELSE <var>unit</var>]</code> was restored.
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
|
}} Comparison of preprocessor features
|