Le fichier de configuration de l'analyseur, generic.conf, est une liste, délimitée par des accolades, de paires clef/valeur séparées par des virgules:

{ clef-0 => valeur-0, clef-1 => valeur-1, ..., clef-n => valeur-n }

En jargon Perl, c'est un hash. La clef est une chaîne. La valeur peut être une chaîne, un nombre, une liste, un tableau ou un hash.
Comme c'est du Perl, les espaces et fins de ligne peuvent être utilisés pour donner une meilleure apparence à la liste. Elle peut donc être écrite ainsi:

{ clef-0 => valeur-0 , clef-1 => valeur-1 , ... , clef-n => valeur-n }

Vous pouvez aussi ajouter des commentaires en les commençant par un signe dièse (#). Ils s'étendent jusqu'à la fin de la ligne:

# Ligne complète de commentaire { clef-0 => valeur-0 , clef-1 => valeur-1 , ... # Les points de suspension remplacent d'autres parametres , clef-n => valeur-n }

Il existe seulement trois clefs:

{ 'ectagsopts' => [ "option", "option" ... ] , 'eclangnamemapping' => { nom_lang_LXR => nom_lang_ectags , nom_lang_LXR => nom_lang_ectags } , 'langmap' => { descriptions_langage } }

Les deux premières, 'ectagsopts' et 'eclangnamemapping' permettent d'optimiser la reconnaissance des identificateurs et des procédures par ectags. Consultez la documentation ectags.
La dernière, 'langmap', définit les différents langages traités par l'analyseur interne de LXR.

Chaque définition de langage est une liste, délimitée par des accolades, de paires clef/valeur séparées par des virgules:

{ nom_LXR_du_language => { 'langid' => id_numerique_unique , 'identdef' => motif , 'flags' => [ liste_attributs ] , 'reserved' => [ liste_mots_clef ] , 'include' => { gestion_include } , 'spec' => [ configuration_analyseur ] , 'typemap' => { table_correspondance_ectags } } }

Lisez consiencieusement le Manuel de l'utilisateur si vous voulez jouer avec l'analyseur.