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.
The T3X/0 package provides two editors (one VI-compatible, one
WordStar-compatible) with built-in compiler support. Compile your
programs by literally pressing two keys. In case of an error the
editors jump to the error. This works even on CP/M!
T3X/0 is used as a teaching language in the books
-
Write Your Own Retro Compiler and
-
Write Your Own Programs
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.
-
More details on supported systems
-
Some compiler statistics
Download the Compiler
- t3x0-45.zip (current version, ~305KB)
-
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 with built-in compiler support ("IDEs"),
documentation, and pre-compiled compiler binaries for CP/M, DOS,
FreeBSD, and the Tcode machine. 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, ~100KB)
-
A pre-compiled T3X/0 compiler for DOS, including all libraries in
DOS text format, the T3X/0 Reference Manual, example programs, the
NOE and VEE editors (including their source code), 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, ~310KB)
-
A pre-compiled T3X/0 compiler for CP/M, including all libraries in
CP/M text format, the T3X/0 Reference Manual, example programs, the
NOE and VEE editors (including their source code), 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.
- t3x0agon.zip (CP/M disk image for the Agon Light 2, ~110KB)
-
An 8MB CP/M hard disk image containing all files of t3x0cpm.zip,
above. Intended to be installed on an Agon Light 2 computer
running CP/M.