Qu'est-ce que le format de fichier URCL ?
Un fichier .urcl contient du code source écrit en URCL, le Universal Reduced Computer Language. L'URCL est un langage intermédiaire de type assemblage RISC conçu pour être aussi simple que possible, à tel point que des processeurs redstone Minecraft câblés à la main peuvent exécuter des programmes écrits avec lui. Cette origine redstone explique pourquoi certains documents de la communauté développent le nom en « Universal Redstone Computer Language ».
Le fichier est en texte brut avec une instruction par ligne. Il commence par des directives d'en-tête telles que BITS, MINREG, MINHEAP et MINSTACK qui décrivent la taille des mots et les ressources nécessaires au programme, suivies d'un corps d'instructions comme IMM, ADD, JMP, OUT et HLT. Les étiquettes utilisent un point initial et les commentaires utilisent //. Les instructions sont divisées en niveaux Core, Basic et Complex, de sorte qu'un compilateur n'a qu'à implémenter le petit ensemble Core et peut abaisser le reste.
Contrairement au véritable assemblage, l'URCL masque les détails matériels tels que les créneaux de retard de branchement (branch delay slots), les drapeaux (flags) et le timing des E/S, ce qui en fait un moyen convivial d'apprendre la programmation de bas niveau ou de décrire un programme que de nombreux processeurs différents peuvent exécuter.
Sécurité et sûreté
RISQUE : 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.
Détails du format
en bref- 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.
Programmes qui ouvrent les fichiers URCL
py URCL.py <ISA> program.urcl output.txt to compile the file to a target instruction set or emulate it. Détails techniques
spécifications approfondies| 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) |
| Publié | 2020 |
| Dernière version | URCL 1.4.0 (specification revision) |
| Standard ouvert | Oui · libre de droits |
| Spécification | github.com |
Conversions URCL
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers URCL.