Compile to bytecode
This commit is contained in:
@@ -10,9 +10,4 @@ namespace Token
|
||||
std::string errorMsg;
|
||||
TokenizationError(Token const & token, std::string const & msg);
|
||||
};
|
||||
|
||||
struct MissingEndOfString : public TokenizationError
|
||||
{
|
||||
MissingEndOfString(Token const & token);
|
||||
};
|
||||
}
|
||||
@@ -39,13 +39,15 @@ namespace Token
|
||||
static Token CreateEmptyToken(int const lineNumber, int const lineColumn);
|
||||
static Token CreateErrorToken(std::string const & message, TokenType const type, int const lineNumber, int const lineColumn);
|
||||
static Token CreateStatementEndToken(int const lineNumber, int const lineColumn);
|
||||
static Token CreateLabelToken(std::string const & string, int const lineNumber, int const lineColumn);
|
||||
static Token CreateLabelDefinitionToken(std::string const & string, int const lineNumber, int const lineColumn);
|
||||
static Token CreateLabelArgumentToken(std::string const & string, int const lineNumber, int const lineColumn);
|
||||
static Token CreateImmediateValueToken(int const value, int const lineNumber, int const lineColumn);
|
||||
static Token CreateRegisterToken(RegisterType const registerType, int const lineNumber, int const lineColumn);
|
||||
static Token CreateOperandToken(OperandType const operandType, int const lineNumber, int const lineColumn);
|
||||
static Token CreateMemoryToken(RegisterType const registerType, int const lineNumber, int const lineColumn);
|
||||
static Token CreateMemoryToken(int const value, int const lineNumber, int const lineColumn);
|
||||
|
||||
std::string GetName() const;
|
||||
void Print() const;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Token
|
||||
class Tokenizer
|
||||
{
|
||||
private:
|
||||
// argument for string should never be of length zero
|
||||
// Argument for string should never be of length zero
|
||||
Token ExtractToken(
|
||||
std::string const & string,
|
||||
std::size_t const lineNumber,
|
||||
|
||||
@@ -9,7 +9,8 @@ namespace Token
|
||||
ImmediateInteger,
|
||||
Register,
|
||||
StatementEnd,
|
||||
Label,
|
||||
LabelDefinition,
|
||||
LabelArgument,
|
||||
Memory
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user