v0.3.6: map, filter, a lot of fixes

This commit is contained in:
Luxferre
2026-07-10 09:51:29 +03:00
parent 7b30ddacbd
commit 6c3a48d796
7 changed files with 54 additions and 7 deletions
+14 -2
View File
@@ -102,14 +102,26 @@ class Clyx:
def _exec_loop(self, c, b):
while (self._exec_qform(c), self._stack.pop())[1]: self._exec_qform(b)
def _pop_caller_token(self):
t = self._token_streams[-1] if self._token_streams else self._tokens
t = None
for stream in reversed(self._token_streams):
if stream:
t = stream
break
if t is None:
t = self._tokens
if not t: return None
val = t.pop(0)
if val == '[': return self._parse_qform(t)
if isinstance(val, str): return self._norm_token(val)
return val
def _cmd_defw(self):
t = self._token_streams[-1] if self._token_streams else self._tokens
t = None
for stream in reversed(self._token_streams):
if stream:
t = stream
break
if t is None:
t = self._tokens
val = self._pop_caller_token() if (t and (t[0] == '[' or isinstance(t[0], list))) else self._stack.pop()
if isinstance(val, str): val = self._norm_token(val)
name = self._stack.pop()
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "clyx"
version = "0.3.5"
version = "0.3.6"
description = "Clyx programming language interpreter"
readme = "README.md"
requires-python = ">=3.7"