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 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-43.zip (current version, ~300KB)
-
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.
- Supported Systems
- Some Compiler Statistics
contact |
privacy