Search                        Top                                  Index
HELP ANSI_C_DEC                                    Anthony Worrall, 1998

Revised: Fri, 8 Jun 2001
     I had forgot that The {} after a procedure declaration are replaced
    with ;


See HELP * NEW_CDEC for basic details of the external interface.

         CONTENTS - (Use <ENTER> g to access required sections)

 -- Accessing these facilities
 -- Differences from newc_dec

-- Accessing these facilities -----------------------------------------

The facilities described in this file are obtained by adding the line:

    uses ansi_c_dec;

before any attempt is made to parse any ANSI C code (ie. before any
occurrence of the keywords "external declare name in ansi_c")

-- Differences from newc_dec ------------------------------------------


The main differences between ansi_c_dec and newc_dec are in the way
arguments are parsed and the passing and returning of single float
values.

These differences can be seen in the example of multiply from
HELP * external

Here is an example, using C syntax, of importing a procedure which takes
two floating point numbers and returns their product:

    uses newc_dec

    external declare mytag in c;

    float multiply(x, y)
    float x, y;
    {}

    endexternal


The same example in ANSI C would be written as

    uses ansi_c_dec

    external declare mytag in ansi_c;

    float multiply(float x, float y);

    endexternal

There is the difference in the syntax that the type declarations are now
placed in the arguments list and {} replaced with ; The deeper
difference that the arguments in ANSI are passed as single values where
previously they are coerced to doubles before being passed.

--- $poplocal/local/newc_dec/help/ansi_c_dec
--- Copyright Anthony Worrall 2001. All rights reserved. ------