Outils pour utilisateurs

Outils du site


projets:lexicu

Opérations ensemblistes

Nom Exemple Fonction ICU
union union([a-z], [A-Z]) = [a-zA-Z] uset_addAll
intersection intersection([0-9], [4-5]) = [4-5] uset_retainAll
difference difference([0-9], [4-5]) = [0-36-9] uset_removeAll
inverse inverse([\x40-\5A]) = [\x00-\x3F\x5B-\U12FFFF] uset_complement

Les classes

Posix

Représentation Signification Équivalent
[:alnum:] caractères alphanumériques [A-Za-z0-9]
[:alpha:] caractères alphabétiques [A-Za-z]
[:blank:] espace et tabulation [ \t]
[:cntrl:] caractères de contrôle [\x00-\x1F\x7F]
[:digit:] chiffres décimaux [0-9]
[:graph:] caractères visibles [\x21-\x7E]
[:lower:] lettres minuscules [a-z]
[:print:] caractères visibles et espace [\x20-\x7E]
[:punct:] ponctuations [!"#$%&'()*+,-./:;?@[\\\]_`{|}~]
[:space:] caractères blancs [ \t\r\n\v\f]
[:upper:] lettres majuscules [A-Z]
[:xdigit:] chiffres hexadécimaux [A-Fa-f0-9]

Unicode

Quex :

  • \P{<Unicode Property Expression>}
  • \N{<UNICODE CHARACTER NAME>} (⇔ \P{Name=<UNICODE CHARACTER NAME>}) : u_charFromName
  • \G{<X>} (⇔ \P{General_Category=<X>})
  • \E{<Codec Name>}

ICU :

  • \p{<General Category>} et sa négation \P{<General Category>} (ie [^\p{<General Category>}])
  • \u<4 chiffres hexa>
  • \U<8 chiffres hexa>
  • \x<1 à 2 chiffres hexa>
  • \<1 à 3 chiffres octaux>
  • \a, \b, \f, \n, \r, \t, \\, \v

Equivalents PCRE :

  • \w = \p{Alphabetic}\p{M}\p{Nd}\p{Pc}
  • \s = \p{Whitespace}
  • \X = [[:Zl:][:Zp:][:Cc:][:Cf:][:Grapheme_Extend:]]
UChar32 c;
UErrorCode status;
 
status = U_ZERO_ERROR;
c = u_charFromName(U_UNICODE_CHAR_NAME, "LATIN SMALL LETTER N WITH CEDILLA", &status); // U_EXTENDED_CHAR_NAME, U_CHAR_NAME_ALIAS
if (U_FAILURE(status)) {
    // ...
}
u_fprintf(ustdout, "%04X %C\n", c, c);

Spéciaux

  • A/B : A s'il est suivi de B (B n'étant pas consommé, il compte pour le prochain token)
  • A/B/ : B, précédé d'un A
  • A/B/C : B, précédé d'un A et suivi d'un C
  • ^A : un A en début de ligne
  • A$ : un A en fin de ligne
  • \X<notation hexa>
  • \U<notation hexa>
  • \a, \b, \f, \n, \r, \t, \r, or \v
  • \<notation octale>
  • «EOF» : événement de fin de fichier
  • «FAIL» : événement d'erreur

Fonctions

TODO (yylex, yyless, yymore, etc)

Grammaire

TODO

projets/lexicu.txt · Dernière modification: 08/12/2014 16:28 (modification externe)