historical software reconstruction

iRobotBoie Workbench.

A reconstructed BOIE tool suite built around tree-oriented software authoring: iTredit for ESR trees, iStrudix for structure definitions, iSutex for readable printer output, and iIRL for IRL to ICR compilation.

The IRL path is documented with searchable standards terminology: DIN 66312 Part 1, DIN 66312 Teil 1, and ISO/TR 10562.

one suite, four working perspectives

The project follows the historical BOIE idea, baumorientiertes interaktives Entwurfswerkzeug, as a coherent pipeline rather than a pile of disconnected tools. The same language world can be formulated, edited as ESR, printed into readable source, and compiled where a historical compiler still exists.

ESR tree editor

iTredit

The BOIE editor for navigating, understanding, and correcting ESR trees.

ESR focus Node attributes Type-aware editing
  • opens ESR files as structured node trees instead of raw line noise
  • shows the active type world and node classes loaded from the paired .typ file
  • lets the BOIE data model stay visible while still being practical on modern macOS
Structure compiler

iStrudix

Readable structure language goes in, a typed BOIE world comes out.

.str → .typ Classes & rules Legacy typing model
  • compiles STRUDIX source into the historical .typ representation
  • keeps node kinds, classes, and decomposition rules visible while formulating a language
  • acts as the structural bridge between human-readable language definitions and BOIE editing
Printer & reconstruction

iSutex

Turns ESR back into readable, language-shaped text with BOIE context.

ESR printer Placeholder expansion Historical match checks
  • reads ESR through the active type world and renders readable printer output
  • keeps BOIE texts visible as contextual comments instead of flattening everything into plain code
  • owns the readable ESR to IRL path, while iIRL owns the historical compile step to ICR
IRL to ICR compiler

iIRL

A front end for the preserved IRL compiler, aimed at generated ICR.

IRL → ICR Historical compiler -m / -n modes
  • compiles Industrial Robot Language with the preserved historical compiler core
  • supports standard output plus historical operand and opcode numbering modes
  • anchors the suite to explicit standards naming: DIN 66312 Part 1, DIN 66312 Teil 1, and ISO/TR 10562

workflow instead of isolated apps

What matters is not just that the windows look consistent, but that the language world can move through the suite: formulated as structure, edited as tree, rendered back into readable text, and compiled where the original compiler still exists.

01 · formulate

iStrudix

Write the language definition in .str and turn it into a generated .typ world with explicit classes and decomposition rules.

STR TYP language model
02 · edit

iTredit

Open ESR with the active type world and work directly on nodes, attributes, relations, and structural focus instead of plain text.

ESR tree editor typed nodes
03 · print

iSutex

Render ESR back into readable output. For IRL-oriented data, the readable ESR to IRL path belongs here, including BOIE comments and expanded texts.

printer view ESR → source BOIE texts
04 · compile

iIRL

Compile IRL source into generated ICR with the preserved historical compiler, including numbering modes derived from the original command line switches.

IRL ICR historical compiler

standards and historical context

The IRL part of the suite is named openly and literally so that the project is discoverable beyond its UI labels. That matters for historical software research as much as it matters for search engines.

Industrial Robot Language

IRL

The suite references DIN 66312 Part 1 and the original German wording DIN 66312 Teil 1. Both names are included because both appear in historical material and both are useful when searching for documentation.

DIN 66312 Part 1 / DIN 66312 Teil 1
Intermediate Code

ICR

The generated target for the preserved compiler is ICR, named here as ISO/TR 10562. That exact wording helps make the page discoverable for the historical standard and the compiler relationship.

ISO/TR 10562
BOIE

Tree-oriented software workbench

The suite is not presented as four random apps. It follows the BOIE idea, baumorientiertes interaktives Entwurfswerkzeug, with one language world moving through editing, printing, and compilation.

ESR · STR · TYP · IRL · ICR
Historical compiler wording preserved: “IRL to ICR Compiler Version 1.3”, based on IRL definition “DIN 66312 Teil 1” dated Sep-1992 and on ICR definition “ISO/TR 10562” dated Apr-1992.

suite screenshots

These views show the suite as a contemporary macOS workbench with a shared visual language, while each tool still keeps its own role in the BOIE pipeline.

Interactive screenshot stage

Hover to reshuffle the suite

This stage is meant to feel closer to a card-swap interaction: you do not need to open and close image pages anymore. Just move the mouse across the app names or the cards themselves and the stack reorders in place.

  • hover the pills to bring one app forward
  • cards stay on the page and swap positions with animation
  • good for quickly comparing iTredit, iStrudix, iSutex, and iIRL
hover a label or screenshot card to bring it to the front
Tree-first editing

ESR visible as structure

The BOIE core idea becomes clearest in iTredit: modules, imports, lists, records, and initialization nodes remain explicitly visible as tree structure instead of disappearing into a flat editor buffer.

iTredit light mode with focus on a menu ESR root node and robot attribute editor tree editor
iTredit dark mode showing the same ESR workbench in dark appearance node detail
Readable output and compilation

Source reconstruction and IRL code generation

The right-hand side of the suite is about getting back to readable source and then into executable robot code: iSutex prints ESR into contextual text, and iIRL turns Industrial Robot Language into generated ICR.

iSutex light mode showing ESR source and printer output iSutex printer
iIRL light mode compiling a tower of hanoi IRL example to ICR iIRL compile