Laissez-moi vous donner un exemple. Supposons que le contenu d'un fichier texte sont les suivantes:Comment programmer Lex et Yacc pour analyser un fichier partiel
fonction fun1 {
int a, b, c;
fonction fun2 {
int d, e;
char f g;
fonction fun3 {
int h, i;
}
}
Dans le fichier texte ci-dessus, le nombre d'accolades d'ouverture ne sont pas correspondant au nombre de accolades de fermeture. Le fichier dans son ensemble ne suit pas la syntaxe. Cependant les fonctions partielles fun2 et fun3 suivent la syntaxe. Généralement, le fichier texte est très volumineux.
Si l'utilisateur veut analyser la totalité du fichier, c'est-à-dire la fonction fun1, alors le programme devrait afficher une erreur car les accolades ne correspondent pas. Cependant, si l'utilisateur veut seulement analyser le fichier partiel ie la fonction fun2/fun3, alors le programme ne devrait pas jeter une erreur car les accolades correspondent.
J'ai une question maintenant 1. Y at-il un moyen de laisser le Lex et Yacc charger seulement un fichier partiel ? Si oui, comment cela doit-il être fait.