mirror of
https://github.com/hazemKrimi/jack-vm-translator.git
synced 2026-05-01 18:00:27 +00:00
Translate method refactoring
This commit is contained in:
+47
-1
@@ -33,4 +33,50 @@ string generateRandomLabel() {
|
||||
}
|
||||
|
||||
return label;
|
||||
}
|
||||
}
|
||||
|
||||
NoArgumentCommand determineNoArgumentCommand(string command)
|
||||
{
|
||||
if (command == "add")
|
||||
return NoArgumentCommand::ADD;
|
||||
if (command == "sub")
|
||||
return NoArgumentCommand::SUB;
|
||||
if (command == "neg")
|
||||
return NoArgumentCommand::NEG;
|
||||
if (command == "eq")
|
||||
return NoArgumentCommand::EQ;
|
||||
if (command == "gt")
|
||||
return NoArgumentCommand::GT;
|
||||
if (command == "lt")
|
||||
return NoArgumentCommand::LT;
|
||||
if (command == "and")
|
||||
return NoArgumentCommand::AND;
|
||||
if (command == "or")
|
||||
return NoArgumentCommand::OR;
|
||||
if (command == "not")
|
||||
return NoArgumentCommand::NOT;
|
||||
|
||||
return NoArgumentCommand::NEG;
|
||||
}
|
||||
|
||||
OneArgumentCommand determineOneArgumentCommand(string command)
|
||||
{
|
||||
if (command == "label")
|
||||
return OneArgumentCommand::LABEL;
|
||||
if (command == "goto")
|
||||
return OneArgumentCommand::GOTO;
|
||||
if (command == "if-goto")
|
||||
return OneArgumentCommand::IFGOTO;
|
||||
|
||||
return OneArgumentCommand::IFGOTO;
|
||||
}
|
||||
|
||||
TwoArgumentCommand determineTwoArgumentCommand(string command)
|
||||
{
|
||||
if (command == "push")
|
||||
return TwoArgumentCommand::PUSH;
|
||||
if (command == "pop")
|
||||
return TwoArgumentCommand::POP;
|
||||
|
||||
return TwoArgumentCommand::POP;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user