SCOPE-3: Standard Parser^
- reporter:
kennethpjdyer
- created:
2026-09-22
- initiative:
- status:
closed
Summary^
Implement a standard parser to handle source and include files.
Motivation^
Autotelic Tools define source and include files as those files written in a markup language from which we can derive a document, such as Markdown and reStructuredText, but also C header files and similar targets.
Rather than building a bespoke and error-prone lexer and parser from scratch, we’ll instead pull in Tree-sitter to handle the initial parser and address the post-processing tasks in a separate scope.
The name of this project is atTree, to call out the Tree-sitter dependency. Tree-sitter and the Tree-sitter grammars will be statically compiled with atTree to avoid dependency issues that may emerge from certain grammars being unavailable as packages on all operating systems.
Targets^
Goals^
Initialize the atTree repository with basic information, a main.c function, as well as the initial public functions to set name, program name and version.
Set up the atLog and atRead dependencies to handle logging and build the file manifest from the given command-line arguments.
Set up the Tree-sitter dependency to parse C files and print a JSON rendering to stdout.
Set up Tree-sitter to parse reStructuredText
Set up Tree-sitter to parse Markdown
Non-Goals^
Robust command-line interface is out of scope.
Sub-parse operations required to handle the bodies of lists and directives.
User Experience^
End User^
The atTree process exists at an intermediary stage of operations and is not something the end user should have direct awareness of.
Developer^
The principal direct user of atTree is the developer of downstream processors that need to generate binary data from atTree output.
Dependency^
This project depends on SCOPE-1: Standard Logger to provide the standard logger and SCOPE-2: Standard Reader to provide the standard reader.