Ich möchte eine Textdatei mit einer bestimmten Syntax analysieren.Parsing den Text mit lex
Der Inhalt Datei wäre wie
The Living Room is a room.
ich folgende Token in lex
The return THETOK;
[a-zA-Z]* return ROOMNAME;
"is a room." return ISROOMTOK;
Und in der yacc-Datei geschrieben habe, habe ich
command: THETOK ROOMNAME ISROOMTOK
{
printf($2);
}
folgende
geschrieben
Dies funktioniert für den Text wie
The kitchen is a room.
Aber nicht funktioniert für
The Living Room is a room.
Vielen Dank im Voraus. #TIA
* Yacc * tut das Parsing. * lex * macht die lexikalische Analyse. Klar sein. Deine Grammatik erlaubt nicht die Syntax, die du benutzen willst, und dein Lexer hat irgendeine Regel, die 'Leben' erkennen würde. – EJP
Es muss nicht nur Leben sein, es kann ein beliebiger Name wie Küche, Flur, Schlafzimmer usw. sein. Die Syntax lautet: Die ist ein Raum. Muss so implementiert werden, dass Leerzeichen haben kann. –
user990967
Ich würde eine strengere Spezifikation als das benötigen. – EJP