Introduction to a New Computational Tool:
CompLab: ABC compiler / solver

Igor O. Kulik
Department of Physics, Bilkent University

"CompLab" ("Compiler Laboratory") or "ABC" ("Advanced
Basic-C") is a double-conversion compiler working in two parallel
regimes (A anb B) one of which is similar to that of MATLAB, while the
other is a professional compilation routine similar to C and FORTRAN
languages. Double conversion scheme of compilation allows making
advantage of both the simplicity of user code (program, commands) and
at the same time of the power of C language in speed of calculation
and in the capacity of using the CPU memory.

The "A" regime of ABC uses the commands: int, root,
eigval, eigsparse, plot,... for on-line calculation of simple tasks
like: multidimensional integration and differentition, findings roots
of nonlinear equations, eigenvalues of matrices (command: eigval) and
the extremely large (of size 1.000.000 x 1.000.000, when executed on a
Standard desktop or laptop Pentium PC) SPARSE matrices (command:
eigsparse), plotting functions (and any mathematical expressions
with special functions) and their derivatives, etc.,
respectively. This part has also elements of adaptive compilation,
with the input code formulated in terms of mathematical tasks (solve,
find, compare, creat ...) and conditions where, and, therefore,...)
addressing the above routines.

The "B" regime is an exportable program of conversion to
an appropriate C-code, compilation, and solution. As items of the
compiler vocabulary, ABC includes variable of integer, floating point,
and complex types as well as the new types (arbitrary-precision
floating-point numbers, Grassman variables, creation/annihilation
symbols of quantum mechanics). The C-code of program can be exported
to be used (compiled and executed) on another computational platforms
including: Windows, OS/2, Linux and Unix machines. The executables can
be run either directly within the ABC environment, or on another
machine in Windows or OS/2.

DATE: December 25, 2002, Wednesday @
13:40
PLACE: EA-409