T3X/0
A Minimal Procedural Language
[ Download |
Book |
Reference ]
T3X/0 is a small, portable, procedural, block-structured,
recursive, and almost typeless programming language, and the latest
member of the T3X family of languages. Its
compiler is freely available
(0BSD license or
public domain). T3X/0 syntax is similar to Pascal, its semantics
resembles BCPL's.
T3X/0 is used as a teaching language in the book
Write Your Own Retro Compiler.
It is formally defined in the book
The T3X Programming Language – Formal
Definition.
Here is the simplest "Hello World" program in T3X/0:
USE t3x: t;
DO t.write(T3X.SYSOUT, "Hello, World!\r\n", 15); END
(Of course this program cuts some corners, so here
are some more correct versions.)
Here are some more interesting programs written in T3X/0:
- Simple Examples
- More (or Less) Serious Programs
If you want to learn more about the T3X/0 language, here
is
- A Very Short T3X/0 Summary
- The T3X/0 Language Reference
- A T3X/0 online compiler
T3X/0 currently runs on
- Unix (386, x86_64, ARMv6, ARMv7)
- FreeBSD-386 (static code backend, LIBC not needed)
- macOS-686
- {PC,MS,DR,etc}-DOS 2.0 and later
- CP/M 2.2 (Z80 only)
- The TCVM (Tcode Virtual Machine)
It is self-hosting on all supported platforms and can cross-compile
to all supported 16-bit platforms.
Download the Compiler
- t3x0-40.zip (current version, ~290KB)
-
This is the full source code to the compiler (in T3X/0) and the runtime
libraries (in Z80, 8086, and 386 assembly language, and in C).
The archive also contains an implementation of the Tcode Virtual Machine
in C, a TCVM binary for DOS, additional libraries, example programs,
two editors, documentation, and pre-compiled compiler binaries for the
Tcode machine, CP/M, DOS, and FreeBSD. What's new
since the book version?
- t3x0-12.zip (book version, ~200KB)
-
This is the same as above, but the version frozen at the time when the
book was published.
- t3x0dos.zip (DOS binaries, ~64KB)
-
A pre-compiled T3X/0 compiler for DOS, including all libraries in DOS
text format, example programs, the NOE and VEE editors, and a configuration
utility for patching the compiler so that it can be installed in a
directory of your choice.
- t3x0cpm.zip (CP/M binaries, ~150KB)
-
A pre-compiled T3X/0 compiler for CP/M, including all libraries in CP/M
text format, example programs, the VEE editor, and a utility for patching
the compiler so that it can be installed on a disk drive of your choice.
Warning: ZIP file extracts into the working directory,
because CP/M has no directories. The ZIP file is uncompressed, so it
should extract under
CP/M.
- Supported Systems
- Some Compiler Statistics
contact |
privacy