begin process at 2012 05 30 16:35:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Rendre un grammaire LL(1)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Rendre un grammaire LL(1)

mardi 21 décembre 2010 à 14:58:36 | Rendre un grammaire LL(1)

lhoussainben

Bonjour,

Voila mon problème : je veux rendre ma grammaire LL(1) j'ai fait quelque transformations mais il reste encore des problème de récursivité si vous pouvez m'aider sera un grand plaisir:

Code :
grammar grammaire;
//PROGRAMM     : PROGRAMM 'ident' VARDECLLIST FUNCDECLLIST INSTR;
PROGRAMM     : 'programm ident' VARDECLLIST FUNCDECLLIST INSTR;		
VARDECLLIST  : EOF| VARDECL ';' VARDECLLIST;
VARDECL      : 'var' IDENTLIST ';' TYPENAME;
//IDENTLIST    : 'ident' | 'ident' ',' IDENTLIST;
IDENTLIST    : 'ident' IDENT;
IDENT	     : EOF|','IDENTLIST;	
TYPENAME     : ATOMICTYPE | ARRAYTYPE;
ATOMICTYPE   : 'unit' | 'bool' 
                      | 'int'; 
ARRAYTYPE    : 'array' '['RANGELIST']' 'of' ATOMICTYPE; 
//RANGELIST    : 'int..int' |' int .. int,' RANGELIST;
RANGELIST    : 'int..int' RANG;
RANG	     : 	',' RANGELIST|EOF;
FUNCDECLLIST : EOF| FUNCDECL ';' FUNCDECLLIST;
FUNCDECL     : 'function ident ('ARGLIST') : 'ATOMICTYPE VARDECLLIST INSTR;
//ARGLIST      : EOF| ARG 
  //                | ARG ',' ARGLIST;
ARGLIST	     : ARG K| EOF;
K	     :','ARGLIST|EOF;		
ARG          : 'ident :' TYPENAME| 'ref ident :' TYPENAME; 
//INSTR        :  'if' EXPR 'then do 'INSTR
//                              | 'if' EXPR 'then do' INSTR ' else' INSTR 
//				| 'while' EXPR' do' INSTR 
//				| LVALUE' :='EXPR 
//				| 'return' EXPR 
//				| 'return'
//				| 'ident ('EXPRLIST')'|'begin' SEQUENCE 'end' | 'begin end'; 
INSTR        :  'if' EXPR 'then do 'INSTR SUITE 
				| 'while' EXPR' do' INSTR 
				| LVALUE' :='EXPR 
				| 'return' X
				| 'ident ('EXPRLIST')'
				| 'begin' SEQUENCE 'end' 
				| 'begin end'; 
SUITE	    :EOF|' else' INSTR ;					
X	    :EXPR|EOF;	
//SEQUENCE     : INSTR' ; 'SEQUENCE | INSTR ';' 
  //                                | INSTR;
SEQUENCE     : INSTR SUIV; 
SUIV	:	';'SEQUENCE|';'|EOF;
   
//LVALUE       : 'ident' | 'ident ['EXPRLIST']';
LVALUE       : 'ident' VALUE;
VALUE	     :	'['EXPRLIST']'|EOF;
//EXPRLIST     : EXPR | EXPR ',' EXPRLIST;
EXPRLIST     : EXPR T;
T	     :','EXPRLIST |EOF;	
EXPR         : 'cte' R  | '('EXPR')' R
		        | 'opu' EXPR R
                        | 'ident' EXPRL R; 
   
R	     :	'opb' EXPR R | EOF;
EXPRL	     : 	'('EXPRLIST')'|'['EXPRLIST']';


Cette discussion est classée dans : eof, instr, expr, ident, exprlist


Répondre à ce message

Sujets en rapport avec ce message

a propos de eof [ par Xneo ] comment pourai-je utiliser eof afin de pouvoir récupérer le nombre de caractères contenu dans un fichier texte? merci eof [ par byjouxbyjoux ] Ki pourrai me dir a koi sert eof et kommen il fonctionnemerci d'avance;) ado access pour problème d'Eof [ par antoine_1977 ] Salut,Je me connecte à ma db access, je récupère les champs que je veux, mais arrivé à la fin de ma liste ça plante... enfin je catch l'erreur mais c j'ai un prpbléme ...quesqui va pas ? [ par oshin ] hello, alors enfaite j'aimerais que mon bot réponde a un ping lors de la connexion, mais avec mon cod compliqué sa ne marche pas ...ex: ping :12645489 ecrire en c un prg qui reconnait des lexemes? [ par battouta ] bonjour   le probleme c d'ecrire un prg en C qui reconnait des lexemes ilfaut faire un automate pour chaque lexemes puis les reunir en un algorithme a EOF . [ par n3m3s1s ] Salut , J'aimerais comprendre ce que est EOF (end of file) C'est quand j'appui sur enter , echap? merci davance Version des sources. [ par Dilaw ] Bonjour à tous.J'utilise Borland C++ Builder 6 sous Windows.Je souhaiterais mettre en place un "versionning" de mes sources dans cet environnement, à aide pour un mini projet [ par foufi5 ] salut dans le cadre de mes etudes je suis amené à réaliser une calculette simple avec + * / - et puissance. le probleme c'est que au debut je dois lir cin.get, cin.eof ... [ par Loonis ] Bonjour à tous,Voila 2 jour que je me penche sur un probleme de cin.get, cin.eof et de tableaux.Mon programme consiste a demander à l'utilisateur un t ios::eof [ par ssmint ] Bonsoir,mon dernier petit souci en date en matière de C++, est la fonction eof(). Voici le code : #include &lt


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 1,139 sec (4)

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