ctran

所属分类:C/C++基础
开发工具:Pascal
文件大小:0KB
下载次数:0
上传日期:2024-01-27 17:02:56
上 传 者sh-1993
说明:  CTRAN娱乐。EXE,SIBO C SDK中的Psion OO C预处理器。单位为帕斯卡。
(Recreation of CTRAN.EXE, the Psion OO C preprocessor from the SIBO C SDK. In Pascal.)

文件列表:
PsionOOLexer.pas
ctran.pp
demo.cat
olib.ext

= CTRAN An attempt to reverse-engineer `CTRAN.EXE`, the Psion Object Oriented C preprocessor. In Pascal. == Aims * A drop-in replacement for the original `CTRAN.EXE` in the Psion SIBO C SDK. * Run on modern OSes and 16-bit DOS. * Produce identical files to the original. * Allow multiple include sources. == What is (or was) `CTRAN`? `CTRAN.EXE` is a pre-processor for the object-oriented part of the SDK. It takes a `.cat` category file containing class definitions (methods, properties, etc) and generates the following files: * A `.c` file * A `.g` header file, to be `#include`d with the class's methods. * A `.ext` file with a summary of the class that can be used by `CTRAN` * A `.asm` file * A `.ing` file (assembly header) * A `.lis` file Normally only the first three are used. It can also generate other files for inclusion within the SDK, plus skeleton source files. == The problem My main gripe with the original `CTRAN.EXE` is that it can only include files from one folder. So, if you want to include the `ROOT` class in OLIB (the main OO library) and one of your own classes, they both have to be in the same location. This means that you have to store every generated file inside the SDK folder. I did not like this. == Why (Object) Pascal? I want this to run on all modern operating systems, as well as DOS. I didn't want to write it in C or C++, so I went hunting for another language/compiler. Free Pascal offers just the right level of language, taking away some of the worries of memory management and how to handle dictionaries/trees, while letting me go low-level when I want to. It targets pretty much everything, including Linux, Windows, macOS, Haiku, *BSD... and 16-bit DOS. == The future At some point the entire SDK needs to be moved away from DOSBox. This will require rewriting every single tool that was included in the SDK, plus the TopSpeed C compiler. There is a lot of work to do, but rewriting `CTRAN` is the first step.

近期下载者

相关文件


收藏者