begin process at 2012 05 27 13:33:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > ANALYSEUR SYNTAXIQUE EN C

ANALYSEUR SYNTAXIQUE EN C


 Information sur la source

Note :
8 / 10 - par 3 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Débutant Date de création :23/04/2002 Date de mise à jour :28/05/2002 23:25:52 Vu / téléchargé :14 099 / 1 625

Auteur : Haldwin

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Voila il s'agit d'un analyseur syntaxique d'une petite calculatrice. Le prog analyse la syntaxe de l'opération entrée par l'utilisateur et renvoie le résultat si elle est correcte.Il faut mettre un '#' a la fin de l'opération avant de taper sur entrée. Exemple: 2+(63*452)#
A+,
Haldwin.

Source

  • Ci-dessous le code du main de l'analyseur:
  • void main()
  • {
  • strcpy(str[0].tab,"sqr");
  • strcpy(str[1].tab,"sqrt");
  • gets(commande);
  • carlu = commande[0];
  • if(commande[0] == 0)
  • {
  • printf("Chaine vide.\n");
  • erreur();
  • }
  • else
  • {
  • index=1;
  • sommet = -1;
  • expression();
  • if(prochain != C_FINI)
  • {
  • printf("Chaine ayant une erreur.\n");
  • /*erreur();*/
  • }
  • else
  • {
  • printf("Analyse syntaxique correcte.\n");
  • printf("Le resultat est: %d\n",depiler(tab, &sommet));
  • }
  • }
  • getch();
  • }
  • Téléchargé le code si vous souhaitez avoir le code entier.
Ci-dessous le code du main de l'analyseur:

void main()
{
	strcpy(str[0].tab,"sqr");
	strcpy(str[1].tab,"sqrt");
	

	gets(commande);
	carlu = commande[0];

	if(commande[0] == 0)
	{
		printf("Chaine vide.\n");
		erreur();
	}
	else
	{
		index=1;
		sommet = -1;
		expression();
		if(prochain != C_FINI)
		{
			printf("Chaine ayant une erreur.\n");
			/*erreur();*/
		}
		else
		{
			printf("Analyse syntaxique correcte.\n");
			printf("Le resultat est: %d\n",depiler(tab, &sommet));
		}
	}
	getch();
}

Téléchargé le code si vous souhaitez avoir le code entier.
   


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

ALGO GLOUTON BASÉ SUR LA PROGRAMMATION DYNAMIQUE
Source avec Zip Source avec une capture LANCHAT CLIENT/SERVEUR (MULTICLIENTS) (MFC)
Source avec Zip Source avec une capture CTREECTRLFX: CLASSE GÉRANT AUTOMATIQUEMENT UN CHECKBOX À TRO...
Source avec Zip CRÉATION ET CHARGEMENT D'UNE DLL GRAPHIQUE (MFC)
Source avec Zip CONTROLE DE WINAMP A PARTIR DE VOTRE APPLI...

 Sources de la même categorie

LISTER FICHIERS ET RÉPERTOIRES (MULTIPLATEFORME) par christophedlr
UTILISATION DES TYPELIST EN C++ par wyden
Source avec Zip Source avec une capture QCSSCOMPRESSOR par alphaone
AFFICHAGE D'UN TRIANGLE ISOCELE par nabche
Source avec Zip GESTION D'UNE BIBLOTHEQUE par leclerro19

Commentaires et avis

Commentaire de Lightness1024! le 01/05/2002 12:19:34

attend une minute, tes chaines c des long ??
ton programme est vraiment tres tres bizare je sais pas ou tu as appris a programmer en C mais c pas dans un livre microsoft en tout cas...

Commentaire de bramme le 30/11/2002 22:30:56

Tout a fait d'accord!
On dirait un melange de Turbo Pascal et de basic!

Commentaire de Haldwin le 25/12/2002 23:25:56

Rien à ajouter après des commentaires si constructifs!!!

Commentaire de JCDjcd le 31/07/2003 17:01:16

Salut Haldwin,
voici quelque petit conseil pour ameliorer ta source :
* avoir des nombres a virgules
* gestion des erreurs relatives a la division par 0
* gestion du moins unaire
* gestion du sqrt CORRECT, avec detection de nombre negatif (pour l'instant sqrt(6-10)# donne 16 ?!?!

bon la crois que c'est deja beaucoup !
Si tu veux voir un exemple :
http://www.cppfrance.com/article.aspx?Val=2213

A+

Commentaire de nhoracio le 14/11/2007 20:43:12

Ben moi, j'ai essayé ton code et j'ai pas pu en tirer grand chose. En plus, tes commentaires ne sont pas des meilleurs. Félicitation quand même pour avoir essayé

Commentaire de miss fafa le 25/12/2008 15:35:14

slt ,
pas grave pour un debutant faut le courager comme meme
n'est ce pas les gars !!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales