X2c Portable Xbase Compiler

X2c is an Xbase compiler that creates executable programs from Xbase source programs on any UNIX or C platform. This is accomplished by creating a C program from the Xbase application, compiling it, and linking with function libraries. While the C source is considered an intermediate stage for X2c, it can be used and developed as any C source.

X2c provides all the components needed to successful compile an Xbase program in a UNIX (or other C) platform:

The X2c dialect of Xbase accepts virtually all statements of:

Like Clipper, X2c is a compiler. Since X2c does not support the 'dot prompt' mode, an interactive development utility is provided. X2c adds unique statements of its own, allowing more flexible programming and integration within a C envi ronment. For example, in-line C code can be placed within Xbase statements by using the 'option csource' statement.

Full compatabliity via the ANY-type variable, C programmer not needed:

X2c provides full compatibility by providing an ANY type data object with a complete library of support routines. This allows X2c to create C code that supports all the special variable characteristics of Xbase code, including PRIVATE and PARAMETER pass-down, TYPE()='U', and full expression macros. The flexibility of an ANY type variable removes the manual effort required to create a C program.

The improved efficiency of C variables (available but not required):

X2c supports both Xbase untyped-data and C fixed-type data variables. Fixed-type C variables provide improved efficiency.

X2c can handle all variables according to Xbase untyped-data rules. Plus, X2c provides a full Xbase dialect using fixed-type data with all Xbase statements, where the programmer can declare variables of specific types.

Enabling the unique X2c "fixed-type auto recognition" logic allows an existing Xbase application to be brought in line with C fixed-type data requirements. This gives 100% conversion while still operating properly in its original dialect.

The X2c system environment:

Data Screens: A data screen handler is provided which calls the appropriate driver for the target platform. On most UNIX systems, the Curses screen support package is used with either terminfo or termcap. X2c has its own function key processing logic to allow mapping of function keys to map the expected DOS keyboard. Alternate function keys can be defined for terminals without standard function keys. The screen output logic is layered, allowing tailoring for special sys tem needs. For example, windows support was added by selecting to which active window the regular screen output is sent.

Data and Index Files: The database management system, dBf/a, has been ported to each supported platform and serves as the standard file manager in that environment, providing standard DBF files/DBT memo files. Index files op erate as needed by the Xbase language. Standard X2c index files use a format unique to X2c. Alternate index handlers can use dBASE, Clipper, or FoxBASE index files directly. Support for other file management systems can be provided using the optional "tie-in" interface package. Via a "tie-in", compatibility with dBASE, FoxBASE & Clipper indexes was added. The POSIX or SQL support can be added by a 'tie-in' combined with in-line C code.

Support for standard C compilers:

X2c supports standard compilers for each platform. For ease of use, X2c transparently calls the C compiler for you. The resulting application replicates the look, feel, and func tioning of your Xbase original program.

Portability of applications:

Once an application has been processed by X2c in any environ ment, the intermediate C source code can be compiled on other platform supported by X2c. After development is completed on the originating system, the resultant C source code is moved to the tar get platform via communications link or disk.

The platform's standard C compiler is used to compile and link the object code produced with the library of run-time functions. The re sulting executable replicates the functions of your DOS Xbase ap plication.

As you might expect, the hardware limitations of the target environ ment apply: e.g. No color on Monchrome hardware.

Open system:

X2c is the only Xbase system to provide access to all system inter nals. The functions are provided as a set of C source files, divided into four libraries: screens & strings, databases & indexes, memos (long strings), and expression evaluators.

Automatic creation of all components of a C program:

Through the use of a built-in program scanner, X2c will build a "make" or "project" environment for the full system, creating com pile and link control files, the C main() function, and all required C data and function headers. This is structured so the developer can use it as is, simply add extra C functions, or totally customize the system. The scanner is driven by a template language that allows expansion and revision by an advanced user.

X2c history: A system with extensive field experience:

X2c is built on the Xbase language system reflecting 9 years of field experience and over 3000 installed copies. The technology used makes X2c the only language system capable of successfully providing complete Xbase applications running on all size ma chines -- from IBM PC/compatibles, Macs, OS/2 and Windows; through UNIX machines of all types; and through and including IBM mainframes (running MVS/TSO).

Addition without subtraction:

The step up from the Desktop Ai 'dBx/dBxPORT' system to X2c adds functionality not available in the less sophisticated system without omitting anything. The majority of these additions have been the direct result of customer feedback and exhaustive testing of hundreds of thousands of lines of live Xbase applications. The effect is to reduce the vast effort of creating a C business application to a simple re-compile.

Native UNIX product:

X2c is provided as a native UNIX, Linux, VMS, DOS or OS2 product. Many UNIX users use the GNU GCC compiler with X2c, and X2c includes a tailored GDB (debugger) to allow handling extremely large programs. This allows direct re-compiling of large Clipper systems without overlay concerns.

All function sources available:

The X2c development system is available with all sources to the primitive functions used by an Xbase program. Most of these are fully portable. For system-specific functions, different versions are included for a wide variety of UNIX and other systems.

Shareware:

X2c is now (late '95) being release as shareware - no charge except for printed docmentation or shipping costs.

Electronic support vehicles:

X2c is configured to allow close support from the development team directly to the user's application development team -- it is not a mass market product. At this time, support is only available on a paid basis and via email on the Internet or Compuserve.

[ About OtN | About our Custom Services | Home ]