Short: Semantic N-ary Filesystem Tree Generator Author: Wizardry and Steamworks Uploader: "Wizardry and Steamworks" Type: util/dir Version: 4.4 Replaces: util/dir/arbor.lha Architecture: m68k-amigaos; ppc-morphos; ppc-warpup; ppc-powerup URL: https://grimore.org/computer_science/formalizing_our_complete_filesystem_tree_representation_model -=:[ ChangeLog ]:=- 20260830 - add the -s/--scan flag to actually scan a filesystem 20260824 - make it multiarch! - make sure that the binary emits a proper version like all AmigaOS programs 20260821 - synchronize with the latest formalism - add version and proper command-line arguments processing - update test harness for more important tests -=:[ About ]:=- "arbor" is a command-line utility that reads paths from the standard command- line input and then generates a visual tree by lookng at any overlapping path- components. For example, the invocation: arbor "/a" "/a/a" "/a/a/a" "/a/b/a" will generate the tree: root + | +---+ a + | +---+ a | + | | | +---+ a | +---+ b/a We wrote this utility because we find our filesystem-tree syntax way more aesthetically pleasing and arbor does not rely on reading any actual filesystem tree such that all the paths supplied on the command-line as input can be purely fictive paths with "/" being the path-delimiter. With that said arbor should work flawlessly on any architecture it is delivered for and works even better as a scripting-language program (like node.js or python) but given minimalist environments such as our beloved AmigaOS that cannot run complex JIT and/or interpreters, we decied to release arbor as a C program instead. -=:[ Usage ]:=- Clicking the installer will copy the arbor binary to c: but all the executables are to be found under the "c" folder after unpacking the LHA archive. The arbor_test script uses the 68k binary to render some trees that are very illustrative of the formalism and how it handles its edge cases. arbor can be called with paths on the command-line in order to draw a tree using the paths as input and without relying on the filesystem at all. However, it is recently possible to also scan a filesystem path recursively using the -s/--scan switch with the first parameter set to a path in order to have arbor generate a tree from the path passed as parameter as the starting path. -=:[ Further Documentation ]:=- For what it is worth, the entire N-ary representation is formalized on the following page: * https://grimore.org/computer_science/formalizing_our_complete_filesystem_tree_representation_model that also includes links to various other implementations as well as floppies for LLMs in case you wish to expand the formal system to include other features. -=:[ Copyright and Credits ]:=- Icons are from flaticon.com and our own contributions are licensed: (C) 2026 Wizardry and Steamworks, MIT