diff options
Diffstat (limited to 'libalee/parser.cpp')
-rw-r--r-- | libalee/parser.cpp | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/libalee/parser.cpp b/libalee/parser.cpp index 11aba38..705fe67 100644 --- a/libalee/parser.cpp +++ b/libalee/parser.cpp @@ -124,17 +124,7 @@ LIBALEE_SECTION void Parser::processLiteral(State& state, Cell value) { if (state.compiling()) { - constexpr auto ins = CoreWords::token("_lit"); - - // Literal compression: opcodes between WordCount and Begin are unused, - // so we assign literals to them to save space. Opcode "WordCount" - // pushes zero to the stack, "WordCount + 1" pushes a one, etc. - const Cell maxlit = Dictionary::Begin - CoreWords::WordCount; - if (value >= 0 && value < maxlit) - value += CoreWords::WordCount; - else - state.dict.add(ins); - + state.dict.add(CoreWords::token("_lit")); state.dict.add(value); } else { state.push(value); |