Interface > Utilisation des formats d'échange de données > Fichiers neutres > Importation de fichiers neutres > Format de fichier neutre
  
Format de fichier neutre
Un fichier neutre est constitué de lignes de textes ASCII. Sa syntaxe se caractérise par les éléments suivants :
Une ligne commençant par le caractère # est un commentaire.
Une ligne ne commençant pas par le caractère # est de la forme :
niveau champ valeur
où :
niveau est un nombre entier ;
champ est un nom ;
valeur est une chaîne qui peut être présente.
Un champ doit être l'un des éléments suivants :
le nom d'un type de données simple (entier, chaîne, réel, etc.) ;
le nom d'un tableau ;
le nom d'une structure ;
le nom d'un pointeur sur une structure.
Tous les champs d'un niveau donné appartiennent au même parent.
Si la valeur est présente à un certain niveau et commence par le caractère crochet gauche ([) ou consiste en une série de chiffres séparés par des virgules, elle indique que le champ est un tableau de cotes [n]([m] ...). Les valeurs des éléments du tableau sont contenues sur les lignes niveau+1 jusqu'à la prochaine ligne commençant à nouveau par niveau.
Pour des tableaux à une dimension, une seule ligne est au niveau supérieur (la valeur de ce niveau est une chaîne de valeurs d'éléments séparées par des virgules).
La notation < n*m> indique que les éléments <n> suivants ont chacun la valeur <m>.
Lorsqu'une valeur est présente à un certain niveau (et n'est pas la chaîne ->), il s'agit de la valeur à attribuer au champ.
Lorsqu'une valeur est absente à un certain niveau, cela indique que le champ est une structure. Les éléments immédiats de l'agrégat sont contenus sur les lignes niveau+1 jusqu'à la prochaine ligne commençant à nouveau par niveau.
La ligne dont le champ est la chaîne ugc_xar_len est un cas spécial indiquant que la ligne suivante commence la description d'un tableau de longueurs.
Lorsque la valeur est la chaîne ->, le champ est un pointeur vers un agrégat dont les éléments suivent.
La chaîne de valeur spéciale NULL indique que le champ est un pointeur dont la valeur est nulle.