diff --git a/language/interpreter.cc b/language/interpreter.cc index 8b29ac0..8f4a94c 100644 --- a/language/interpreter.cc +++ b/language/interpreter.cc @@ -140,6 +140,7 @@ private: case '-': ret -= val; break; case '*': ret *= val; break; case '/': ret /= val; break; + case '%': ret %= val; break; } } return Value(ret); diff --git a/language/parser.cc b/language/parser.cc index 25bc3db..9f155f2 100644 --- a/language/parser.cc +++ b/language/parser.cc @@ -26,7 +26,7 @@ static auto g_grammar = R"( CONDITION_OPERATOR <- < ('==' / '!=' / '<=' / '<' / '>=' / '>') > _ TERM_OPERATOR <- < [-+] > _ - FACTOR_OPERATOR <- < [*/] > _ + FACTOR_OPERATOR <- < [*/%] > _ IDENTIFIER <- < [a-zA-Z_]+ > _ NUMBER <- < [0-9]+ > _