Compilateur c avec unix

Fermé
zoro009 - 24 avril 2008 à 16:08
 zoro009 - 24 avril 2008 à 16:55
Bonjour,

slt les amis j'ai un tres grand probleme j'ai un projet a rendre demain c tres urgent
sujet : compilateur c avec unix (lex".l" et yacc".y")
et mercie de votre aide :-)
A voir également:

1 réponse

snouts Messages postés 87 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 23 juin 2008 10
24 avril 2008 à 16:10
tu dois créer un compilateur C ? en langage C?
0
non un compilateur c avec l'analyseur de linux le lex et le yacc .l et .y
tu as une aider svp et mercie

voicie une exemple
il fait lanalyse syntaxique d'une expression mathemtique de "+" ou "-" et il l'execute semantiquement

fichier.l

%{
#include "y.tab.h"
extern int yylval;
%}
entier [0-9]+
op [-\+]
%%
{entier} {yylval=atoi(yytext); return ENTIER;}
{op} {return yytext[0];}
%%
int yywrap()
{
return 1;
}

fichier.y

%{
#include <stdio.h>
%}

%token ENTIER
%token OPERATEUR
%token eval

%start bloc
%left '+' '-'

%%
bloc: expression
|bloc expression ;

expression: expression '+' expression {printf("\nbravo E+E: ");$$=$1+$3;printf("%d ",$$);} ;
expression: expression '-' expression {printf("\nbravo E-E: ");$$=$1-$3;printf("%d ",$$);} ;

expression: ENTIER {printf("int ");printf("%d ",$$);} ;

%%

int yyerror(char *s) {
printf("%s\n",s);
}

int main()
{ yyparse();}
0