¿Qué es el formato de archivo URCL?
Un archivo .urcl contiene código fuente escrito en URCL, el Universal Reduced Computer Language. URCL es un lenguaje intermedio similar al ensamblador RISC diseñado para ser lo más simple posible, tanto que las CPU de redstone de Minecraft cableadas a mano pueden ejecutar programas escritos en él. Ese origen en redstone es la razón por la que algunos documentos de la comunidad expanden el nombre como «Universal Redstone Computer Language».
El archivo es texto plano con una instrucción por línea. Comienza con directivas de encabezado como BITS, MINREG, MINHEAP y MINSTACK que describen el tamaño de palabra y los recursos que necesita un programa, seguidas de un cuerpo de instrucciones como IMM, ADD, JMP, OUT y HLT. Las etiquetas utilizan un punto inicial y los comentarios usan //. Las instrucciones se dividen en niveles Core, Basic y Complex, de modo que un compilador solo tiene que implementar el pequeño conjunto Core y puede simplificar el resto.
A diferencia del ensamblador real, URCL oculta detalles de hardware como los «branch delay slots», las banderas y la temporización de E/S, lo que lo convierte en una forma amigable de aprender programación de bajo nivel o de describir un programa que muchas CPU diferentes pueden ejecutar.
Seguridad y protección
RIESGO: 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.
Detalles del formato
en pocas palabras- 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.
Programas que abren archivos URCL
py URCL.py <ISA> program.urcl output.txt to compile the file to a target instruction set or emulate it. Detalles técnicos
especificación profunda| 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) |
| Lanzado | 2020 |
| Última versión | URCL 1.4.0 (specification revision) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | github.com |
Conversiones de URCL
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos URCL.