v0.3.3: is lib word, UTF–8 string support
This commit is contained in:
+1
-1
@@ -396,7 +396,7 @@ func NewClyx(libfname string, libCode string) *Clyx {
|
|||||||
c.words["type"] = func() { c.cmdType() }
|
c.words["type"] = func() { c.cmdType() }
|
||||||
c.words["next"] = func() { c.stack = append(c.stack, c.popCallerToken()) }
|
c.words["next"] = func() { c.stack = append(c.stack, c.popCallerToken()) }
|
||||||
c.words["."] = func() { printVal(c.pop()) }
|
c.words["."] = func() { printVal(c.pop()) }
|
||||||
c.words["emit"] = func() { fmt.Printf("%c", rune(toInt(c.pop()))) }
|
c.words["emit"] = func() { os.Stdout.Write([]byte{byte(toInt(c.pop()))}) }
|
||||||
c.words["fopen"] = func() {
|
c.words["fopen"] = func() {
|
||||||
mode, fileVal := c.pop().(string), c.pop()
|
mode, fileVal := c.pop().(string), c.pop()
|
||||||
isStdin := false
|
isStdin := false
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class Clyx:
|
|||||||
def default_in():
|
def default_in():
|
||||||
try: return input()
|
try: return input()
|
||||||
except: return 'exit'
|
except: return 'exit'
|
||||||
self._in_str, self._out_num, self._out_char = in_str or default_in, out_num or (lambda v: (sys.stdout.write(str(v)+'\n'), getattr(sys.stdout, 'flush', lambda: None)())), out_char or (lambda v: (sys.stdout.write(chr(int(v))), getattr(sys.stdout, 'flush', lambda: None)()))
|
self._in_str, self._out_num, self._out_char = in_str or default_in, out_num or (lambda v: (sys.stdout.write(str(v)+'\n'), getattr(sys.stdout, 'flush', lambda: None)())), out_char or (lambda v: (sys.stdout.buffer.write(bytes([int(v)])) if hasattr(sys.stdout, 'buffer') else sys.stdout.write(chr(int(v))), getattr(sys.stdout, 'flush', lambda: None)()))
|
||||||
self._stack, self._tokens, self._token_streams = [], [], []
|
self._stack, self._tokens, self._token_streams = [], [], []
|
||||||
self._words = {
|
self._words = {
|
||||||
'dup': lambda: self._stack.append(self._stack[-1]), 'drop': lambda: self._stack.pop(), 'swap': lambda: self._stack.extend([self._stack.pop(), self._stack.pop()]), 'i': lambda: self._eval(self._stack.pop()),
|
'dup': lambda: self._stack.append(self._stack[-1]), 'drop': lambda: self._stack.pop(), 'swap': lambda: self._stack.extend([self._stack.pop(), self._stack.pop()]), 'i': lambda: self._eval(self._stack.pop()),
|
||||||
|
|||||||
Reference in New Issue
Block a user