Follks,
I needed a reliable way to extract complete IDEF0 Models out of an AI0 Neutral Text file, and ended up with one using NimbleParsec that loads the whole thing and currently prints it as JSON.
Since I believe there is life in IDEF0 models yet, especially with modern web-based tooling that takes all of the manual diagram drawing off the table, I’ve published the parser as a seed project on GitHub, for discussion and exploration of the topic.
Take a look at my AI0 / IDEF0-parser project if you’re even remotely interested in to domain. I’d love to discuss it with others. It’s embryonic, almost all, with the documentation was generated to address an urgent need, but behind it all there is a very human mind and vision - mine, and you’re invited to be part of that.
AI0 Parser
A comprehensive Elixir parser for IDEF0 AI0 neutral text format files, converting legacy IDEF0 models to structured JSON and Elixir data structures.
Overview
This tool parses IDEF0 AI0 text files (as exported from tools like KBSI’s AI0Win) and converts them into clean, structured Elixir maps and JSON output. It’s designed to preserve complete model fidelity while enabling modern workflows for IDEF0 documentation and governance.
Current Status: Parser is fully functional with configurable output filtering. Unparser (reverse conversion) is planned for future phases to enable complete round-trip workflows.
Context
IDEF0, despite being deprecated as a federal standard, remains genuinely useful for hierarchical activity modeling and complex system analysis. With KBSI’s tooling unmaintained and no modern alternatives, this project addresses the Got a p
- Immediate use case: Converting legacy AI0Win-exported files to JSON for documentation and governance
- Long-term vision: Foundation for a modern web-based IDEF0 modeller (leveraging HTML5 grid layout advantages over legacy Java/SVG approaches)
Features
Current Capabilities
- Complete AI0 parsing: All IDEF0 elements (activities, concepts, diagrams, ICOM lists, hierarchies)
- Structured output: Pools (ID-keyed maps) and Lists (flat arrays) with preserved ordering
- Flexible filtering:
--no-abc: Exclude ABC Data and Objects in ABC list--no-prop: Exclude Property List fields- Both flags can be combined
- JSON export: Pretty-printed JSON for integration into documentation systems
- Elixir-first: Internal representation as Elixir maps/lists, JSON is secondary export format
Planned Capabilities
- Unparser: Regenerate AI0 TXT format from Elixir/JSON structures
- Format validation: Ensure generated files meet AI0 specification
- Web modeller: HTML5-based IDEF0 diagram editor (long-term)
MarthinL






















