This document provides an introduction to the X1 Algol compiler and simulator repository, a modern revival of Edsger Dijkstra's historic 1960 Algol 60 compiler for the Electrologica X1 computer. The system consists of a complete Algol 60 compiler, X1 machine simulator, comprehensive test suite, and collection of example programs that demonstrate the full capabilities of this historic computing environment.
For detailed build instructions and running your first programs, see Getting Started. For in-depth technical documentation of specific components, see Core Components. For Algol 60 language features and syntax, see Algol 60 Language Support.
The original Algol 60 compiler was developed by Edsger Dijkstra in 1960 for the Electrologica X1, one of the first transistorized computers. This implementation represents a faithful recreation of that historic system, preserving both the compiler logic and the X1 machine architecture while enabling modern developers to experience and study this foundational piece of computing history.
The project sources were recovered from https://gtoal.com/languages/algol60/x1algol/ and have been carefully reconstructed to maintain compatibility with the original system's behavior and capabilities.
Sources: README.md3-6
The system implements a complete compilation and execution pipeline, from Algol 60 source code through X1 object code to program execution on a simulated X1 machine.
Sources: README.md7-15 .gitignore1-14
Sources: README.md17-46 examples/README.md25-47
Component | Primary Class/Module | Responsibility | Key Features |
---|---|---|---|
Compiler | x1algc | Algol 60 → X1 object code | Lexical analysis, syntax parsing, code generation |
Machine | Machine | X1 hardware emulation | Memory management, I/O operations, program loading |
Processor | Processor | CPU instruction execution | Instruction cycle, register management, opcode dispatch |
Stack | VirtualStack | Runtime stack management | Type-safe operations, procedure frames, expression evaluation |
Architecture | X1Architecture | Data format handling | X1 ↔ IEEE conversion, encoding/decoding |
Testing | x1_machine fixture | Quality assurance | Unit tests, integration tests, example validation |
Sources: README.md9-15
Sources: README.md7-15 Makefile1-35
The X1 Algol system supports the complete Algol 60 language specification, including:
The simulator provides a faithful emulation of the X1 architecture with:
Sources: examples/README.md1-24 README.md47-61
To build and run the system:
Run your first Algol 60 program:
For complete build instructions and usage examples, see Getting Started. For exploring the extensive collection of historical Algol 60 programs, see Example Programs.
Sources: README.md17-61 Makefile15-34
Refresh this wiki
Last indexed: 24 May 2025 (73475b)