att.h (1291B)
1 #ifndef ATT_H 2 #define ATT_H 3 4 #include <stdio.h> 5 6 #include "tfm.h" 7 8 /* Le format .att est composé de lignes et de champs. Les champs d’une même 9 * ligne sont séparés par un caractère de tabulation. Il existe deux types de 10 * lignes: l’un déclare une transition, l’autre un état comme final. On les 11 * distingue selon le nombre de champs que contient la ligne. Les lignes du 12 * premier type comptent quatre champs, qui sont: l’identifiant de l’état 13 * source, l’identifiant de l’état destination, le symbole d’entrée et le 14 * symbole de sortie. Par exemple: 15 * 16 * 0 1 ᵘ u 17 * 18 * Certains symboles sont interprétés différemment par foma. La présente mise en 19 * œuvre reconnaît @0@ comme le symbole epsilon (ε), @_IDENTITY_SYMBOL_@ et 20 * @_UNKNOWN_SYMBOL_@. 21 * 22 * Les lignes du deuxième type ne comptent qu’un seul champ, qu’occupe 23 * l’identifiant d’un état à déclarer comme final. Par exemple: 24 * 25 * 1 26 */ 27 28 /* Lire le fichier f au format .att. 29 * Initialise et renvoie un transducteur au format struct tfm, ou NULL en cas 30 * d’erreur. */ 31 struct tfm *att_lire(FILE *f); 32 33 /* Écrire une représentation .att du transducteur tfm dans le fichier f. 34 * Renvoie 0, ou -1 en cas d’erreur. */ 35 int att_ecrire(FILE *f, struct tfm *tfm); 36 37 #endif