thoni56 / ToolMaker

A legacy, but powerful toolset for building compilers and tools
3 stars 1 forks source link

Dev refman #13

Closed tajmone closed 2 years ago

tajmone commented 2 years ago

[manual] Part I. Chs. 2-4

thoni56 commented 2 years ago

Just incredible progress, @tajmone !

tajmone commented 2 years ago

Just incredible progress, @tajmone !

I'm really enjoying this, it gives me the opportunity to learn more about the tools behind the ALAN compiler. And also I'm starting to see the similarities in design between ToolMaker and ALAN, and how the former influenced the latter in many respects (e.g. the semantics of Options, to mention one).

I'm also wondering whether IMP could be used as a preprocessor for the library projects, e.g. to handle conditional code blocks for optional modules. It seems a powerful tool, and might be used along with a Library Wizard GUI to customize the base library by including or excluding specific features.

Since library features rely on classes and/or attributes, the challenge is conditionally handling WHERE and CHECK blocks based on whether a given feature (e.g. clothing, dialogs, etc.) is being included or not.

Surely, there are tons of FOSS macro processors available in the wild, but IMP seems a natural fit for ALAN because of its deep connections between their syntaxes and design.