diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/operators.nom | 5 | ||||
| -rw-r--r-- | core/text.nom | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/core/operators.nom b/core/operators.nom index d0e3915..9a836bf 100644 --- a/core/operators.nom +++ b/core/operators.nom @@ -209,7 +209,8 @@ compile [not %] to (Lua value "(not \(% as lua expr))") test: assume ((length of [1, 2, 3]) == 3) -compile [length of %list, || %list ||] to (Lua value "(#\(%list as lua expr))") +compile [length of %list, len %list, || %list ||] to (Lua value "(#\(%list as lua expr))") +compile [%list is empty] to (Lua value "(#\(%list as lua expr) == 0)") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -221,4 +222,4 @@ parse [%var /= %] as (%var = (%var / %)) parse [%var ^= %] as (%var = (%var ^ %)) parse [%var and= %] as (%var = (%var and %)) parse [%var or= %] as (%var = (%var or %)) -parse [wrap %var around %] as (%var = (%var wrapped around %))
\ No newline at end of file +parse [wrap %var around %] as (%var = (%var wrapped around %)) diff --git a/core/text.nom b/core/text.nom index 641db14..40e0451 100644 --- a/core/text.nom +++ b/core/text.nom @@ -53,6 +53,10 @@ compile [%text matches %pattern] to (..) Lua value ".." (\(%text as lua expr):match(\(%pattern as lua expr)) and true or false) +compile [%text matching %pattern] to (..) + Lua value ".." + \(%text as lua expr):match(\(%pattern as lua expr)) + # Text literals lua> ".." @@ -68,4 +72,4 @@ lua> ".." return LuaCode.Value(tree.source, lua) end end - end
\ No newline at end of file + end |
