commit 469ad9bb65212041e11ee751350dc776a366e93f Author: portnoytmy Date: Mon Jun 16 09:17:12 2025 +0200 initial commit diff --git a/einlesen.cpp b/einlesen.cpp new file mode 100644 index 0000000..c219a30 --- /dev/null +++ b/einlesen.cpp @@ -0,0 +1,50 @@ +#include +#include +#include +#include +#include +#include + +std::vector > readFile(const std::string &filename) { + std::vector > instructions; + std::ifstream file(filename); + if(!file.is_open()) { + std::cerr << "Fehler: Datei " << filename << " konnte nicht geöffnet werden.\n"; + return instructions; + } + + std::string line; + while (std::getline(file, line)) { + // Entferne führende oder trailing Whitespace + if (line.empty()) continue; + + std::istringstream iss(line); + std::string command; + std::string param; + + if (!(iss >> command)) { + // Keine gültige Eingabe in dieser Zeile + continue; + } + + // Optionalen Parameter einlesen, falls vorhanden + if (!(iss >> param)) { + // Kein Parameter vorhanden + param = ""; + } + + instructions.push_back(std::make_pair(command, param)); + } + + return instructions; +} + +// Beispiel zur Nutzung +int main() { + auto result = readFile("init"); + for (const auto &inst : result) { + std::cout << "Befehl: " << inst.first << " | Parameter: " << inst.second << "\n"; + } + + return 0; +} diff --git a/file_a b/file_a new file mode 100644 index 0000000..d24efe1 --- /dev/null +++ b/file_a @@ -0,0 +1,8 @@ +READ A0 +ADD 5 +SUB 3 +READ A1 +ADD 10 +SUB 2 +ADD 7 +T diff --git a/file_b b/file_b new file mode 100644 index 0000000..83ad7e4 --- /dev/null +++ b/file_b @@ -0,0 +1,8 @@ +READ A2 +ADD 100 +SUB 20 +EXE file_c +ADD 30 +READ A3 +SUB 15 +T diff --git a/file_c b/file_c new file mode 100644 index 0000000..674bb02 --- /dev/null +++ b/file_c @@ -0,0 +1,7 @@ +LOAD 50 +ADD 10 +EXE file_d +SUB 20 +ADD 5 +SUB 10 +T diff --git a/file_d b/file_d new file mode 100644 index 0000000..4bbc9d6 --- /dev/null +++ b/file_d @@ -0,0 +1,6 @@ +READ A4 +ADD 2 +READ A5 +SUB 1 +ADD 1 +T diff --git a/init b/init new file mode 100644 index 0000000..dcf7472 --- /dev/null +++ b/init @@ -0,0 +1,6 @@ +LOAD 5 +ADD 3 +EXE file_a +SUB 1 +EXE file_b +T