zeilen untersuchen
-
Also ich will mal so aus spaß ne art Compiler programmieren (aus einer von mir erfundenen sprache in asm). Das ganze soll am ende nur ein paar consolenprogramme compilliere also nichts sehr großes. Mit asm kenn ich mich aus.
Also das programm soll zeile für zeile des quelltextes duchgehen (soweit hab ichs schon). Und dann je nach dem, was in der zeile steht den asm-text erweitern. aber wie soll ich das mit dem überprüfen, was in der zeile (welcher befehl) steht, machen? Also mit SubString ist es schlecht. welche andere methode kann ich nehmen?
Also ich hoffe, ihr versteht mein problem. wenn nicht, dann fragt einfach nach.
-
Lex? Yacc?
-
Lex? Yacc?
Häh? was soll das sein?
-
-
Es gibt hier doch ein spezielles ASM Forum?
-
@burnner:
Ja, gibt es, aber das ist ja eine c++ und keine asm frage. es geht ja um das auslesen der zeile. nicht um das übersetzen.
-
lex und yacc helfen mir nicht so arg weiter. ich will ja am ende sowas wie
if(linie.SubString(1,3)=="out") { // - asm text - }
aber wenn ich das so mit allen befehlen mache, ist das sehr umständlich. da muss es doch auch ne einfachere methode geben.
gibt's nicht sowas wie "findText"
-
Hallo,
eine Datei 'x' Zeile fuer Zeile einlesen:
#include <fstream> #include <string> std::ifstream FileIn("x"); if(!FileIn) //datei konnte geoeffnet werden? return 1; std::string CurrentLine; int Pos; //zeilenweise einlesen while(std::getline(FileIn, CurrentLine)) { Pos = CurrentFile.find("IrgendWas"); //nach 'irgendwas' suchen if(Pos == std::string::npos) //wenn 'irgendwas' nicht gefunden... continue; //...naechste zeile lesen //ansonsten tue weitere noetige schritte } FileIn.close();
Sowas in der Art koenntest du machen.
mfg
v R
-
konnte es jetzt noch nicht ausprobieren, aber es ist genau das, das ich gesucht habe. danke
-
RegEx
-
Jover schrieb:
RegEx
Ja, das koennte hier sogar hilfreicher sein. Wenn du mittels C++ arbeiten willst,
schau dir mal die boost library an, die hat entsprechende Implementierungen.mfg
v R
-
Da bietet sich Boost.Spirit aber wohl besser an...
-
Also ich weis net, was Boost.Spirit ist, aber ich hab mal gegoogelt und hab nen download gefunden. jetzt hab ich spirit-1.6.1 auf der platte. und jetzt, wie verwende ich das?
-
hüstel du solltest BOOST runnerladen nicht spirit^^
-
so, jetzt hab ich boost. und jetzt wieder die gleiche frage: wie verwende ich das?
-
Ganz faul, wie?
selber lesen!.Da Asselmbler aber meistens extrem einfach gesctrickt ist, also etwa
Mnemonic wert, wert
ist Spirit IMHO overkill.