mirror of
https://github.com/Reuh/anselme.git
synced 2025-10-27 16:49:31 +00:00
Add default and named arguments, rename equality operator to ==, shortcut for string pairs
This commit is contained in:
parent
17751c5c59
commit
151c70ed26
28 changed files with 396 additions and 146 deletions
4
test/tests/argument alias.ans
Normal file
4
test/tests/argument alias.ans
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
$ f(str: foo)
|
||||
@str + foo
|
||||
|
||||
{f("bi")} = {f(foo="bi")}
|
||||
14
test/tests/argument alias.lua
Normal file
14
test/tests/argument alias.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local _={}
|
||||
_[5]={}
|
||||
_[4]={data="bibi = bibi",tags=_[5]}
|
||||
_[3]={_[4]}
|
||||
_[2]={"return"}
|
||||
_[1]={"text",_[3]}
|
||||
return {_[1],_[2]}
|
||||
--[[
|
||||
{ "text", { {
|
||||
data = "bibi = bibi",
|
||||
tags = {}
|
||||
} } }
|
||||
{ "return" }
|
||||
]]--
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
:5 a
|
||||
|
||||
~ a = 2
|
||||
~ a == 2
|
||||
ko
|
||||
~~
|
||||
ok
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
:5 a
|
||||
|
||||
~ a = 5
|
||||
~ a == 5
|
||||
ok
|
||||
~~
|
||||
ko
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
:5 a
|
||||
|
||||
~ a = 2
|
||||
~ a == 2
|
||||
ko
|
||||
~~ 0
|
||||
ko
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
:5 a
|
||||
|
||||
~ a = 2
|
||||
~ a == 2
|
||||
ko
|
||||
~~ 1
|
||||
ok
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
:5 a
|
||||
|
||||
~ a = 2
|
||||
~ a == 2
|
||||
ko
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
:5 a
|
||||
|
||||
~ a = 5
|
||||
~ a == 5
|
||||
ok
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
:(1:2) a
|
||||
|
||||
0 = {a = (5:2)}
|
||||
0 = {a == (5:2)}
|
||||
|
||||
0 = {a = (1:3)}
|
||||
0 = {a == (1:3)}
|
||||
|
||||
1 = {a = (1:2)}
|
||||
1 = {a == (1:2)}
|
||||
|
||||
:[1,2,3] b
|
||||
|
||||
0 = {b = a}
|
||||
0 = {b == a}
|
||||
|
||||
0 = {b = []}
|
||||
0 = {b == []}
|
||||
|
||||
0 = {b = [3,1,2]}
|
||||
0 = {b == [3,1,2]}
|
||||
|
||||
0 = {b = [1,2,3,4]}
|
||||
0 = {b == [1,2,3,4]}
|
||||
|
||||
1 = {b = [1,2,3]}
|
||||
1 = {b == [1,2,3]}
|
||||
|
|
|
|||
9
test/tests/function alias.ans
Normal file
9
test/tests/function alias.ans
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
$ f : test
|
||||
@"ok"
|
||||
|
||||
{f} = {test}
|
||||
|
||||
$ g : bis(a)
|
||||
@a
|
||||
|
||||
{g("ye")} = {bis("ye")}
|
||||
22
test/tests/function alias.lua
Normal file
22
test/tests/function alias.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
local _={}
|
||||
_[9]={}
|
||||
_[8]={}
|
||||
_[7]={data="ye = ye",tags=_[9]}
|
||||
_[6]={data="ok = ok",tags=_[8]}
|
||||
_[5]={_[7]}
|
||||
_[4]={_[6]}
|
||||
_[3]={"return"}
|
||||
_[2]={"text",_[5]}
|
||||
_[1]={"text",_[4]}
|
||||
return {_[1],_[2],_[3]}
|
||||
--[[
|
||||
{ "text", { {
|
||||
data = "ok = ok",
|
||||
tags = {}
|
||||
} } }
|
||||
{ "text", { {
|
||||
data = "ye = ye",
|
||||
tags = {}
|
||||
} } }
|
||||
{ "return" }
|
||||
]]--
|
||||
4
test/tests/named arguments.ans
Normal file
4
test/tests/named arguments.ans
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
$ f(a, b, c)
|
||||
@a + b + c
|
||||
|
||||
{f("a", "b", "c")} = {f(a="a", b="b", c="c")} = {f(c="c", a="a", b="b")}
|
||||
14
test/tests/named arguments.lua
Normal file
14
test/tests/named arguments.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local _={}
|
||||
_[5]={}
|
||||
_[4]={tags=_[5],data="abc = abc = abc"}
|
||||
_[3]={_[4]}
|
||||
_[2]={"return"}
|
||||
_[1]={"text",_[3]}
|
||||
return {_[1],_[2]}
|
||||
--[[
|
||||
{ "text", { {
|
||||
data = "abc = abc = abc",
|
||||
tags = {}
|
||||
} } }
|
||||
{ "return" }
|
||||
]]--
|
||||
4
test/tests/optional arguments.ans
Normal file
4
test/tests/optional arguments.ans
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
$ f(a, b, c="c")
|
||||
@a + b + c
|
||||
|
||||
{f("a", "b")} = {f("a", "b", "c")} = {f(b="b", a="a")}
|
||||
14
test/tests/optional arguments.lua
Normal file
14
test/tests/optional arguments.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local _={}
|
||||
_[5]={}
|
||||
_[4]={tags=_[5],data="abc = abc = abc"}
|
||||
_[3]={_[4]}
|
||||
_[2]={"return"}
|
||||
_[1]={"text",_[3]}
|
||||
return {_[1],_[2]}
|
||||
--[[
|
||||
{ "text", { {
|
||||
data = "abc = abc = abc",
|
||||
tags = {}
|
||||
} } }
|
||||
{ "return" }
|
||||
]]--
|
||||
4
test/tests/paragraph alias.ans
Normal file
4
test/tests/paragraph alias.ans
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
§ f : test
|
||||
@"ok"
|
||||
|
||||
{f} = {test}
|
||||
14
test/tests/paragraph alias.lua
Normal file
14
test/tests/paragraph alias.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local _={}
|
||||
_[5]={}
|
||||
_[4]={tags=_[5],data="ok = ok"}
|
||||
_[3]={_[4]}
|
||||
_[2]={"return"}
|
||||
_[1]={"text",_[3]}
|
||||
return {_[1],_[2]}
|
||||
--[[
|
||||
{ "text", { {
|
||||
data = "ok = ok",
|
||||
tags = {}
|
||||
} } }
|
||||
{ "return" }
|
||||
]]--
|
||||
|
|
@ -5,6 +5,6 @@ $ f
|
|||
y
|
||||
@2
|
||||
|
||||
~ f = 2
|
||||
~ f == 2
|
||||
~ choose(1)
|
||||
Yes.
|
||||
|
|
|
|||
3
test/tests/variable alias.ans
Normal file
3
test/tests/variable alias.ans
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
:42 a : b
|
||||
|
||||
{a} = {b}
|
||||
14
test/tests/variable alias.lua
Normal file
14
test/tests/variable alias.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local _={}
|
||||
_[5]={}
|
||||
_[4]={data="42 = 42",tags=_[5]}
|
||||
_[3]={_[4]}
|
||||
_[2]={"return"}
|
||||
_[1]={"text",_[3]}
|
||||
return {_[1],_[2]}
|
||||
--[[
|
||||
{ "text", { {
|
||||
data = "42 = 42",
|
||||
tags = {}
|
||||
} } }
|
||||
{ "return" }
|
||||
]]--
|
||||
Loading…
Add table
Add a link
Reference in a new issue