/* Copyright (c) 1995 by R. A. Vowels, from "Introduction to PL/I, Algorithms, and */ /* Structured Programming". Permission is given to reproduce and to use these procedures */ /* as part of a program, and to include them as part of a larger work to be sold for profit. */ /* However, the user is not permitted to sell the procedures separately. Provided always */ /* that these procedures and this copyright notice are reproduced in full. */ %DECLARE (UNSIGNED, SIGNED) CHARACTER; %UNSIGNED = 'BINARY';; %SIGNED = 'BINARY';; /* This macro implements the SUBTRACT built-in function. */ /* Four possibilities are taken, even though the first two are */ /* illegal. This is to allow syntactically correct code to be */ /* generated, which will be diagnosed by the compiler with a message */ /* about using the wrong number of arguments. */ %SUBTRACT: PROCEDURE (A, B, P, Q) RETURNS (CHARACTER); DECLARE (A, B, P, Q) CHARACTER; IF B = '' THEN DO; NOTE ( 'The SUBTRACT built-in function requires at least 3 arguments', 8); RETURN ('ADD(' || A || ')' ); END; ELSE IF P = '' THEN DO; NOTE ( 'The SUBTRACT built-in function requires at least 3 arguments', 8); RETURN ('ADD(' || A || ', -' || B || ', 15)'); END; ELSE IF Q = ' ' THEN RETURN ('ADD(' || A || ', -' || B || ', ' || P || ')'); ELSE RETURN ('ADD(' || A || ', -' || B || ', ' || P || ', ' || Q || ')'); %END SUBTRACT; %ACTIVATE SUBTRACT;; %DIMENSION: PROCEDURE (A, B, C) RETURNS (CHARACTER); DECLARE (A, B, C) CHARACTER; IF B = '' THEN RETURN ('DIM(' || A || ', 1)' ); ELSE IF C = '' THEN RETURN ('DIM(' || A || ', ' || B || ')' ); ELSE NOTE ('The DIMENSION built-in function must have 1 or 2 arguments.', 8); %END DIMENSION; %ACTIVATE DIMENSION;; /* This macro procedure will un-implement the built-in function */ /* SOURCELINE. It is required for a program developed on */ /* PL/I for OS/2, and run on other systems that do not have the */ /* function, or vice-versa. */ %SOURCELINE: PROCEDURE (L) RETURNS (CHARACTER); DECLARE L FIXED; RETURN ('0'); %END SOURCELINE; %ACTIVATE SOURCELINE;; /* This macro procedure will un-implement the built-in function */ /* PROCEDURENAME. It is required for a program developed on */ /* PL/I for OS/2, and run on other systems that do not have the */ /* function, or vice-versa. */ %PROCEDURENAME: PROCEDURE (L) RETURNS (CHARACTER); DECLARE L FIXED; RETURN (' null '); %END PROCEDURENAME; %ACTIVATE PROCEDURENAME;;
{"ft_lang_label":"__label__en","ft_lang_prob":0.77298445,"math_prob":0.5995462,"size":2406,"snap":"2019-13-2019-22","text_gpt3_token_len":652,"char_repetition_ratio":0.12697752,"word_repetition_ratio":0.34642032,"special_character_ratio":0.34538653,"punctuation_ratio":0.1904762,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.96353614,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2019-03-21T01:20:59Z\",\"WARC-Record-ID\":\"<urn:uuid:b9b06e2c-a84f-49ed-a444-97ea10d18c40>\",\"Content-Length\":\"3950\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:53b2cc60-2955-4646-9f45-87fc02ed6ca0>\",\"WARC-Concurrent-To\":\"<urn:uuid:6f6a1c47-bcbc-4985-a6ed-a5c241c6b915>\",\"WARC-IP-Address\":\"202.136.40.160\",\"WARC-Target-URI\":\"http://members.dodo.com.au/~robin51/subtract.htm\",\"WARC-Payload-Digest\":\"sha1:QGWUGCPM5QJNE3DFBQZEL3Z5HZBOZ7WF\",\"WARC-Block-Digest\":\"sha1:ROEFJIDOWJNMN2QKHR5X5R7AHUD36WUM\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2019/CC-MAIN-2019-13/CC-MAIN-2019-13_segments_1552912202476.48_warc_CC-MAIN-20190321010720-20190321032720-00466.warc.gz\"}"}