Les classes suivantes sont utilisées pour communiquer avec le parser Vernac depuis une application. Elles permettent d'envoyer des requètes et de lire les messages de retour en les structurant selon le type de message. Description des requètes et des messages échangés avec Vernac
Fournit des méthodes pour envoyer des requètes au parser par l'intermédiaire d'un flux de sortie connecté sur le flux d'entrée du parser.
class vernacProtocolWriter | |
Champs | |
PrintWriter | out
Le flux sur lequel on envoie les requètes au parser. |
Constructeur | |
VernacprotocolWriter(PrintWriter out) | |
Méthodes | |
void | writePrintVersion()
Exception: :IOException, Si erreur d'écriture sur le flux. |
int | writeParseString(String str, String phylum)
Return: l'identificateur de cette requète Exception: :IOException, Si erreur d'écriture sur le flux. |
int | writeParseFile(String filename)
Return: l'identificateur de cette requète Exception: :IOException, Si erreur d'écriture sur le flux. |
Fournit une méthode pour lire et interpréter les messages sur un flux d'entrée connecté sur le flux de sortie du parser. Le texte du message est transformé en un objet VernacMessage.
class VernacProtocolReader | |
Champs | |
BufferedReader | in
Le flux depuis lequel on lit les messages |
Constructeur | |
VernacProtocolReader(BufferedReader in) | |
Methodes | |
VernacMessage | readMessage()
Lit le prochain message sur le flux d'entrée et retourne un objet VernacMessage associé. Lorsque le message comprend un arbre, on fait appelle a la methode readTree de la classe aioli.vtp.Proto pour convertir le protocole d'arbre en un objet aiolo.vtp.Tree |
Cet objet représente le résultat d'un requète envoyée au parser. Les informations contenues varient selon le type de la requète et son resultat, qui peut être un arbre de syntax, un message d'erreur de syntaxe, la version du parser, une autre erreur. Les champs non utiliés doivent être fixés à null lors de la création de l'objet.
class VernacMessage | |
Champs | |
int | type
type du message. |
int | reqId
identificateur de requete du message. |
static int | PARSED
type du message suite a une requete parse effectuée avec succès. |
static int | PARSED_WITH_ERROR ???
indique qu'une chaine chaine a été parsée mais contient des erreurs. Le message contient un arbre de syntaxe incomplet. |
static int | SYNTAX_ERROR
type du message suite a une requete parse ayant causée une erreur de syntax. |
static int | VERSION
type du message suite a une requete print_version. |
static int | ERROR
type du message suite a une erreur non gérée. |
aioli.vtp.Tree | tree
Arbre de syntaxe de la chaine ou du fichier parsé avec succés. |
String | errorMessage
Message d'erreur (de syntaxe ou autre). |
Location | errorLocation
position de l'erreur de syntaxe. |
Constructeurs | |
VernacMessage(int type, int reqId, String errorMessage, Tree syntaxTree, Location errorLocation) | |
Methodes | |
int | getType()
Retourne le type du mesage. |
Tree | getTree()
Retourne l'arbre de syntaxe resultat d'une requete parse. |
Location | getErrorLocation()
Retourne la positin de l'erreur de syntaxe. |
Location | getErrorMessage()
Retourne le message d'erreur (de syntaxe out autre). parse. |
Postition (debut et fin) d'une séquence dans une autre séquence. Utilisée pour localiser une erreur de syntaxe dans une chaîne ou un fichier.
class Location | |
Champs | |
int | beginCaret
Position de début |
int | endCaret
Position de fin |
Constructeurs | |
Location(int beginCaret, int EndCaret) | |
Methodes | |
int | getBeginCaret()
Retourne la position de début. |
int | getEndCaret()
Retourne la position de fin. |
String | toString()
Retourne la position dans une chaine utilisable pour l'affichage |