[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(No Subject)
- Subject: (No Subject)
- From: ladagnou@irit.fr (Philippe LADAGNOUS)
- Date: 12 Mar 1996 10:46:32 +0100
Bonjour,
Je souhaiterais "parser" un texte en conservant les retours a la ligne tels quels.
(cad sans etre absorbes par lex mais faisant partie de l'arbre abstrait).
J'ai modifie le fichier .tokens de mon langage de la maniere suivante:
%}\
%S waitdata entrypoint sentences\
%%\
$a\
<sentences>[\\n]+ return(CARRIAGE);\
<sentences>[a-zA-Z][a-zA-Z0-9_]* return(ID);\
<sentences>[-+*=,;<>:\\[\\]/^&`'.()!?@#{}$%|~\\\\]+ return(IDS);\
<sentences>[0-9]+ return(INTEGER);\
<sentences>[ ]+ return(BLANC);\
<sentences>. {fputs("-3\\n",yyout); fputs(yytext,yyout); putc('\\n',yyout); }
Lorsque j'essaie d'analyser un fichier, il me repond:
Error: ** funcall : undefined function : ()
Puis + tard, un timeout se produit:
Error: ** parsing : Timeout occurred for : nom_fichier
C'est le \\n qui parait poser un probleme. En effet, en modifiant le token
CARRIAGE (en y mettant un caractere classique) et le texte de maniere appropriee, cela
fonctionne. (la grammaire parait donc correcte)
Merci.