Simple reflection for Inform 7

In December 2024, Zed Lopez published on this forum a small extension called Lexicography
with which all words known to the parser could be extracted by type: verbs, nouns, prepositions…

Studying this code was very useful for learning some of the inner machinery of Inform and also an opportunity to learn how to work with Inform 6 at a low level.

In my work I build programs in the C# language, and I often make use of reflection APIs to access code properties that I cannot know at development time because they are interchangeable modules that are hooked up at run-time.

So, also taking advantage of Zed Lopez’s extension, I created these functions that allow you to create updated documentation directly from compiled code.

This code is used by my game Espresso Moka

Today I want to share with you this little work of mine in the hope that it may be useful to someone.

Il progetto è disponibile su GitHub

5 Likes

This decodes the I6 data structures that form the game dictionary and verb/grammar tables? Is that right?

In the first part are decoded commands and grammar lines.

The second part retrieves informations about the compilers, serial, ifid and virtual machine.