Bonjour,
J'ai une question à poser sur Bison, mais d'abord, je résume ma situation.
Je développe un interpreteur BASIC à l'ancienne, et je me trouve dans le cas des commandes WHILE et WEND.
Voici le cas qui me pose problème :
Si j'envoie tout mon code source d'un coup à Flex/Bison, je me retrouve avec le devoir de gérer les numéros de lignes, je ne sais pas comment faire cela vu que j'emploi déjà les nombres pour les calculs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 10 WHILE (conditions) : action : action 20 actions 30 WEND
Si, par contre, j'envoie à Flex/bison les lignes de commande une à une manuellement, je peux retrouver où retourner par un système de stockage dans une pile.
Ma question est la suivante :
Existe t'il, au moment du parsing par Bison, un moyen d'obtenir un pointeur sur le WHILE en cours dans la ligne de commande entière ? Ou mieux encore, de connaitre l'offset de la commande WHILE par rapport au début de la ligne de commande ?
A moins qu'il vous paraisse plus logique de parser le programme d'un coup ? Dans ce cas là, merci de me le préciser, et de me dire comment augmenter la taille du tampon Flex pour qu'il puisse contenir un programme de maximum 65535 lignes de char[256].
Partager