Coloration syntaxique

Soyez le premier à donner votre avis sur cette source.

Vue 7 305 fois - Téléchargée 418 fois

Description

fichier d'entree : deux fichiers textes, la description de la bnf de la grammaire et le code a analyser
fichier de sortie : un fichier HTML ou le texte du code est colorie

ce programme permet de colorier des codes sources qui sont codes suivant des grammaires decrites par des BNF

voici la syntaxe de mes BNF:
pour definir une expression :
.expr = suite_de_symboles | suite_de_symboles | suite_de_symboles ...;

ensuite une suite de symboles est soit une intervalle ['a','z'] soit du texte "hello world" soit une expression .expr
attention ona le droit d'utiliser des definitions recursives, seulement cela ne doit pas etre la premiere
de la suite de symbole
par exemple les entiers peuvents etre definis ainsi:

.chiffre = ['0','9'];
.entier = .chiffre | .chiffre .entier;

et non par .entier = .chiffre | .entier .chiffre;

ensuite il y a deux extensions a cette notation :
les # qui permetten de repeter autant que l'on souhaite un symbole
donc on peut reecire la definition :
.entier = .chiffre # .chiffre;

et les symboles {} qui representent le symbole optionnel :
.toto = {"a"} # "x";
.toto sont les expressions de la forme :
"" "x" "xx" "xxx" ... et "a" "ax" "axx" ...

bref tous ceci permet de decrire assez rapidement des "petits" langages
en exemple un petit langage ou l'on peut definir des fonctions avec
quelques instructions (return, if, declaraction de variable, appels de fonctions...)

le coloriage s'effectue par expression, on peut associe a une expression une couleur
avec une priorite : .expr RGB(255,0,0) %3 = ...;
la couleur est rouge avec la priorite 3, on colorie toujours avec la couleur courante
le plus prioritaire

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

tit_toinou
Messages postés
49
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
16 juillet 2008
-
Salut,
Je vais juste ici parler du html car je pense que tu pourrais réduire considérablement la place occupée par le fichier de sortie.

code HTML horrible (pas de DocType?) -> réductible (en plus en gagnant de la lisibilité et de la compréhension) ... mais bon c'est pas le but de ta source que de présenter un beau html donc en s'en fout...

Si tu veux insérer des Non-Breaking-Space (Espaces Insécables) utilise
pour les tabulations, je ne sais pas trop, tu peux utiliser <dd> mais c'est pas fait pour cela, tu peux utiliser un margin-left: 50px ou alors met plein d'espaces, c'est la meilleur solution ;-)

au lieu de mettre des balise FONT color= à gogo tu pourrais mettre du CSS dans le head et tu mets des balises de ce gout span style="telcouleure" en englobant tout le texte
tit_toinou
Messages postés
49
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
16 juillet 2008
-
tu aurais pu rajouter un execution_du_programme.bat dans le dossier avec dedans EBNF bnf.txt code.txt res.html

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.