Ich versuche, einen kleinen Lexer zu schreiben, und ich habe eine kleine FrageC++ Lexer
Betrachten Sie die folgende Zeichenfolge
cout << "hello world ;
Beachten Sie, dass es nicht die "
am Ende hat. sollte ich alles nach dem ersten "
ein String und sagen, dass es eine fehlende "
am Ende ist oder ignorieren die anfängliche "
(sagen, dass es nicht mit einem anderen "
endet) und PROCEDE die Token hello
, world
bis zum Ende zu analysieren der Linie?
Sorry, wenn es ein bisschen mehrdeutig scheint.
Was denkst du? Denkst du, dass es notwendig ist, dass du 'Hallo',' Welt' usw. in Token nimmst? Warum würden Sie sie benötigen? –
Wenn ich die Zeile analysierte, würde ich tun, was andere Compiler tun: Erzeuge einen Fehler, der "unterminated string constant" sagt –
Da ist unbekannt, ob die Absicht war "Hallo Welt"; ',' "Hallo Welt;"; oder irgendeine andere Möglichkeit, es ist meiner Meinung nach, dass Sie das anfängliche '' 'verarbeiten müssen und alles, was folgt, bis das abschließende' "' auftritt (und in diesem Fall wurde es nie angetroffen). –