1
0
Fork 0
mirror of https://github.com/Reuh/anselme.git synced 2025-10-27 08:39:30 +00:00
anselme/test/tests/resume from nested paragraph.lua
Étienne Reuh Fildadut 64bc85741a Changed a few things
- 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
2021-06-03 15:29:25 +02:00

135 lines
No EOL
2.4 KiB
Lua

local _={}
_[63]={}
_[62]={}
_[61]={}
_[60]={}
_[59]={}
_[58]={}
_[57]={}
_[56]={}
_[55]={}
_[54]={}
_[53]={}
_[52]={}
_[51]={}
_[50]={}
_[49]={}
_[48]={}
_[47]={}
_[46]={}
_[45]={data="c",tags=_[63]}
_[44]={data="a",tags=_[62]}
_[43]={data="Force p checkpoint:",tags=_[61]}
_[42]={data="d",tags=_[60]}
_[41]={data="c",tags=_[59]}
_[40]={data="b",tags=_[58]}
_[39]={data="From q checkpoint again:",tags=_[57]}
_[38]={data="d",tags=_[56]}
_[37]={data="c",tags=_[55]}
_[36]={data="b",tags=_[54]}
_[35]={data="From q checkpoint:",tags=_[53]}
_[34]={data="d",tags=_[52]}
_[33]={data="c",tags=_[51]}
_[32]={data="a",tags=_[50]}
_[31]={data="From p checkpoint:",tags=_[49]}
_[30]={data="d",tags=_[48]}
_[29]={data="x",tags=_[47]}
_[28]={data="From start:",tags=_[46]}
_[27]={_[45]}
_[26]={_[43],_[44]}
_[25]={_[42]}
_[24]={_[41]}
_[23]={_[39],_[40]}
_[22]={_[38]}
_[21]={_[37]}
_[20]={_[35],_[36]}
_[19]={_[34]}
_[18]={_[33]}
_[17]={_[31],_[32]}
_[16]={_[30]}
_[15]={_[28],_[29]}
_[14]={"return"}
_[13]={"text",_[27]}
_[12]={"text",_[26]}
_[11]={"text",_[25]}
_[10]={"text",_[24]}
_[9]={"text",_[23]}
_[8]={"text",_[22]}
_[7]={"text",_[21]}
_[6]={"text",_[20]}
_[5]={"text",_[19]}
_[4]={"text",_[18]}
_[3]={"text",_[17]}
_[2]={"text",_[16]}
_[1]={"text",_[15]}
return {_[1],_[2],_[3],_[4],_[5],_[6],_[7],_[8],_[9],_[10],_[11],_[12],_[13],_[14]}
--[[
{ "text", { {
data = "From start:",
tags = {}
}, {
data = "x",
tags = {}
} } }
{ "text", { {
data = "d",
tags = {}
} } }
{ "text", { {
data = "From p checkpoint:",
tags = {}
}, {
data = "a",
tags = {}
} } }
{ "text", { {
data = "c",
tags = {}
} } }
{ "text", { {
data = "d",
tags = {}
} } }
{ "text", { {
data = "From q checkpoint:",
tags = {}
}, {
data = "b",
tags = {}
} } }
{ "text", { {
data = "c",
tags = {}
} } }
{ "text", { {
data = "d",
tags = {}
} } }
{ "text", { {
data = "From q checkpoint again:",
tags = {}
}, {
data = "b",
tags = {}
} } }
{ "text", { {
data = "c",
tags = {}
} } }
{ "text", { {
data = "d",
tags = {}
} } }
{ "text", { {
data = "Force p checkpoint:",
tags = {}
}, {
data = "a",
tags = {}
} } }
{ "text", { {
data = "c",
tags = {}
} } }
{ "return" }
]]--