Implement comparison operators
This commit is contained in:
@ -146,7 +146,8 @@ namespace elna::riscv
|
||||
instruction& i(x_register rd, funct3_t funct3, x_register rs1, std::uint32_t immediate);
|
||||
instruction& s(std::uint32_t imm, funct3_t funct3, x_register rs1, x_register rs2);
|
||||
instruction& b(std::uint32_t imm, funct3_t funct3, x_register rs1, x_register rs2);
|
||||
instruction& r(x_register rd, funct3_t funct3, x_register rs1, x_register rs2, funct7_t funct7 = funct7_t::none);
|
||||
instruction& r(x_register rd, funct3_t funct3, x_register rs1, x_register rs2,
|
||||
funct7_t funct7 = funct7_t::none);
|
||||
instruction& u(x_register rd, std::uint32_t imm);
|
||||
instruction& j(x_register rd, std::uint32_t imm);
|
||||
|
||||
|
@ -73,9 +73,10 @@ namespace elna::source
|
||||
colon,
|
||||
when,
|
||||
then,
|
||||
_while,
|
||||
loop,
|
||||
_do,
|
||||
procedure
|
||||
procedure,
|
||||
comparison_operator
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -11,7 +11,13 @@ namespace elna::source
|
||||
sum,
|
||||
subtraction,
|
||||
multiplication,
|
||||
division
|
||||
division,
|
||||
equals,
|
||||
not_equals,
|
||||
less,
|
||||
greater,
|
||||
less_equal,
|
||||
greater_equal
|
||||
};
|
||||
|
||||
class declaration;
|
||||
@ -280,6 +286,7 @@ namespace elna::source
|
||||
std::unique_ptr<expression> parse_factor();
|
||||
std::unique_ptr<expression> parse_term();
|
||||
std::unique_ptr<expression> parse_expression();
|
||||
std::unique_ptr<expression> parse_condition();
|
||||
std::unique_ptr<constant_definition> parse_constant_definition();
|
||||
std::unique_ptr<procedure_definition> parse_procedure_definition();
|
||||
std::unique_ptr<declaration> parse_declaration();
|
||||
|
Reference in New Issue
Block a user