je ne comprends pas trop ce que tu veux faire.
Si c'est un système de jeu d'aventure, en ce cas tu devras écrire toi-même l'interpréteur.
Si c'est un système de stockage de données pour un jeu d'aventure (c'est à dire les lieux, les monstres etc), tu peux t'inspirer d'un code existant.
Si c'est juste pour faire un jeu, comme on a déjà dit il existe déjà des systèmes existants.
On ne veut pas te pousser à choisir telle ou telle autre solution, par contre s'il est possible de coder tout un jeu en C en ne séparant pas le jeu du moteur de jeu, c'est un peu dommage car pour faire un second jeu il faudra tout réécrire.
C'est sans doute pour cela que tu parles d'un interpréteur, mais en ce cas je ne vois pas trop l'intérêt de faire les déclarations de l'univers du jeu en C en utilisant un moteur que tu n'aurais pas écrit toi-même. Par exemple pour le système Livrant (
http://gfamad.chez-alice.fr/ ) l'auteur a fait un moteur (=interpréteur) en java capable de lire une aventure écrite en langage simplifié. Idem pour Quest, le code de l'aventure est simple, et l'interpréteur l'interprète au fur et à mesure. Il existe une implémentation en C de cet interpréteur, que tu peux consulter ici :
http://www.ifarchive.org/if-archive/programming/quest/ (c'est Geas)
Enfin, si tu veux "juste écrire un jeu", et te baser sur quelque chose d'existant, tu peux contacter l'auteur des jeux qui se trouvent ici :
http://ifarchive.heanet.ie/if-archive/games/pc/french/
(note : je pensais que cela a été écrit en C, mais je me souviens maintenant que l'auteur m'avait dit que c'était en qbasic...)