[fu-t set]
in comp.lang.c i read:
AMPC is based upon the American National Standards Institute C (ANSI C),
X3.159-1989. There are however a few differences between AMPC and a
fully compliant ANSI C compiler. The differences of AMPC with a fully
compliant ANSI C compiler are described in AMPC's product description.
would a summary really have been too difficult to include?
language: no bit-fields and cannot goto across blocks. elsewhere it is
mentioned that argc and argv are predeclared -- which makes me guess that
using my own identifiers will fail.
tools (not specified by the standard anyway): no debugger.
some limitations are not limitations (jni support), while others are
incorrect (static -- which is now supported -- is not a type).
some are a little hard to grasp just from the list, e.g., i think that one
must arrange to compile the (automatically created?) _touch_files.c and/or
_pointable_funcs.c files if file scoped objects and/or function pointers
are used (respectively).
there is no mention of long double or wide-characters. a lack of wide-
character support is not a tragedy as c89 itself is woeful. since you
target the jvm you should consider supporting amd1 in the future.
Hardware Requirements:
- Any x86 compatible computer running MS Windows XP
- Any Macintosh computer running Mac OSX
- Any x86 compatible computer running Linux
i hope the only reason for these is that you merely have not yet compiled
ampc using ampc, which would reduce the requirements to: a conforming jdk
and sufficient disk space. your own code (even if never released) should
be *the* prime example of how useful it is to target the jvm.
though i did not read it extensively i noticed some other oddities in the
manual, e.g., it is noted that strcoll and strxfrm are not c89 functions
(they are), and i hope that the second example in section 4.1 fails to
compile (even if one accepts the pre-declaration of argc and argv -- which
i find quite annoying -- it still leaves cnt and count undeclared, and has
an invalid escape in the string literal argument to the first printf):
| #include <stdio.h>
|
| main ()
| {
| printf("%i parameters entered \.",argc);
|
| for (cnt = 0; cnt <= argc -1; cnt++)
| {
| printf("Parameter %d is %s\n",count, argv[cnt]);
| }
| }