don't be case sensitive for instructions
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
#include "Assembleur.h"
|
#include "Assembleur.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
@@ -122,6 +123,9 @@ std::uint32_t Assembleur::ParseInstruction(const std::string& a_Str, std::uint32
|
|||||||
std::string ins;
|
std::string ins;
|
||||||
ss >> ins;
|
ss >> ins;
|
||||||
|
|
||||||
|
// to lower case
|
||||||
|
std::transform(ins.begin(), ins.end(), ins.begin(), [](unsigned char c) { return std::tolower(c); });
|
||||||
|
|
||||||
auto it = INSTRUCTION_KEYS.find(ins);
|
auto it = INSTRUCTION_KEYS.find(ins);
|
||||||
if (it == INSTRUCTION_KEYS.end()) {
|
if (it == INSTRUCTION_KEYS.end()) {
|
||||||
throw std::invalid_argument("[Line " + std::to_string(a_RealLine) + "] " + "Instruction \"" + ins + "\" not found !");
|
throw std::invalid_argument("[Line " + std::to_string(a_RealLine) + "] " + "Instruction \"" + ins + "\" not found !");
|
||||||
|
|||||||
Reference in New Issue
Block a user