LOI: AMPC (Axiomatic Multi-Platform C)

March 01, 2006 Data & AI

TheServerSide.com highlighted a new release from Axiomatic Solutions, which provides, well I'll borrow the same quotes as Joseph Ottinger of the TSS: "The AMPC (Axiomatic Multi-Platform C) compiler/IDE tries to follow the ANSI C (1989) standard as closely as possible, but it is yet to be fully compliant. Although it is not pure ANSI C (1989), it supports a very large subset of the standard. The JVM architecture has no built-in addressable memory architecture, hence, we resort to using one large array of int as a substitute for addressable memory. We minimize referencing the large array of int when referencing local variables by means of a register allocation technique based on the priority based graph coloring algorithm, utilizing JVM's local variables as "registers". This results in faster executables somewhat. Each address location of the monolithic memory architecture takes up 32-bit space. So, the memory space is 4-bytes-addessable (word-addressable) and not byte-addressable. Consequently, all scalar data types are 4 bytes long and they are int, char, float, and double" Well, it seems hard to ignore not commenting on this, considering yesterdays post. It have to say the approach seems a little extreme. Not to mention that it seems more practical for highly targeted applications or perhaps even routines that you'd like to bleed into to an established Java infrastructure. It doesn't speak to kind of interfaces it might generate too. I have to guess that likely additional work is required, especially for large chunks of C code where significant amounts of work to supply intellible APISs needed make the generated components usable for a Java-savvy developers. I've yet to see a tool or any process that quite does a nice job of that, but perhaps I'm mistaken?

Jonathan Bruce