1
0
Fork 0
mirror of https://github.com/Reuh/anselme.git synced 2025-10-27 08:39:30 +00:00

[language] add +_ operator

This commit is contained in:
Étienne Fildadut 2024-01-19 14:35:18 +01:00
parent 9b05bc143b
commit 7e29fb87b4
4 changed files with 12 additions and 0 deletions

View file

@ -34,6 +34,7 @@ local common = {
prefixes = {
{ ">", 4 }, -- just above _=_
{ "!", 11 },
{ "+", 11 },
{ "-", 11 },
{ "*", 11 },
{ "%", 11 },

View file

@ -25,6 +25,7 @@ local primaries = {
r("prefix.function"),
r("prefix.wrap"),
r("prefix.negation"),
r("prefix.positive"),
r("prefix.not"),
r("prefix.mutable"),
r("prefix.translatable"),

View file

@ -0,0 +1,9 @@
local prefix = require("anselme.parser.expression.primary.prefix.prefix")
local operator_priority = require("anselme.common").operator_priority
return prefix {
operator = "+",
identifier = "+_",
priority = operator_priority["+_"]
}

View file

@ -57,6 +57,7 @@ return {
{ "_%_", "(a::is number, b::is number)", function(state, a, b) return Number:new(a.number % b.number) end },
{ "_^_", "(a::is number, b::is number)", function(state, a, b) return Number:new(a.number ^ b.number) end },
{ "-_", "(a::is number)", function(state, a) return Number:new(-a.number) end },
{ "+_", "(a::is number)", function(state, a) return a end },
{ "rand", "(min::is number, max::is number)", function(state, min, max) return Number:new(math.random(min.number, max.number)) end },
{ "rand", "(max::is number)", function(state, max) return Number:new(math.random(max.number)) end },