|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Inscription : février 2008 Messages : 5 ![]() |
Bonjour,
Je travaille sur une grammaire et j'ai des warnings qui interrompent sa génération. Voici ma grammaire:[code] Citation:
Merci d'avance pour votre aide. |
|
|
|
00
|
|
|
#2 |
![]() ![]() Alain BernardIngénieur aéronautique Inscription : décembre 2011 Messages : 137 ![]() |
Bonsoir,
Je n'ai fait que regarder succinctement ta grammaire mais je peux peut-être proposer une piste. Si je regarde la règle "ImpliesExpression" sur laquelle survient une des erreurs je lis : "ImpliesExpression : => IffExpression ( "-> "Iff=IffExpression )* ;" Ici je me demande si tu es bien obligé de mettre le symbole '=>'. Pour moi il est requis en cas de possible indétermination lors du parsing, or ici il n'y a pas d'indétermination. Pour la règle : "ActualParams :'{ActualParams}' (=> ActualParam ( ","tua=ActualParam )* )? ;", normalement il n'y a pas de quotes autour des accolades. Elles sont là pour forcer l'instanciation d'ActualParams, si tu mets des quotes, Xtext comprendre que l'utilisateur doit taper {ActualParams} De manière générale, vu la taille de ta grammaire, je te conseille d'y aller pas à pas. Commence par les briques de base, vérifies la génération, et rajoute ensuite les briques plus complexes au fur et à mesure. C'est une technique que j'avais adoptée alors que je pensais me trouver dans une impasse, et ça avait plutôt bien marché. Bon courage Alain
__________________
Pas de messages techniques par MP, les forums sont là pour ça. Rédacteur d'articles sur la plateforme Eclipse Rejoignez-nous à l'EclipseCon France 2013 ! |
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 5 ![]() |
Bonjour,
J'ai fait selon votre conseil, je suis allé pas à pas en discriminant une grande partie, voila ma grammaire simplifiée : Code :
Citation:
Citation:
|
||||
|
|
00
|
|
|
#4 | |||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 5 ![]() |
Bonjour,
J'ai pris un exemple de ma grammaire en faisant un test mais à chaque appel à un type déclaré, ça génère des erreurs: Voici un portion de ma grammaire: Code :
Code :
Citation:
|
|||||
|
|
00
|
|
|
#5 | ||
![]() ![]() Alain BernardIngénieur aéronautique Inscription : décembre 2011 Messages : 137 ![]() |
Bonsoir,
A première vue, je propose l'hypothèse suivante : visiblement il y a une erreur au niveau de la ligne : Code :
Property Type messagePatterns= Set{validExchange}; Code :
Code :
Property Type validExchange= Sequence < message >;
__________________
Pas de messages techniques par MP, les forums sont là pour ça. Rédacteur d'articles sur la plateforme Eclipse Rejoignez-nous à l'EclipseCon France 2013 ! |
||
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : décembre 2004 Messages : 1 600 ![]() |
Les trucs dans le genre me semble bizarre, surtout connaissant l'ADL Armani/Acme :
Code xtext :
ConnectorTypeDeclaration : 'Connector Type' name=ID "=" ID De manière générale, je pense que tu as un manque de rigueur dans l'écriture de tes règles. Par exemple, des fois il y a des espaces, des fois non. Il faut "compiler" ta grammaire pas-à-pas parce que là ca va être difficile de corriger tes erreurs. D'autre part, j'anticipe ton travail : l'ADL Armani/Acme permet de définir des types puis des instances. Charge à toi de vérifier que les instances définies sont conformes à leur type. Sur cet aspect, tu peux déjà jeter un oeil à l'avant dernière diapo de mon cours sur Xtext.
__________________
Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS] Retrouvez mes cours et tutos autour d'Android/Java/Eclipse sur http://olegoaer.developpez.com/
|
|
|
00
|
|
|
#7 | |||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 5 ![]() |
Merci, infiniment pour vos conseils !
J'ai essayé de corriger un peu plus ma grammaire car c'est vrai qu'elle est ambiguë. J'ai essayé avant diverses manières mais celle-ci me parait plus rigoureuse. Enfin j’espère l'achever jusqu'à la fin mais j'ai du mal à m'en sortir... Je croyais avoir corrigé ma grammaire mais lorsque j’ai instancié un exemple, il s’avère qu’il existe beaucoup de fautes que je ne comprends pas. Voici une portion : Code :
Code :
Citation:
|
|||||
|
|
00
|
|
|
#8 | ||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 5 ![]() |
Bonjour,
Je propose de définir dans ma grammaire un "Property Type" exemple : Code :
Code :
Que faire j'ai besoin de ces terminaux. Merci. |
||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com