From 6cb9c369774f9a1fc39bbaefcb3e50a5b4b68bef Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Wed, 26 Oct 2016 01:16:29 +0100 Subject: LLL: reorder arithmetic/binary instruction list for readability --- liblll/CodeFragment.cpp | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'liblll/CodeFragment.cpp') diff --git a/liblll/CodeFragment.cpp b/liblll/CodeFragment.cpp index ce3024f6..eadb0140 100644 --- a/liblll/CodeFragment.cpp +++ b/liblll/CodeFragment.cpp @@ -330,9 +330,32 @@ void CodeFragment::constructOperation(sp::utree const& _t, CompilerState& _s) if (nonStandard) return; - std::map const c_arith = { { "+", Instruction::ADD }, { "-", Instruction::SUB }, { "*", Instruction::MUL }, { "/", Instruction::DIV }, { "%", Instruction::MOD }, { "&", Instruction::AND }, { "|", Instruction::OR }, { "^", Instruction::XOR } }; - std::map> const c_binary = { { "<", { Instruction::LT, false } }, { "<=", { Instruction::GT, true } }, { ">", { Instruction::GT, false } }, { ">=", { Instruction::LT, true } }, { "S<", { Instruction::SLT, false } }, { "S<=", { Instruction::SGT, true } }, { "S>", { Instruction::SGT, false } }, { "S>=", { Instruction::SLT, true } }, { "=", { Instruction::EQ, false } }, { "!=", { Instruction::EQ, true } } }; - std::map const c_unary = { { "!", Instruction::ISZERO }, { "~", Instruction::NOT } }; + std::map const c_arith = { + { "+", Instruction::ADD }, + { "-", Instruction::SUB }, + { "*", Instruction::MUL }, + { "/", Instruction::DIV }, + { "%", Instruction::MOD }, + { "&", Instruction::AND }, + { "|", Instruction::OR }, + { "^", Instruction::XOR } + }; + std::map> const c_binary = { + { "<", { Instruction::LT, false } }, + { "<=", { Instruction::GT, true } }, + { ">", { Instruction::GT, false } }, + { ">=", { Instruction::LT, true } }, + { "S<", { Instruction::SLT, false } }, + { "S<=", { Instruction::SGT, true } }, + { "S>", { Instruction::SGT, false } }, + { "S>=", { Instruction::SLT, true } }, + { "=", { Instruction::EQ, false } }, + { "!=", { Instruction::EQ, true } } + }; + std::map const c_unary = { + { "!", Instruction::ISZERO }, + { "~", Instruction::NOT } + }; vector code; CompilerState ns = _s; -- cgit v1.2.3