Présentation
Cette application, écrite en Java, analyse le nom d'une molécule
de chimie organique, puis affiche une représentation en deux dimensions
de la molécule.
Seule l'analyse de nom en français est implantée dans
cette application mais des versions allemande, anglaise et espagnole ont
été mises au point.
La nomenclature utilisée suit les règles fixées
par l'Union Internationale de Chimie Pure et Appliquée (U.I.C.P.A.
ou I.U.P.A.C. en anglais) et adaptées, en France, par la Commission
Française de Nomenclature en Chimie organique.
Dans la notation substitutive, principalement utilisée,
le nom systématique comprend la description de la chaîne
principale, saturée ou non, suivie éventuellement d'un groupe
principal en suffixe ; des préfixes peuvent être attachés
à la chaîne principale.
Exemple : 3,7-diméthylocta-1,6-dièn-3-ol de nom
usuel linalol (huile de lavande)
3,7-diméthylocta-1,6-dièn-3-ol
préfixe(s) +
chaîne principale +
insaturations +
groupe principal |
Les positions doivent être exclusivement numériques, les indications
isomériques (ortho, méta, para, iso...) ne sont pas analysées ;
elles sont cependant admises dans quelques noms usuels reconnus et traduits en noms
systématiques avant l'analyse.
Outre les hydrures fondamentaux (nom donné au squelette
carboné principal), sont reconnues les classes fonctionnelles peroxyde,
éther-oxyde, imine, amine, hydroperoxyde, alcool et phénol,
cétone, aldéhyde, nitrile, amide, halogénure d'acyle,
ester, anhydride d'acide et acide carboxylique.
Sont aussi implantés les groupes caractéristiques halogéno,
diazo, nitroso et nitro.
Les dérivés du soufre ne sont pas implantés.
Une collection d'exemples de noms est à votre disposition.
L'analyse du nom
Elle est décomposée en cinq grandes étapes :
1 Vérification du parenthésage
Les substituants en préfixe peuvent être optionnellement parenthésés,
par exemple : 3-(éthyl)-4,5-di{méthyl}heptane ou 3-éthyl-4,5-diméthylheptane
mais un préfixe lui-même substitué doit obligatoirement
être parenthésé, par exemple : 2-(chlorométhyl)butanol.
Parenthèses, crochets et accolades peuvent être librement
utilisés.
Message d'erreur :
L'analyse s'arrête, avec localisation de l'erreur, lorsque la structure
du parenthésage est incorrecte.
Exemple : 3,7-diméthyl)octa-1,6-diène-3-ol
**** Erreur de parenthésage...
3,7-diméthyl)octa-1,6-diène-3-ol
^
Fermant(e) non ouvert(e). |
2 Analyse lexicale
Le nom de la molécule est analysé de gauche à droite
et décomposé en lexèmes. (JLex).
Message d'erreur :
L'analyse s'arrête si au moins un des caractères n'a pu être
analysé. Les lexèmes analysés sont affichés
et les caractères erronés soulignés pour donner une
indication sur une possible erreur typographique.
Exemple : 3,7-dimithylocta-1,6-diène-3-ol
**** Erreur analyse lexicale (version 7-5)...
3,7-dimithylocta-1,6-diène-3-ol
**** |
3 Analyse syntaxique
Elle est effectuée de droite à gauche à l'aide d'un
analyseur type yacc (java Cup). La grammaire n'implante pas une stricte
vérification de la conformité du nom à la nomenclature
mais a été conçue pour reconnaître une formation
raisonnablement cohérente du nom fourni.
Message d'erreur :
En cas d'erreur de l'analyse syntaxique, un affichage souligne la
partie droite du nom déjà analysée et précise le
lexème n'ayant pu être analysé par les règles
de la grammaire.
Exemple : 2-5-dihydroxyocta-3,5-diènal
**** Erreur analyse syntaxique (version 7-5) :
L'analyse syntaxique...
2-5-dihydroxyocta-3,5-diènal
^--------------------------
Impossible de poursuivre l'analyse. |
L'erreur concerne la localisation des groupements OH.
4 Validité de la structure reconnue
Si le nom a été totalement analysé, une formule semi-développée
est affichée, précisant la structure reconnue puis diverses
vérifications de validité de la représentation construite
sont effectuées pouvant conduire à des messages d'erreurs
ou d'avertissement. Cette partie n'est pas entièrement terminée.
Exemple : 3,7-diméthylocta-1,6-diène-3-ol
Nom analysé de la molécule : 3,7-diméthylocta-1,6-diène-3-ol
Formule semi-développée : (CH3-)2C8H11-OH
Messages :
ATTENTION in class noChim.GroupePr
3,7-diméthylocta-1,6-diène-3-ol
* ^
'e' (*) final de l'hydrure doit être élidé
devant une voyelle (^).
1 message(s) dont 0 erreur(s). |
Exemple : propan-1-one
Nom analysé de la molécule : propan-1-one
Formule semi-développée : C3H6=O
Messages :
ATTENTION in class moleculeManagement.Hydrure
propan-1-one
******
Cétone terminale en position 1 avec un hydrogène
-> aldhéhyde.
1 message(s) dont 0 erreur(s). |
5 Dessin de la molécule
Si aucune erreur n'est générée, un
dessin de la molécule est affiché.
Il est même possible, mais pas actuellement proposé, d'obtenir
une représentation XML de la structure de la molécule.
Cette dernière partie est encore en développement.
Bibliographie
Nomenclature UICPA des composés organiques, R. Panico, J.-C. Richer,
Ed. Masson, 1994, ISBN : 2-225-84479-8
Chimie I, 1ère année PCSI, A. DURUPTHY, A. CASALOT, A.
JAUBERT, C. MESNIL, pages 341-346, collection H prépa, Hachette
supérieur.
Abrégé des Règles de
l'IUPAC en français sur le site Chemexper (Belgique)
Contact
Tous commentaires et remarques seront les bienvenus :
ALLEE Jean-Marie
|