v0.3.3: is lib word, UTF–8 string support
This commit is contained in:
@@ -103,10 +103,17 @@ class Clyx:
|
||||
def _cmd_qset(self): i, v, x = self._stack.pop(), self._stack.pop(), self._stack.pop(); (v.pop(int(i)), v.insert(int(i), x)) if isinstance(v, list) else None; self._stack.append(v if isinstance(v, list) else None)
|
||||
def _exec_loop(self, c, b):
|
||||
while (self._exec_qform(c), self._stack.pop())[1]: self._exec_qform(b)
|
||||
_pop_caller_token = lambda self: (lambda t: (t.pop(0) if t[0] != '[' else self._parse_qform((t.pop(0), t)[1])) if t else None)(self._token_streams[-1] if self._token_streams else self._tokens)
|
||||
def _pop_caller_token(self):
|
||||
t = self._token_streams[-1] if self._token_streams else 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
|
||||
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()
|
||||
if isinstance(name, str): name = self._norm_token(name)
|
||||
self._words[name] = val
|
||||
|
||||
Reference in New Issue
Block a user