feat: add async/await keywords, Num/String extensions, and Jinja markdown example
Add `async` and `await` token support to the Wren compiler with scheduler resolution logic, extend `Num` with `e` constant, hyperbolic trig, base conversion, and new methods (`isZero`, `gcd`, `lcm`, `digits`, etc.), extend `String` with `lower`, `upper`, `capitalize`, `title`, and regenerate `wren_core.wren.inc`. Include `Makefile` for multi-platform builds, rewrite `README.md` with updated build instructions, and add `example/await_demo.wren` and `example/jinja_markdown.wren` demonstrating new features.
This commit is contained in:
+18
-5
@@ -1,13 +1,22 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
from argparse import ArgumentParser
|
||||
from collections import defaultdict
|
||||
from os import listdir
|
||||
from os.path import abspath, basename, dirname, isdir, isfile, join, realpath, relpath, splitext
|
||||
from os.path import (
|
||||
abspath,
|
||||
basename,
|
||||
dirname,
|
||||
isdir,
|
||||
isfile,
|
||||
join,
|
||||
realpath,
|
||||
relpath,
|
||||
splitext,
|
||||
)
|
||||
import re
|
||||
from subprocess import Popen, PIPE
|
||||
from subprocess import PIPE, Popen
|
||||
import sys
|
||||
from threading import Timer
|
||||
|
||||
@@ -16,6 +25,9 @@ from threading import Timer
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument('--suffix', default='')
|
||||
parser.add_argument('suite', nargs='?')
|
||||
parser.add_argument('--skip-tests', action='store_true')
|
||||
parser.add_argument('--skip-examples', action='store_true')
|
||||
|
||||
|
||||
args = parser.parse_args(sys.argv[1:])
|
||||
|
||||
@@ -152,7 +164,7 @@ class Test:
|
||||
timed_out[0] = True
|
||||
p.kill()
|
||||
|
||||
timer = Timer(5, kill_process, [proc])
|
||||
timer = Timer(15, kill_process, [proc])
|
||||
|
||||
try:
|
||||
timer.start()
|
||||
@@ -393,7 +405,8 @@ def run_example(path):
|
||||
|
||||
|
||||
walk(join(WREN_DIR, 'test'), run_test)
|
||||
walk(join(WREN_DIR, 'example'), run_example)
|
||||
|
||||
#walk(join(WREN_DIR, 'example'), run_example)
|
||||
|
||||
print_line()
|
||||
if failed == 0:
|
||||
|
||||
Reference in New Issue
Block a user