Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

analyseur syntaxique et lexial ?

6 réponses
Avatar
Guerin Damien
Bonjour,

le logiciel que je concoie doit pouvoir traiter son propre langage avec
une syntaxe particuliere de la forme (par exemple) :
.data <adresse>
<donnee>
<donnee>
.global <nom>
<donnee>
.programm <adresse>
<instruction>
<instruction>
<instruction>
<instruction>
.end
(c'est un simulateur de processeur VLIW)

pour le moment le code que j'ai fais, analyse le fichier source ligne
par ligne et detecte une bonne partie des erreurs, sauf que ces analyses
sont tres complexes et volumineuses. Je me demandais s'il existait un
logiciel permettant de generer automatiquement et simplement l'analyseur
lexical et synatixque de ma grammaire en JAVA?
Si y a pas, ou si c'est trop complexe a mettre en place, je laisserais
tel quel.

Merci pour vos reponse.

6 réponses

Avatar
Kupee
Guerin Damien wrote:
le logiciel que je concoie doit pouvoir traiter son propre langage avec
une syntaxe particuliere de la forme (par exemple) :
.data <adresse>
<donnee>
<donnee>
.global <nom>
<donnee>
.programm <adresse>
<instruction>
<instruction>
<instruction>
<instruction>
.end
(c'est un simulateur de processeur VLIW)

pour le moment le code que j'ai fais, analyse le fichier source ligne
par ligne et detecte une bonne partie des erreurs, sauf que ces analyses
sont tres complexes et volumineuses. Je me demandais s'il existait un
logiciel permettant de generer automatiquement et simplement l'analyseur
lexical et synatixque de ma grammaire en JAVA?


JavaCC par exemple est parfait pour ce genre de travail

Avatar
Nicolas Repiquet
"Guerin Damien" a écrit dans le message news:

Bonjour,

le logiciel que je concoie doit pouvoir traiter son propre langage avec
une syntaxe particuliere de la forme (par exemple) :
.data <adresse>
<donnee>
<donnee>
.global <nom>
<donnee>
.programm <adresse>
<instruction>
<instruction>
<instruction>
<instruction>
.end
(c'est un simulateur de processeur VLIW)

pour le moment le code que j'ai fais, analyse le fichier source ligne
par ligne et detecte une bonne partie des erreurs, sauf que ces analyses
sont tres complexes et volumineuses. Je me demandais s'il existait un
logiciel permettant de generer automatiquement et simplement l'analyseur
lexical et synatixque de ma grammaire en JAVA?
Si y a pas, ou si c'est trop complexe a mettre en place, je laisserais
tel quel.

Merci pour vos reponse.


Tu peut utiliser SableCC.

Je ne connais pas la forme de tes instruction, mais la grammaire ne doit pas
être très grosse. Quand tu as écrit la grammaire, tu la passe à la
moulinette et sablecc produit le parser qui te produira l'arbre syntaxique.
Tout ça est assez simple d'emploi, et très fonctionnel. Si tu rencontre des
problème n'hésites pas à poser la question, je l'utilise depuis un moment.

Sinon, JavaCC n'est pas libre.

-- Nicolas Repiquet

Avatar
Kupee
Nicolas Repiquet wrote:
Sinon, JavaCC n'est pas libre.


Comment ca pas libre ? c'est une licence BSD je crois non ? C'est pas
trop méchant si je ne m'abuse, ou alors j'ai manqué quelque chose ?

Avatar
Nicolas Repiquet
"Kupee" a écrit dans le message news:
3fa7c9ac$0$2786$
Nicolas Repiquet wrote:
Sinon, JavaCC n'est pas libre.


Comment ca pas libre ? c'est une licence BSD je crois non ? C'est pas
trop méchant si je ne m'abuse, ou alors j'ai manqué quelque chose ?


Je me rappelle plus pourquoi on était passé de javaCC à sableCC ... y avait
un problème de licence ( ou de futur licence ). Désolé si je me suis trompé.

-- Nicolas Repiquet


Avatar
Damien GUERIN
Salut,

non, c'est vrai javacc marche plutot bien. Mais là je me prend la tête avec
la syntaxe... Comment on écrit le epsilon ???


"Nicolas Repiquet" a écrit dans le message de
news: 3fa7cc78$0$260$

"Kupee" a écrit dans le message news:
3fa7c9ac$0$2786$
Nicolas Repiquet wrote:
Sinon, JavaCC n'est pas libre.


Comment ca pas libre ? c'est une licence BSD je crois non ? C'est pas
trop méchant si je ne m'abuse, ou alors j'ai manqué quelque chose ?


Je me rappelle plus pourquoi on était passé de javaCC à sableCC ... y
avait

un problème de licence ( ou de futur licence ). Désolé si je me suis
trompé.


-- Nicolas Repiquet






Avatar
Nicolas Repiquet
"Damien GUERIN" a écrit dans le message news:
bo8mpb$d4q$
Salut,

non, c'est vrai javacc marche plutot bien. Mais là je me prend la tête
avec

la syntaxe... Comment on écrit le epsilon ???


http://www.engr.mun.ca/~theo/JavaCC-FAQ/javacc-faq.htm#tth_sEc4.4

-- Nicolas Repiquet