Umlet est une application pour produire des diagrammes UML
Voici comment je l'ai installé en standalone
Téléchargez le zip sur https://www.umlet.com/changes.htm
la version d'umlet est la 15.1 à ce jour.
décompressez le fichier
déplacez le dossier extrait vers /home/<user>/.local/share, et rendez-vous dans ce dossier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ unzip umlet-standalone-15.1.zip
n.b: remplacez <user> par votre nom d'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ mv Umlet /home/<user>/.local/share
Un langage est un ensemble de chaînes de symboles issus d'un alphabet. Avec ces langages, on peut en construire d'autres grâce à ces opérations:
par exemple, soit "L" l'ensemble des lettres et "C" l'ensemble des chiffres. Le langage L(L U C)* est l'ensemble des chaînes de lettres ou de chiffres commençant par une lettre.
Pour décrire ces langages, on peut utiliser ce que l'on appelle des expressions régulières.
Dans un compilateur, l'analyseur syntaxique vérifie que le code source du programme est syntaxiquement cohérent. Pour cela, il se sert d’une grammaire hors contexte. Celle-ci est un ensemble de productions.
Une production se présente sous la forme d’un identificateur, servant de tête de production, puis une flèche de gauche à droite, se lisant "peut prendre la forme de", et, en partie droite, une suite d’identificateurs. Ces derniers sont des terminaux et des non terminaux. Un
L'analyse lexicale est une phase, la première, de la compilation. Elle consiste à lire le code source pour en extraire les unités lexicales.
Une unité lexicale est une entité qui correspond à un élément du langage traduit par le compilateur. Cette unité lexicale peut être accompagnée d'un attribut, un lexème, qui spécifie l'unité lexicale. Par exemple, sur la ligne de code suivante :
Vitesse := 35
L'analyseur lexical retournera, un par un à chaque fois que l'analyseur
Introduction
Cet algorithme prend en entrée une grammaire non contextuelle et donne la liste des non terminaux à parcourir pour obtenir les récursivités à gauches.
Lignes d'enchaînement
Définition
Une ligne d'enchaînement est une suite de non terminaux tel que chacun de ces non terminaux, si celui-ci ne débute pas la ligne, soit l'un des premiers symboles du non terminal précédent.
Exemple de construction d'une liste de lignes