lib/create_standard_function_txt.sh
author Mario de Sousa <msousa@fe.up.pt>
Sat, 31 Mar 2012 15:34:33 +0100
changeset 496 fa43fed1084c
parent 494 bcd737ad27f7
child 501 19bc099215d8
permissions -rwxr-xr-x
merging with Laurent's change.
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
/*******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   276
#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(from_TYPENAME##_TO_BCD_##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
   277
__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
   278
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   279
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   280
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
/*   *_BCD_TO_*    */
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
#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(from_TYPENAME##_BCD_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
   285
__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
   286
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   287
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   288
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   289
/***********************************/  
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   290
/*  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
   291
/***********************************/  
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
/***   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
   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
  /*    ABS     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   300
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   301
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   302
__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
   303
__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
   304
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   305
__ANY_INT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   306
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   307
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   308
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   309
  /*    SQRT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   310
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   311
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   312
__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
   313
__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
   314
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   315
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   316
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   317
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   318
  /*     LN     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   319
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   320
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   321
__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
   322
__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
   323
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   324
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   325
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   326
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   327
  /*     LOG    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   328
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   329
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   330
__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
   331
__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
   332
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   333
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   334
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   335
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   336
  /*     EXP    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   337
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   338
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   339
__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
   340
__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
   341
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   342
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   343
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   344
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   345
  /*     SIN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   346
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   347
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   348
__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
   349
__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
   350
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   351
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   352
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   353
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   354
  /*     COS    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   355
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   356
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   357
__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
   358
__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
   359
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   360
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   361
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   362
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   363
  /*     TAN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   364
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   365
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   366
__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
   367
__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
   368
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   369
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   370
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   371
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   372
  /*    ASIN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   373
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   374
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   375
__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
   376
__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
   377
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   378
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   379
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   380
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   381
  /*    ACOS    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   382
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   383
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   384
__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
   385
__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
   386
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   387
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   388
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   389
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   390
  /*    ATAN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   391
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   392
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   393
__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
   394
__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
   395
__ANY_REAL(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   396
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   397
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   398
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   399
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   400
/*****************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   401
/***   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
   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
#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
   405
__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
   406
__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
   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_static(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_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
   411
__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
   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
  /*     ADD    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   415
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   416
#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
   417
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   418
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   419
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
  /*     MUL    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   422
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   423
#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
   424
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   425
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   426
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
  /*     SUB    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   429
  /**************/
391
4798bd4739d0 Fixing bug in all SUB function definitions in standard_functions.txt
laurent
parents: 385
diff changeset
   430
#define __iec_(TYPENAME)\
4798bd4739d0 Fixing bug in all SUB function definitions in standard_functions.txt
laurent
parents: 385
diff changeset
   431
__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
   432
__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
   433
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   434
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   435
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   436
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   437
  /*     DIV    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   438
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   439
#define __iec_(TYPENAME)\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   440
__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
   441
__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
   442
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   443
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   444
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   445
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   446
  /*     MOD    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   447
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   448
#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
   449
#define __iec_(TYPENAME)\
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   450
__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
   451
__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
   452
__ANY_INT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   453
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   454
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   455
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   456
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   457
  /*    EXPT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   458
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   459
#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
   460
#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
   461
__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
   462
__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
   463
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   464
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   465
  /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   466
  /*     MOVE    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   467
  /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   468
#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
   469
__ANY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   470
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   471
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
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   474
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   475
/***********************************/  
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
/*  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
   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
/***   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
   483
/****************************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   484
/* 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
   485
 * 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
   486
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   487
#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
   488
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   489
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   490
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   491
  /*     SHL    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   492
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   493
#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
   494
__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
   495
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   496
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
  /*     SHR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   499
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   500
#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
   501
__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
   502
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   503
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
  /*     ROR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   506
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   507
#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
   508
__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
   509
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   510
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
  /*     ROL    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   513
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   514
#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
   515
__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
   516
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   517
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
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   520
/*********************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   521
/***   Table 26    ***/
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
  /*     AND    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   526
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   527
#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
   528
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   529
__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
   530
__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
   531
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   532
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   533
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   534
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   535
  /*************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   536
  /*     OR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   537
  /*************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   538
#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
   539
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   540
__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
   541
__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
   542
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   543
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   544
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   545
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   546
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   547
  /*     XOR    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   548
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   549
#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
   550
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   551
__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
   552
__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
   553
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   554
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   555
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   556
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   557
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   558
  /*     NOT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   559
  /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   560
#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
   561
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   562
__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
   563
__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
   564
__ANY_BIT(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   565
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   566
#endif
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   567
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   568
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   569
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   570
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   571
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
/*  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
   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
/***   Table 27    ***/
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
    /*    SEL     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   585
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   586
/* 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
   587
 * 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
   588
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   589
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   590
__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
   591
__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
   592
__ANY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   593
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   594
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   595
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   596
    /*     MAX    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   597
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   598
/* 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
   599
/* 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
   600
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   601
__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
   602
__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
   603
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   604
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   605
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   606
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   607
    /*     MIN    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   608
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   609
/* 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
   610
/* 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
   611
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   612
__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
   613
__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
   614
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   615
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   616
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   617
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   618
    /*   LIMIT    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   619
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   620
/* 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
   621
/* 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
   622
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   623
__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
   624
__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
   625
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   626
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   627
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   628
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   629
    /*     MUX    */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   630
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   631
/* 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
   632
 * 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
   633
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   634
/* 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
   635
 * 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
   636
 *         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
   637
 *         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
   638
 *         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
   639
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   640
#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
   641
#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
   642
__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
   643
__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
   644
__ANY(__in1_anyint_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   645
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   646
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   647
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   648
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   649
/******************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   650
/***             Table 28               ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   651
/***   Standard comparison functions    ***/
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
    /*     GT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   656
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   657
/* 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
   658
/* 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
   659
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   660
__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
   661
__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
   662
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   663
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   664
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   665
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   666
    /*     GE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   667
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   668
/* 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
   669
/* 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
   670
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   671
__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
   672
__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
   673
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   674
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   675
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   676
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   677
    /*     EQ     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   678
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   679
/* 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
   680
/* 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
   681
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   682
__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
   683
__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
   684
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   685
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   686
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   687
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   688
    /*     LT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   689
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   690
/* 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
   691
/* 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
   692
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   693
__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
   694
__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
   695
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   696
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   697
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   698
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   699
    /*     LE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   700
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   701
/* 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
   702
/* 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
   703
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   704
__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
   705
__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
   706
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   707
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   708
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   709
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   710
    /*     NE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   711
    /**************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   712
/* 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
   713
/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */
494
bcd737ad27f7 Add coment warning about incorrect implementation of the NE standard function.
Mario de Sousa <msousa@fe.up.pt>
parents: 398
diff changeset
   714
/* NOTE (by mjs) : The following declaration is worng, as it assumes that only 2 parameter may be used!
bcd737ad27f7 Add coment warning about incorrect implementation of the NE standard function.
Mario de Sousa <msousa@fe.up.pt>
parents: 398
diff changeset
   715
 *                 The NE function is actually an extensible function, that may be called with more than 2 parameters!
bcd737ad27f7 Add coment warning about incorrect implementation of the NE standard function.
Mario de Sousa <msousa@fe.up.pt>
parents: 398
diff changeset
   716
 *                 This needs to be fixed!!
bcd737ad27f7 Add coment warning about incorrect implementation of the NE standard function.
Mario de Sousa <msousa@fe.up.pt>
parents: 398
diff changeset
   717
 *       The correct definition is:
bcd737ad27f7 Add coment warning about incorrect implementation of the NE standard function.
Mario de Sousa <msousa@fe.up.pt>
parents: 398
diff changeset
   718
 *   __function_1e(NE, BOOL, IN, TYPENAME, 1)             
bcd737ad27f7 Add coment warning about incorrect implementation of the NE standard function.
Mario de Sousa <msousa@fe.up.pt>
parents: 398
diff changeset
   719
 *   __function_1e(NE_##TYPENAME, BOOL, IN, TYPENAME, 1) 
bcd737ad27f7 Add coment warning about incorrect implementation of the NE standard function.
Mario de Sousa <msousa@fe.up.pt>
parents: 398
diff changeset
   720
 */
351
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   721
#define __iec_(TYPENAME) \
398
f1f3facc59e7 Fix issues in standard library with MUX, MOD, NE and convertions to BOOL
laurent
parents: 391
diff changeset
   722
__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
   723
__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
   724
__ANY_ELEMENTARY(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   725
#undef __iec_
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
/*********************************************/  
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
/*  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
   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
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   735
/*************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   736
/***           Table 29            ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   737
/***  Character string  Functions  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   738
/*************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   739
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   740
/* 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
   741
 * 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
   742
 */
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
#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
   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
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
    /*     LEN     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   750
    /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   751
#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
   752
__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
   753
__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
   754
#undef __iec_
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
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
    /*     LEFT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   759
    /****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   760
#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
   761
__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
   762
__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
   763
#undef __iec_
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
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
    /*     RIGHT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   768
    /*****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   769
#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
   770
__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
   771
__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
   772
#undef __iec_
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
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
    /*     MID     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   777
    /***************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   778
#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
   779
__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
   780
__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
   781
#undef __iec_
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
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
    /*     CONCAT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   786
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   787
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   788
__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
   789
__ANY_STRING(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   790
#undef __iec_
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
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
    /*     INSERT     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   795
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   796
#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
   797
__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
   798
__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
   799
#undef __iec_
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
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
    /*     DELETE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   804
    /******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   805
#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
   806
__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
   807
__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
   808
#undef __iec_
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
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
    /*     REPLACE     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   813
    /*******************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   814
#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
   815
__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
   816
__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
   817
#undef __iec_
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
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
    /*     FIND     */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   822
    /****************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   823
#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
   824
__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
   825
__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
   826
#undef __iec_
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
/*********************************************/  
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
/*  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
   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
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   835
/**************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   836
/***           Table 30             ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   837
/***  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
   838
/**************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   839
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_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
   841
__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
   842
__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
   843
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_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
   845
__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
   846
__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
   847
__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
   848
__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
   849
__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
   850
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   851
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   852
/***  MULTIME  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   853
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   854
__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
   855
__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
   856
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   857
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   858
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   859
/***  MUL  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   860
/* 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
   861
 * __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
   862
 * 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
   863
 * __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
   864
 * 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
   865
 * (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
   866
 * 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
   867
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   868
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   869
__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
   870
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   871
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   872
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   873
/***  DIVTIME  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   874
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   875
__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
   876
__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
   877
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   878
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   879
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   880
/***  DIV  ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   881
/* 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
   882
 * __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
   883
 * 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
   884
 * __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
   885
 * 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
   886
 * (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
   887
 * 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
   888
 */
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   889
#define __iec_(TYPENAME) \
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   890
__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
   891
__ANY_NUM(__iec_)
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   892
#undef __iec_
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   893
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   894
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   895
/*** CONCAT_DATE_TOD ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   896
__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
   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
/****************************************************/  
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
/*  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
   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
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   907
/********************************************/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   908
/***              Table 31                ***/
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   909
/***  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
   910
/********************************************/
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
/* 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
   913
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   914
END
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   915
e7d236750709 Support for semantic verification of calls to standard function calls.
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   916
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
   917
echo