revenir à l'accueil

Développement de CQP

CQP est maintenu par le projet IMS Open Corpus Workbench (CWB).

Des adaptations ont été réalisées dans le moteur CQP par le projet Textométrie pour son intégration dans la plateforme TXM, notamment :

  • implémentation de l'API Java CQi
  • implémentation Windows
  • implémentation Unicode
  • implémentation sous forme de librairie dynamique

Installation

Linux

  • download CWB sources
  • install via apt the following packages: pcre, glib, gcc, flex, bison and default-jdk
    sudo apt-get install pcre glib gcc flex bison default-jdk
  • use Linux32.sh, Linux64.sh, Win32.sh, Win64.sh and MacOSX.sh scripts to build cqp, cqp utils and cqplib
    • the scripts will modify config.mk target platform and site and install mingw for windows 32bit or 64bit

Parseur CQP

Produire le graphe de l'automate YACC du parseur de CQP

  • cd TXM_SDK_0.7.2_Linux64/TXMSDK-workspace/CWB-lib/src/cqp
  • bison –graph=cqpsyntax.dot parser.y
  • dot -Tsvg -ocqpsyntax.svg cqpsyntax.dot
  • Résultat : cqpsyntax.svg.gz
    (à dézipper avant de visualiser : le wiki txm-info n'accepte pas le téléchargement de fichiers SVG - option à ajouter dans la config du wiki). Ci-dessous, une image JPEG du graphe :

cqpsyntax.dot.jpeg

Syntaxe CQL

La syntaxe des attributs de structures ou de mots semble être définie par celle du symbole 'id' du fichier de définition du scanner lexical 'parse.l' (automate LEX) utilisé par le parseur 'parse.y' (automate YACC) :

digits          [0-9]+
exponent        [eE][+-]?{digits}
floatconst      [+-]?{digits}[\.]{digits}{exponent}?
letter          [a-zA-Z_\x80-\xff]
xletter         [a-zA-Z0-9_\-\.\x80-\xff]
idletter        [a-zA-Z_]
xidletter       [a-zA-Z0-9_\-\.]
var             \${letter}{xletter}*
id              {idletter}{xidletter}*(:{xidletter}+)?(^{xidletter}+)?
flags           %[a-z]+
string          \"(\\[^\n]|\"\"|[^"\n])*\"|\'(\\[^\n]|\'\'|[^'\n])*\'

public/specs_dev_moteurcqp.txt · Dernière modification: 2017/06/08 08:51 par matthieu.decorde@ens-lyon.fr