mirror of
https://github.com/Reuh/anselme.git
synced 2025-10-27 08:39:30 +00:00
- Bumped to 0.15.0 - Add boot script - Change variable definition syntax, using a = to distinguish more cleary between identifier and value - Variables initial values are evaluated on first use instead of at parsing time - Error on variable redefinition. Means you should make sure to load saves after your scripts. - Improve string parsing, support for escape codes - Remove support for number literals with empty decimal part (42. for 42.0) as there's no distinction in Anselme and it conflicts with .function call suffix - Changed priority of : pair operator - Add type type, and type annotations to variables and function parameters - Change Lua function system to use regular Anselme functions - Defining a function from Lua is now way simpler and require providing a full Anselme function signature - Change Anselme function system - Dynamic dispatch, based on arity, type annotation and parameter names. Will select the most specific function at runtime. - Define way to overload most operators - Allow custom type to text formatters - Allow assignment to custom functions - Index operator ( renamed to () - Functions with parameters each have their own private namespace (scoping ersatz) - Internal: "custom"-mode operators now have their own expression AST type instead of cluttering the function system - Remove static type checker as it is barely useful with new function system. May or may not rewrite one in the future. - Improve error messages here and there - Internal: cleaning
46 lines
No EOL
743 B
Lua
46 lines
No EOL
743 B
Lua
local _={}
|
|
_[21]={}
|
|
_[20]={}
|
|
_[19]={}
|
|
_[18]={}
|
|
_[17]={}
|
|
_[16]={data="3",tags=_[21]}
|
|
_[15]={data="v2=ok",tags=_[20]}
|
|
_[14]={data="50",tags=_[19]}
|
|
_[13]={data="v=50",tags=_[18]}
|
|
_[12]={data="5",tags=_[17]}
|
|
_[11]={_[16]}
|
|
_[10]={_[15]}
|
|
_[9]={_[14]}
|
|
_[8]={_[13]}
|
|
_[7]={_[12]}
|
|
_[6]={"return"}
|
|
_[5]={"text",_[11]}
|
|
_[4]={"text",_[10]}
|
|
_[3]={"text",_[9]}
|
|
_[2]={"text",_[8]}
|
|
_[1]={"text",_[7]}
|
|
return {_[1],_[2],_[3],_[4],_[5],_[6]}
|
|
--[[
|
|
{ "text", { {
|
|
data = "5",
|
|
tags = {}
|
|
} } }
|
|
{ "text", { {
|
|
data = "v=50",
|
|
tags = {}
|
|
} } }
|
|
{ "text", { {
|
|
data = "50",
|
|
tags = {}
|
|
} } }
|
|
{ "text", { {
|
|
data = "v2=ok",
|
|
tags = {}
|
|
} } }
|
|
{ "text", { {
|
|
data = "3",
|
|
tags = {}
|
|
} } }
|
|
{ "return" }
|
|
]]-- |