Was ist das URCL-Dateiformat?
Eine .urcl-Datei enthält Quellcode in URCL, der Universal Reduced Computer Language. URCL ist eine RISC-Assembler-ähnliche Zwischensprache, die so einfach wie möglich gestaltet wurde - so einfach, dass handverdrahtete Minecraft-Redstone-CPUs Programme ausführen können, die darin geschrieben wurden. Dieser Redstone-Ursprung ist der Grund, warum einige Community-Dokumente den Namen als „Universal Redstone Computer Language“ ausschreiben.
Die Datei ist reiner Text mit einem Befehl pro Zeile. Sie beginnt mit Header-Direktiven wie BITS, MINREG, MINHEAP und MINSTACK, die die Wortbreite und die benötigten Ressourcen eines Programms beschreiben, gefolgt von einem Hauptteil mit Befehlen wie IMM, ADD, JMP, OUT und HLT. Sprungmarken (Labels) verwenden einen führenden Punkt und Kommentare beginnen mit //. Die Befehle sind in die Stufen Core, Basic und Complex unterteilt, sodass ein Compiler nur den kleinen Core-Satz implementieren muss und den Rest darauf herunterbrechen kann.
Im Gegensatz zu echtem Assembler verbirgt URCL Hardware-Details wie Branch-Delay-Slots, Flags und IO-Timing, was es zu einem einsteigerfreundlichen Weg macht, Low-Level-Programmierung zu lernen oder ein Programm zu beschreiben, das auf vielen verschiedenen CPUs laufen kann.
Sicherheit
RISIKO: LOWA .urcl file is human-readable text and cannot execute on its own; opening it in an editor is harmless. The only theoretical risk is running an untrusted URCL program inside an emulator or compiler, which is sandboxed and far safer than running an unknown binary. Verify a file is genuine URCL source before compiling it.
Formatdetails
kurz gefasst- Universal Systems Language (USL) - Unrelated software-engineering language occasionally abbreviated near URCL in searches; does not use the .urcl extension.
- UNCOL - Historical universal intermediate-language concept that comes up alongside URCL as prior art but is a separate, unrelated idea with no .urcl files.
Programme zum Öffnen von URCL-Dateien
py URCL.py <ISA> program.urcl output.txt to compile the file to a target instruction set or emulate it. Technische Details
technische Spezifikation| Encoding | Plain text (ASCII / UTF-8), one instruction per line |
| Byte order | N/A (text format) |
| Container | None; flat text file |
| Typical size | A few hundred bytes to tens of kilobytes |
| Structure | A header block of directives (BITS, MINREG, MINHEAP, MINSTACK, RUN) followed by a body of instructions, labels (prefixed with a dot), register operands (R1, R2 or $1), immediates, memory addresses (M-prefixed), ports, and comments introduced with //. Instructions fall into Core, Basic, and Complex tiers, for example IMM, ADD, SUB, JMP, BRZ, LOD, STR, OUT, IN, HLT. |
| Platforms | Windows, macOS, Linux |
| Notes | URCL is a RISC-like intermediate assembly language, not a native machine ISA. A URCL program is compiled or translated to a target instruction set (a real CPU ISA or a Minecraft redstone CPU) via a per-architecture config, or run directly in a URCL emulator. Preprocessor directives such as @DEFINE, @INCLUDE and @PRAGMA and macro support are provided by some toolchains. |
| Initial Release Full | Around 2020, growing out of the Minecraft redstone computer community |
| Structure Tiers | Core (7 fundamental instructions every backend must translate), Basic, and Complex (higher-level operations like multiply/divide and function calls that the compiler can lower to Core) |
| Veröffentlicht | 2020 |
| Neueste Version | URCL 1.4.0 (specification revision) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | github.com |
URCL-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu URCL-Dateien.