lib/create_standard_function_txt.sh
author Laurent Bessard
Thu, 08 Nov 2012 12:10:52 +0100
changeset 704 1adc8df05d2b
parent 501 19bc099215d8
child 705 f2323f79252e
permissions -rwxr-xr-x
Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
351
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     1
#!/bin/sh 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     2
#
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     3
# copyright 2011 Mario de Sousa (msousa@fe.up.pt)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     4
#
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     5
# Offered to the public under the terms of the GNU Lesser General Public
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     6
# License as published by the Free Software Foundation; either version 2
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     7
# of the License, or (at your option) any later version.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     8
#
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     9
# This program is distributed in the hope that it will be useful, but
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    10
# WITHOUT ANY WARRANTY; without even the implied warranty of
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    12
# General Public License for more details.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    13
#
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    14
# This code is made available on the understanding that it will not be
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    15
# used in safety-critical situations without a full and competent review.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    16
#
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    17
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    18
echo "(************************************************)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    19
echo "(************************************************)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    20
echo "(***                                          ***)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    21
echo "(***    The IEC 61131-3 standard functions    ***)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    22
echo "(***                                          ***)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    23
echo "(***    Auto-generated file. Do not edit!     ***)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    24
echo "(***                                          ***)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    25
echo "(************************************************)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    26
echo "(************************************************)"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    27
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    28
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    29
echo "{disable code generation}"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    30
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    31
# Lets parse this file with the C pre-processor!
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    32
#cpp <<"END" | sed "s/ FUNCTION/\nFUNCTION/g" | grep -v '#'
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    33
# We usee gcc -E instead, as it seems cpp on OSX works differently! However, it needs an input file parameter...
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    34
#gcc -E <<"END" | sed "s/ FUNCTION/\nFUNCTION/g" | grep -v '#'
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    35
cpp <<"END" | sed "s/ FUNCTION/\nFUNCTION/g" | grep -v '#'
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    36
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    37
#define __DEFINE_CLASHING_FUNCTIONS 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    38
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    39
/* Macro that expand to subtypes */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    40
#define __ANY(DO)                 __ANY_DERIVED(DO) __ANY_ELEMENTARY(DO)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    41
#define __ANY_DERIVED(DO)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    42
#define __ANY_ELEMENTARY(DO)      __ANY_MAGNITUDE(DO) __ANY_BIT(DO) __ANY_STRING(DO) __ANY_DATE(DO)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    43
#define __ANY_MAGNITUDE(DO)       __ANY_NUM(DO) DO(TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    44
#define __ANY_BIT(DO)             __ANY_NBIT(DO) DO(BOOL)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    45
#define __ANY_NBIT(DO)            DO(BYTE) DO(WORD) DO(DWORD) DO(LWORD)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    46
#define __ANY_STRING(DO)          DO(STRING)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    47
#define __ANY_DATE(DO)            DO(DATE) DO(TOD) DO(DT)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    48
#define __ANY_NUM(DO)             __ANY_REAL(DO) __ANY_INT(DO)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    49
#define __ANY_REAL(DO)            DO(REAL) DO(LREAL)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    50
#define __ANY_INT(DO)             __ANY_SINT(DO) __ANY_UINT(DO)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    51
#define __ANY_SINT(DO)            DO(SINT) DO(INT) DO(DINT) DO(LINT)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    52
#define __ANY_UINT(DO)            DO(USINT) DO(UINT) DO(UDINT) DO(ULINT)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    53
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    54
#define __ANY_1(DO,P1)            __ANY_DERIVED_1(DO,P1) __ANY_ELEMENTARY_1(DO,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    55
#define __ANY_DERIVED_1(DO,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    56
#define __ANY_ELEMENTARY_1(DO,P1) __ANY_MAGNITUDE_1(DO,P1) __ANY_BIT_1(DO,P1) __ANY_STRING_1(DO,P1) __ANY_DATE_1(DO,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    57
#define __ANY_MAGNITUDE_1(DO,P1)  __ANY_NUM_1(DO,P1) DO(TIME,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    58
#define __ANY_BIT_1(DO,P1)        __ANY_NBIT_1(DO,P1) DO(BOOL,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    59
#define __ANY_NBIT_1(DO,P1)       DO(BYTE,P1) DO(WORD,P1) DO(DWORD,P1) DO(LWORD,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    60
#define __ANY_STRING_1(DO,P1)     DO(STRING,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    61
#define __ANY_DATE_1(DO,P1)       DO(DATE,P1) DO(TOD,P1) DO(DT,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    62
#define __ANY_NUM_1(DO,P1)        __ANY_REAL_1(DO,P1) __ANY_INT_1(DO,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    63
#define __ANY_REAL_1(DO,P1)       DO(REAL,P1) DO(LREAL,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    64
#define __ANY_INT_1(DO,P1)        __ANY_SINT_1(DO,P1) __ANY_UINT_1(DO,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    65
#define __ANY_SINT_1(DO,P1)       DO(SINT,P1) DO(INT,P1) DO(DINT,P1) DO(LINT,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    66
#define __ANY_UINT_1(DO,P1)       DO(USINT,P1) DO(UINT,P1) DO(UDINT,P1) DO(ULINT,P1)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    67
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    68
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    69
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    70
/*****************************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    71
/*****************************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    72
/*****                                                       *****/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    73
/*****                 IEC 61131-3                           *****/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    74
/*****      S T A N D A R D     F U N C T I O N S            *****/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    75
/*****                                                       *****/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    76
/*****************************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    77
/*****************************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    78
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    79
/* NOTE: We only define and declare the explicitly typed standard functions
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    80
 *       (e.g., SIN_REAL, SIN_LREAL, ..., ADD_SINT, ADD_INT, ADD_LINT, ...)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    81
 *       We do not declare/define the overloaded functions
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    82
 *       (SIN, ADD, ...). 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    83
 *       When handling a call to an overloaded function, the iec2c compiler 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    84
 *       will determine in stage3 the data type of the parameter being passed, 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    85
 *       and in stage4 generate the C code to call the correct
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    86
 *       typed standard function.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    87
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    88
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    89
/* NOTE on explicit typing of:
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    90
 *           - Table 25 - Standard bit shift functions
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    91
 *           - Table 29 - Character string Functions
385
450d684013dc Adding a line to a comment. Does not change any code.
Mario de Sousa <msousa@fe.up.pt>
parents: 375
diff changeset
    92
 *           - Table 27 - Standard selection functions (actually, just the MUX function)
351
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    93
 *
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    94
 *  In section 2.5.1.4 (Typing, overloading, and type conversion) of the IEC 61131-3 (version 2)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    95
 *  of the standard, it is stated:
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    96
 * "A standard function, [...] is said to be overloaded when it
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    97
 * can operate on input data elements of various types within a generic type designator as defined in
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    98
 * 2.3.2. For instance, an overloaded addition function on generic type ANY_NUM can operate on data
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    99
 * of types LREAL, REAL, DINT, INT, and SINT."
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   100
 * [...]
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   101
 * "When a function which normally represents an overloaded operator is to be typed, i.e., the types
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   102
 * of its inputs and outputs restricted to a particular elementary or derived data type as defined in
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   103
 * 2.3, this shall be done by appending an "underline" character followed by the required type, as
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   104
 * shown in table 21."
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   105
 *
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   106
 * However, this explanation (as well as the example in table 21) only refers to functions where the same
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   107
 * generic data type is used for the single input and the output parameter.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   108
 * How can we create explicitly types functions when this is not the case?
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   109
 * It does not seem to be covered by the standard.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   110
 *
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   111
 * For this reason, we do not define the LEN_SINT, LEN_INT, LEN_STRING, LEN_[ANY_INT], LEN_[ANY_STRING] functions...
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   112
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   113
 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   114
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   115
/*****************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   116
/*****************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   117
/*  2.5.1.5.1 Type Conversion Functions  */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   118
/*****************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   119
/*****************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   120
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   121
/* macros for non-extensible functions */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   122
#define __function_1p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   123
FUNCTION fname : to_TYPENAME\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   124
  VAR_INPUT p1_NAME : p1_TYPENAME; END_VAR\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   125
  RETURN; \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   126
END_FUNCTION\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   127
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   128
#define __function_2p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   129
FUNCTION fname : to_TYPENAME\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   130
  VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME : p2_TYPENAME; END_VAR\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   131
  RETURN; \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   132
END_FUNCTION\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   133
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   134
#define __function_3p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME,p3_NAME,p3_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   135
FUNCTION fname : to_TYPENAME\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   136
  VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME : p2_TYPENAME; p3_NAME : p3_TYPENAME; END_VAR\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   137
  RETURN; \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   138
END_FUNCTION\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   139
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   140
#define __function_4p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME,p3_NAME,p3_TYPENAME,p4_NAME,p4_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   141
FUNCTION fname : to_TYPENAME\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   142
  VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME : p2_TYPENAME; p3_NAME : p3_TYPENAME; p4_NAME : p4_TYPENAME; END_VAR\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   143
  RETURN; \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   144
END_FUNCTION\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   145
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   146
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   147
/* macro for extensible functions */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   148
#define __function_1e(fname,to_TYPENAME,p1_NAME,p1_TYPENAME, FIRST_INDEX) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   149
FUNCTION fname : to_TYPENAME\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   150
  VAR_INPUT p1_NAME FIRST_INDEX .. : p1_TYPENAME; END_VAR\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   151
  RETURN; \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   152
END_FUNCTION\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   153
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   154
#define __function_2e(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME, FIRST_INDEX) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   155
FUNCTION fname : to_TYPENAME\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   156
  VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME FIRST_INDEX .. : p2_TYPENAME; END_VAR\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   157
  RETURN; \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   158
END_FUNCTION\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   159
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   160
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   161
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   162
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   163
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   164
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   165
#define __to_anynum_(from_TYPENAME)   __ANY_NUM_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   166
#define __to_anyint_(from_TYPENAME)   __ANY_INT_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   167
#define __to_anybit_(from_TYPENAME)   __ANY_BIT_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   168
#define __to_anynbit_(from_TYPENAME) __ANY_NBIT_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   169
#define __to_anysint_(from_TYPENAME) __ANY_SINT_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   170
#define __to_anyuint_(from_TYPENAME) __ANY_UINT_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   171
#define __to_anyreal_(from_TYPENAME) __ANY_REAL_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   172
#define __to_anydate_(from_TYPENAME) __ANY_DATE_1(__iec_,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   173
#define __to_time_(from_TYPENAME)    __iec_(TIME,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   174
#define __to_string_(from_TYPENAME)  __iec_(STRING,from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   175
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   176
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   177
/*****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   178
/*   *_TO_**     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   179
/*****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   180
#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(from_TYPENAME##_TO_##to_TYPENAME, to_TYPENAME, IN, from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   181
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   182
/******** [ANY_BIT]_TO_[ANY_NUM | ANY_BIT]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   183
__ANY_BIT(__to_anynum_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   184
__ANY_BIT(__to_anybit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   185
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   186
/******** [ANY_NUM]_TO_[ANY_NUM | ANY_BIT]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   187
__ANY_NUM(__to_anynum_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   188
__ANY_NUM(__to_anybit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   189
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   190
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   191
/******** [ANY_BIT | ANY_NUM]_TO_[TIME | ANY_DATE]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   192
__ANY_BIT(__to_time_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   193
__ANY_NUM(__to_time_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   194
__ANY_BIT(__to_anydate_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   195
__ANY_NUM(__to_anydate_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   196
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   197
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   198
/******** [TIME | ANY_DATE]_TO_[ANY_BIT | ANY_NUM]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   199
__to_anynum_(TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   200
__to_anybit_(TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   201
__ANY_DATE(__to_anynum_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   202
__ANY_DATE(__to_anybit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   203
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   204
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   205
/******** [ANY_DATE]_TO_[ANY_DATE | TIME]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   206
/* Not supported: DT_TO_TIME */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   207
/*__iec_(to_TYPENAME,from_TYPENAME)*/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   208
__iec_(DATE,DT)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   209
__iec_(DT,DT)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   210
__iec_(TOD,DT)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   211
/* Not supported: DATE_TO_TIME */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   212
__iec_(DATE,DATE)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   213
/* Not supported: DATE_TO_DT */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   214
/* Not supported: DATE_TO_TOD */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   215
/* Not supported: TOD_TO_TIME */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   216
/* Not supported: TOD_TO_DATE */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   217
/* Not supported: TOD_TO_DT */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   218
__iec_(TOD,TOD)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   219
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   220
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   221
/******** TIME_TO_[ANY_DATE]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   222
/* Not supported: TIME_TO_DATE */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   223
/* Not supported: TIME_TO_DT */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   224
/* Not supported: TIME_TO_TOD */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   225
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   226
/******** TIME_TO_TIME   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   227
__iec_(TIME,TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   228
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   229
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   230
/******** [ANY_BIT]_TO_STRING   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   231
__ANY_BIT(__to_string_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   232
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   233
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   234
/******** [ANY_NUM]_TO_STRING   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   235
__ANY_NUM(__to_string_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   236
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   237
/******** [ANY_DATE]_TO_STRING   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   238
__ANY_DATE(__to_string_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   239
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   240
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   241
/******** TIME_TO_STRING   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   242
__iec_(STRING,TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   243
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   244
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   245
/******** STRING_TO_[ANY_BIT]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   246
__to_anybit_(STRING)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   247
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   248
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   249
/******** STRING_TO_[ANY_NUM]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   250
__to_anynum_(STRING)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   251
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   252
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   253
/******** STRING_TO_[ANY_DATE]   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   254
__to_anydate_(STRING)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   255
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   256
                                   
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   257
/******** STRING_TO_TIME   ************/ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   258
__iec_(TIME,STRING)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   259
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   260
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   261
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   262
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   263
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   264
/**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   265
/*   TRUNC    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   266
/**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   267
/* overloaded function! */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   268
#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(TRUNC, to_TYPENAME, IN, from_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   269
__ANY_REAL(__to_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   270
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   271
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   272
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   273
/*******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   274
/*   *_TO_BCD_*    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   275
/*******************/
704
1adc8df05d2b Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
Laurent Bessard
parents: 501
diff changeset
   276
#define __iec_(to_TYPENAME,from_TYPENAME)\
1adc8df05d2b Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
Laurent Bessard
parents: 501
diff changeset
   277
__function_1p(from_TYPENAME##_TO_BCD_##to_TYPENAME, to_TYPENAME, IN, from_TYPENAME)  /* explicitly typed function */\
1adc8df05d2b Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
Laurent Bessard
parents: 501
diff changeset
   278
__function_1p(from_TYPENAME##_TO_BCD, to_TYPENAME, IN, from_TYPENAME)                /* overloaded function */ 
351
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   279
__ANY_UINT(__to_anynbit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   280
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   281
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   282
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   283
/*******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   284
/*   *_BCD_TO_*    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   285
/*******************/
704
1adc8df05d2b Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
Laurent Bessard
parents: 501
diff changeset
   286
#define __iec_(to_TYPENAME,from_TYPENAME)\
1adc8df05d2b Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
Laurent Bessard
parents: 501
diff changeset
   287
__function_1p(from_TYPENAME##_BCD_TO_##to_TYPENAME, to_TYPENAME, IN, from_TYPENAME)  /* explicitly typed function */\
1adc8df05d2b Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
Laurent Bessard
parents: 501
diff changeset
   288
__function_1p(BCD_TO_##to_TYPENAME, to_TYPENAME, IN, from_TYPENAME)                  /* overloaded function */ 
1adc8df05d2b Fix definition of BCD to ANY_UINT and ANY_UINT to BCD conversion standard functions
Laurent Bessard
parents: 501
diff changeset
   289
351
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   290
__ANY_NBIT(__to_anyuint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   291
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   292
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   293
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   294
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   295
/*  2.5.1.5.2 Numerical Functions  */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   296
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   297
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   298
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   299
/******************************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   300
/***   Table 23 - Standard functions of one numeric variable    ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   301
/******************************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   302
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   303
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   304
  /*    ABS     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   305
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   306
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   307
__function_1p(ABS_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   308
__function_1p(ABS, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   309
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   310
__ANY_INT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   311
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   312
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   313
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   314
  /*    SQRT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   315
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   316
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   317
__function_1p(SQRT_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   318
__function_1p(SQRT, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   319
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   320
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   321
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   322
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   323
  /*     LN     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   324
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   325
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   326
__function_1p(LN_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   327
__function_1p(LN, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   328
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   329
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   330
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   331
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   332
  /*     LOG    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   333
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   334
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   335
__function_1p(LOG_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   336
__function_1p(LOG, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   337
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   338
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   339
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   340
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   341
  /*     EXP    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   342
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   343
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   344
__function_1p(EXP_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   345
__function_1p(EXP, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   346
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   347
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   348
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   349
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   350
  /*     SIN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   351
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   352
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   353
__function_1p(SIN_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   354
__function_1p(SIN, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   355
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   356
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   357
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   358
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   359
  /*     COS    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   360
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   361
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   362
__function_1p(COS_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   363
__function_1p(COS, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   364
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   365
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   366
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   367
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   368
  /*     TAN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   369
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   370
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   371
__function_1p(TAN_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   372
__function_1p(TAN, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   373
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   374
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   375
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   376
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   377
  /*    ASIN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   378
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   379
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   380
__function_1p(ASIN_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   381
__function_1p(ASIN, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   382
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   383
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   384
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   385
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   386
  /*    ACOS    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   387
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   388
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   389
__function_1p(ACOS_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   390
__function_1p(ACOS, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   391
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   392
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   393
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   394
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   395
  /*    ATAN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   396
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   397
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   398
__function_1p(ATAN_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   399
__function_1p(ATAN, TYPENAME, IN, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   400
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   401
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   402
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   403
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   404
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   405
/*****************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   406
/***   Table 24 - Standard arithmetic functions    ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   407
/*****************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   408
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   409
#define __arith_expand(fname,TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   410
__function_1e(fname##_##TYPENAME, TYPENAME, IN, TYPENAME, 1)     /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   411
__function_1e(fname, TYPENAME, IN, TYPENAME, 1)                  /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   412
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   413
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   414
#define __arith_static(fname,TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   415
__function_1p(fname##_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   416
__function_1p(fname, TYPENAME, IN, TYPENAME)               /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   417
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   418
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   419
  /*     ADD    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   420
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   421
#define __iec_(TYPENAME) __arith_expand(ADD, TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   422
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   423
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   424
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   425
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   426
  /*     MUL    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   427
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   428
#define __iec_(TYPENAME) __arith_expand(MUL, TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   429
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   430
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   431
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   432
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   433
  /*     SUB    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   434
  /**************/
391
4798bd4739d0 Fixing bug in all SUB function definitions in standard_functions.txt
laurent
parents: 385
diff changeset
   435
#define __iec_(TYPENAME)\
4798bd4739d0 Fixing bug in all SUB function definitions in standard_functions.txt
laurent
parents: 385
diff changeset
   436
__function_2p(SUB_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)  /* explicitly typed function */\
4798bd4739d0 Fixing bug in all SUB function definitions in standard_functions.txt
laurent
parents: 385
diff changeset
   437
__function_2p(SUB, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)             /* overloaded function */ 
351
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   438
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   439
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   440
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   441
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   442
  /*     DIV    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   443
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   444
#define __iec_(TYPENAME)\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   445
__function_2p(DIV_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   446
__function_2p(DIV, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   447
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   448
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   449
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   450
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   451
  /*     MOD    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   452
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   453
#ifdef __DEFINE_CLASHING_FUNCTIONS  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   454
#define __iec_(TYPENAME)\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   455
__function_2p(MOD_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)  /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   456
__function_2p(MOD, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   457
__ANY_INT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   458
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   459
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   460
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   461
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   462
  /*    EXPT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   463
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   464
#define __in1_anyreal_(in2_TYPENAME)   __ANY_REAL_1(__iec_,in2_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   465
#define __iec_(in1_TYPENAME,in2_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   466
__function_2p(EXPT, in1_TYPENAME, IN1, in1_TYPENAME, IN2, in2_TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   467
__ANY_NUM(__in1_anyreal_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   468
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   469
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   470
  /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   471
  /*     MOVE    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   472
  /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   473
#define __iec_(TYPENAME) __arith_static(MOVE, TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   474
__ANY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   475
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   476
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   477
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   478
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   479
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   480
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   481
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   482
/*  2.5.1.5.3 Bit String Functions */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   483
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   484
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   485
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   486
/****************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   487
/***   Table 25 - Standard bit shift functions    ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   488
/****************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   489
/* We do not delcare explcitly typed versions of the functions in table 29.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   490
 * See note at top of this file regarding explicitly typed functions for more details.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   491
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   492
#define __in1_anybit_(in2_TYPENAME)   __ANY_BIT_1(__iec_,in2_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   493
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   494
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   495
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   496
  /*     SHL    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   497
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   498
#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(SHL, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   499
__ANY_INT(__in1_anybit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   500
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   501
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   502
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   503
  /*     SHR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   504
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   505
#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(SHR, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   506
__ANY_INT(__in1_anybit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   507
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   508
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   509
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   510
  /*     ROR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   511
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   512
#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(ROR, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   513
__ANY_INT(__in1_anybit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   514
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   515
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   516
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   517
  /*     ROL    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   518
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   519
#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(ROL, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME)             /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   520
__ANY_INT(__in1_anybit_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   521
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   522
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   523
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   524
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   525
/*********************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   526
/***   Table 26    ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   527
/*********************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   528
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   529
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   530
  /*     AND    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   531
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   532
#ifdef __DEFINE_CLASHING_FUNCTIONS  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   533
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   534
__function_1e(AND, TYPENAME, IN, TYPENAME, 1)                /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   535
__function_1e(AND_##TYPENAME, TYPENAME, IN, TYPENAME, 1)     /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   536
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   537
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   538
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   539
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   540
  /*************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   541
  /*     OR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   542
  /*************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   543
#ifdef __DEFINE_CLASHING_FUNCTIONS  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   544
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   545
__function_1e(OR, TYPENAME, IN, TYPENAME, 1)                /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   546
__function_1e(OR_##TYPENAME, TYPENAME, IN, TYPENAME, 1)     /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   547
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   548
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   549
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   550
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   551
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   552
  /*     XOR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   553
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   554
#ifdef __DEFINE_CLASHING_FUNCTIONS  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   555
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   556
__function_1e(XOR, TYPENAME, IN, TYPENAME, 1)                /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   557
__function_1e(XOR_##TYPENAME, TYPENAME, IN, TYPENAME, 1)     /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   558
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   559
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   560
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   561
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   562
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   563
  /*     NOT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   564
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   565
#ifdef __DEFINE_CLASHING_FUNCTIONS  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   566
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   567
__function_1p(NOT, TYPENAME, IN, TYPENAME)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   568
__function_1p(NOT_##TYPENAME, TYPENAME, IN, TYPENAME)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   569
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   570
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   571
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   572
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   573
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   574
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   575
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   576
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   577
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   578
/***************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   579
/***************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   580
/*  2.5.1.5.4  Selection and comparison Functions  */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   581
/***************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   582
/***************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   583
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   584
/*********************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   585
/***   Table 27    ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   586
/*********************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   587
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   588
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   589
    /*    SEL     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   590
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   591
/* The standard states that the inputs for SEL and MUX must be named starting off from 0,
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   592
 * unlike remaining functions, that start off at 1.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   593
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   594
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   595
__function_3p(SEL, TYPENAME, G, BOOL, IN0, TYPENAME, IN1, TYPENAME)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   596
__function_3p(SEL_##TYPENAME, TYPENAME, G, BOOL, IN0, TYPENAME, IN1, TYPENAME)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   597
__ANY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   598
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   599
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   600
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   601
    /*     MAX    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   602
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   603
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   604
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   605
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   606
__function_1e(MAX, TYPENAME, IN, TYPENAME, 1)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   607
__function_1e(MAX_##TYPENAME, TYPENAME, IN, TYPENAME, 1)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   608
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   609
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   610
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   611
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   612
    /*     MIN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   613
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   614
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   615
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   616
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   617
__function_1e(MIN, TYPENAME, IN, TYPENAME, 1)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   618
__function_1e(MIN_##TYPENAME, TYPENAME, IN, TYPENAME, 1)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   619
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   620
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   621
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   622
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   623
    /*   LIMIT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   624
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   625
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   626
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   627
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   628
__function_3p(LIMIT, TYPENAME, MN, TYPENAME, IN, TYPENAME, MX, TYPENAME)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   629
__function_3p(LIMIT_##TYPENAME, TYPENAME, MN, TYPENAME, IN, TYPENAME, MX, TYPENAME)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   630
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   631
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   632
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   633
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   634
    /*     MUX    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   635
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   636
/* The standard states that the inputs for SEL and MUX must be named starting off from 0,
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   637
 * unlike remaining functions, that start off at 1.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   638
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   639
/* The standard considers the explicit typing of MUX function as a special case... 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   640
 * It should look like: 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   641
 *         MUX_SINT_REAL, MUX_SINT_STRING, MUX_SINT_[ANY]
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   642
 *         MUX_INT_REAL,  MUX_INT_STRING,  MUX_INT_[ANY]
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   643
 *         MUX_[ANY_INT]_[ANY]
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   644
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   645
#define __in1_anyint_(in2_TYPENAME)   __ANY_INT_1(__iec_,in2_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   646
#define __iec_(in1_TYPENAME,in2_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   647
__function_2e(MUX, in2_TYPENAME, K, in1_TYPENAME, IN, in2_TYPENAME, 0)                                  /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   648
__function_2e(MUX_##in1_TYPENAME##_##in2_TYPENAME, in2_TYPENAME, K, in1_TYPENAME, IN, in2_TYPENAME, 0)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   649
__ANY(__in1_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   650
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   651
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   652
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   653
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   654
/******************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   655
/***             Table 28               ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   656
/***   Standard comparison functions    ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   657
/******************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   658
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   659
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   660
    /*     GT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   661
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   662
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   663
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   664
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   665
__function_1e(GT, BOOL, IN, TYPENAME, 1)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   666
__function_1e(GT_##TYPENAME, BOOL, IN, TYPENAME, 1)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   667
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   668
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   669
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   670
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   671
    /*     GE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   672
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   673
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   674
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   675
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   676
__function_1e(GE, BOOL, IN, TYPENAME, 1)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   677
__function_1e(GE_##TYPENAME, BOOL, IN, TYPENAME, 1)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   678
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   679
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   680
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   681
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   682
    /*     EQ     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   683
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   684
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   685
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   686
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   687
__function_1e(EQ, BOOL, IN, TYPENAME, 1)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   688
__function_1e(EQ_##TYPENAME, BOOL, IN, TYPENAME, 1)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   689
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   690
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   691
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   692
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   693
    /*     LT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   694
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   695
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   696
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   697
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   698
__function_1e(LT, BOOL, IN, TYPENAME, 1)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   699
__function_1e(LT_##TYPENAME, BOOL, IN, TYPENAME, 1)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   700
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   701
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   702
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   703
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   704
    /*     LE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   705
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   706
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   707
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   708
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   709
__function_1e(LE, BOOL, IN, TYPENAME, 1)             /* overloaded function */ \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   710
__function_1e(LE_##TYPENAME, BOOL, IN, TYPENAME, 1)  /* explicitly typed function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   711
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   712
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   713
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   714
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   715
    /*     NE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   716
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   717
/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   718
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   719
#define __iec_(TYPENAME) \
398
f1f3facc59e7 Fix issues in standard library with MUX, MOD, NE and convertions to BOOL
laurent
parents: 391
diff changeset
   720
__function_2p(NE, BOOL, IN1, TYPENAME, IN2, TYPENAME)            /* overloaded function */ \
f1f3facc59e7 Fix issues in standard library with MUX, MOD, NE and convertions to BOOL
laurent
parents: 391
diff changeset
   721
__function_2p(NE_##TYPENAME, BOOL, IN1, TYPENAME, IN2, TYPENAME) /* explicitly typed function */
351
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   722
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   723
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   724
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   725
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   726
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   727
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   728
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   729
/*  2.5.1.5.5   Character string  Functions  */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   730
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   731
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   732
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   733
/*************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   734
/***           Table 29            ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   735
/***  Character string  Functions  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   736
/*************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   737
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   738
/* We do not delcare explcitly typed versions of the functions in table 29.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   739
 * See note at top of this file regarding explicitly typed functions for more details.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   740
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   741
 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   742
#define __A_anyint_(B_TYPENAME)   __ANY_INT_1(__iec_,B_TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   743
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   744
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   745
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   746
    /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   747
    /*     LEN     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   748
    /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   749
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   750
__function_1p(LEN, A_TYPENAME, IN, B_TYPENAME)                                  /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   751
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   752
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   753
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   754
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   755
    /****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   756
    /*     LEFT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   757
    /****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   758
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   759
__function_2p(LEFT, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME)                  /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   760
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   761
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   762
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   763
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   764
    /*****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   765
    /*     RIGHT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   766
    /*****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   767
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   768
__function_2p(RIGHT, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME)                 /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   769
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   770
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   771
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   772
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   773
    /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   774
    /*     MID     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   775
    /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   776
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   777
__function_3p(MID, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME, P, A_TYPENAME)    /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   778
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   779
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   780
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   781
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   782
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   783
    /*     CONCAT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   784
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   785
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   786
__function_1e(CONCAT, TYPENAME, IN, TYPENAME, 1)    /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   787
__ANY_STRING(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   788
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   789
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   790
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   791
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   792
    /*     INSERT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   793
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   794
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   795
__function_3p(INSERT, B_TYPENAME, IN1, B_TYPENAME, IN2, B_TYPENAME, P, A_TYPENAME)    /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   796
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   797
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   798
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   799
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   800
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   801
    /*     DELETE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   802
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   803
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   804
__function_3p(DELETE, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME, P, A_TYPENAME)    /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   805
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   806
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   807
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   808
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   809
    /*******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   810
    /*     REPLACE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   811
    /*******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   812
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   813
__function_4p(REPLACE, B_TYPENAME, IN1, B_TYPENAME, IN2, B_TYPENAME, L, A_TYPENAME, P, A_TYPENAME)    /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   814
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   815
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   816
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   817
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   818
    /****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   819
    /*     FIND     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   820
    /****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   821
#define __iec_(A_TYPENAME,B_TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   822
__function_2p(FIND, A_TYPENAME, IN1, B_TYPENAME, IN2, B_TYPENAME)                 /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   823
__ANY_STRING(__A_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   824
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   825
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   826
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   827
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   828
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   829
/*  2.5.1.5.6  Functions of time data types  */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   830
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   831
/*********************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   832
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   833
/**************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   834
/***           Table 30             ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   835
/***  Functions of time data types  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   836
/**************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   837
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   838
__function_2p(ADD_TIME, TIME, IN1, TIME, IN2, TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   839
__function_2p(ADD_TOD_TIME, TOD, IN1, TOD, IN2, TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   840
__function_2p(ADD_DT_TIME, DT, IN1, DT, IN2, TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   841
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   842
__function_2p(SUB_TIME, TIME, IN1, TIME, IN2, TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   843
__function_2p(SUB_DATE_DATE, TIME, IN1, DATE, IN2, DATE)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   844
__function_2p(SUB_TOD_TIME, TOD, IN1, TOD, IN2, TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   845
__function_2p(SUB_TOD_TOD, TIME, IN1, TOD, IN2, TOD)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   846
__function_2p(SUB_DT_TIME, DT, IN1, DT, IN2, TIME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   847
__function_2p(SUB_DT_DT, TIME, IN1, DT, IN2, DT)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   848
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   849
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   850
/***  MULTIME  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   851
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   852
__function_2p(MULTIME_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME)    /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   853
__function_2p(MULTIME, TIME, IN1, TIME, IN2, TYPENAME)               /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   854
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   855
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   856
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   857
/***  MUL  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   858
/* NOTE: We can not include the explicitly typed function
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   859
 * __function_2p(DIV_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME)    
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   860
 * as it would clash with another function with the exact same name declared above
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   861
 * __function_2p(DIV_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   862
 * and the standard does not define this explicitly defined function as being overloaded 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   863
 * (i.e. having an ANY_***) input or output parameter
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   864
 * Note that our compiler would nevertheless work just fine with this overloaded declaration.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   865
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   866
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   867
__function_2p(MUL, TIME, IN1, TIME, IN2, TYPENAME)               /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   868
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   869
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   870
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   871
/***  DIVTIME  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   872
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   873
__function_2p(DIVTIME_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME)    /* explicitly typed function */\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   874
__function_2p(DIVTIME, TIME, IN1, TIME, IN2, TYPENAME)               /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   875
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   876
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   877
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   878
/***  DIV  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   879
/* NOTE: We can not include the explicitly typed function
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   880
 * __function_2p(DIV_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME)    
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   881
 * as it would clash with another function with the exact same name declared above
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   882
 * __function_2p(DIV_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   883
 * and the standard does not define this explicitly defined function as being overloaded 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   884
 * (i.e. having an ANY_***) input or output parameter
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   885
 * Note that our compiler would nevertheless work just fine with this overloaded declaration.
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   886
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   887
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   888
__function_2p(DIV, TIME, IN1, TIME, IN2, TYPENAME)               /* overloaded function */ 
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   889
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   890
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   891
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   892
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   893
/*** CONCAT_DATE_TOD ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   894
__function_2p(CONCAT_DATE_TOD, DT, IN1, DATE, IN2, TOD)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   895
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   896
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   897
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   898
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   899
/****************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   900
/****************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   901
/*  2.5.1.5.6   Functions of enumerated data types  */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   902
/****************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   903
/****************************************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   904
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   905
/********************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   906
/***              Table 31                ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   907
/***  Functions of enumerated data types  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   908
/********************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   909
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   910
/* Do we support this? */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   911
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   912
END
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   913
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   914
echo "{enable code generation}"
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   915
echo