JSreal met donc à la disposition de l'usager plusieurs outils:
Les exemples simples qui suivent montrent quelques manières d'utiliser ces outils; ils sont suivis d'une démonstration complète de génération de texte avec JSreal.
À la base, on peut accéder à l'information du lexique en passant par JSreal; par exemple, le mot "vieux" peut révéler qu'il est antéposé, qu'il devient "vieil" devant une voyelle et que son féminin singulier "vieille" est irrégulier.
En connaissant la structure JSON du lexique, il est possible de l'utiliser directement, par exemple pour produire une liste d'adjectifs antéposés ou de mots qui changent de forme devant une voyelle.
En plus de l'information contenue dans son lexique, JSreal connaît les règles de déclinaison et conjugaison. Avec ces flexions et les outils de présentation, il est facile, par exemple, de créer un tableau de conjugaison. Soit v
le lemme du verbe, f
sa forme et pe
sa personne:
Il aurait été plus grammaticalement correct de spécifier la personne comme allant de 1 à 3 au singulier et au pluriel, mais JSreal accepte aussi les personnes 4 à 6 comme celles du pluriel. Les méthodes cap
et a
annulent respectivement la majuscule et le point qu'une proposition a lorsque indépendante.
Il arrive qu'un programmeur veuille simplement exprimer une certaine quantité de quelque chose, par exemple d'un "item", et qu'il doive considérer manuellement les cas avec aucun item, un seul item ou plusieurs. Soit nb
le nombre d'items et nbitem
la chaîne finale:
Ce code n'est en rien complexe, mais au-delà des expressions complexes, une des forces de JSreal est de réduire la quantité de code requise dans des situations simples:
JSreal crée le nom "item", lui ajoute comme déterminant nb
et demande la forme en toutes lettres du nombre. Cette construction produira donc des expressions comme "aucun item", "un item" et "dix-huit items". L'usager aurait pu modifier au préalable, par la ligne suivante, le paramètre qui indique à JSreal la forme par défaut des nombres: