John Alanbrook
1c38699b5a
fix scope resolution
2026-02-06 01:41:03 -06:00
John Alanbrook
9a70a12d82
object literal
2026-02-05 21:41:34 -06:00
John Alanbrook
a8a271e014
Merge branch 'syntax' into ast
2026-02-05 20:39:56 -06:00
John Alanbrook
91761c03e6
push/pop syntax
2026-02-05 20:39:53 -06:00
John Alanbrook
5a479cc765
function literal in record literal
2026-02-05 20:32:57 -06:00
John Alanbrook
97a003e025
errors
2026-02-05 20:12:06 -06:00
John Alanbrook
20f14abd17
string templates
2026-02-05 19:34:06 -06:00
John Alanbrook
19ba184fec
default params for functions
2026-02-05 18:44:40 -06:00
John Alanbrook
7909b11f6b
better errors
2026-02-05 18:35:48 -06:00
John Alanbrook
27229c675c
add parser and tokenizer errors
2026-02-05 18:14:49 -06:00
John Alanbrook
64d234ee35
Merge branch 'syntax' into ast
2026-02-05 17:45:15 -06:00
John Alanbrook
e861d73eec
mkarecord
2026-02-05 17:45:13 -06:00
John Alanbrook
a24331aae5
tokenize
2026-02-05 11:21:34 -06:00
John Alanbrook
c1cb922b64
more comprehensive ast
2026-02-05 10:59:56 -06:00
John Alanbrook
aacb0b48bf
more vm tests
2026-02-05 10:44:53 -06:00
John Alanbrook
b38aec95b6
Merge branch 'syntax' into ast
2026-02-05 10:29:29 -06:00
John Alanbrook
b29d3c2fe0
add vm tests
2026-02-05 10:29:09 -06:00
John Alanbrook
1cc3005b68
better jump labels
2026-02-05 10:28:13 -06:00
John Alanbrook
b86cd042fc
vm unit tests
2026-02-05 10:21:16 -06:00
John Alanbrook
8b7af0c22a
vm bytecode output
2026-02-05 10:14:14 -06:00
John Alanbrook
f71f6a296b
register vm
2026-02-05 06:55:45 -06:00
John Alanbrook
9bd764b11b
add go
2026-02-05 03:10:06 -06:00
John Alanbrook
058cdfd2e4
groundwork for vm
2026-02-05 02:59:16 -06:00
John Alanbrook
1ef837c6ff
rm bound function stuff
2026-02-05 02:36:14 -06:00
John Alanbrook
cd21de3d70
rm realm concept on function
2026-02-05 02:33:50 -06:00
John Alanbrook
a98faa4dbb
debugging
2026-02-05 02:27:26 -06:00
John Alanbrook
08559234c4
fix closures
2026-02-05 02:07:18 -06:00
John Alanbrook
c3dc27eac6
machine code
2026-02-04 23:45:51 -06:00
John Alanbrook
7170a9c7eb
ast
2026-02-04 22:20:57 -06:00
John Alanbrook
a08ee50f84
serializable bytecode
2026-02-04 20:57:44 -06:00
John Alanbrook
ed7dd91c3f
rm global
2026-02-04 18:57:45 -06:00
John Alanbrook
3abe20fee0
merge
2026-02-04 18:38:46 -06:00
John Alanbrook
a92a96118e
remove eval parser; consolidate addintrinsic
2026-02-04 17:15:03 -06:00
John Alanbrook
4e407fe301
migrate nota, wota into quickjs.c
2026-02-04 17:03:48 -06:00
John Alanbrook
ab74cdc173
merge warningfix
2026-02-04 16:17:52 -06:00
John Alanbrook
2c9d039271
massive cleanup
2026-02-04 14:26:17 -06:00
John Alanbrook
80d314c58f
Merge templatefix branch
...
Use PPretext for parser string building to avoid GC issues during parsing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-04 14:21:25 -06:00
John Alanbrook
611fba2b6f
fix regexp parsing
2026-02-04 14:19:39 -06:00
John Alanbrook
f5fad52d47
Rewrite template literals with OP_format_template
...
Replace complex template literal handling with a simple format-based
approach. Template literals like `hello ${x}` now compile to:
<push x>
OP_format_template expr_count=1, cpool_idx=N
where cpool[N] = "hello {0}"
The opcode handler parses the format string, substitutes {N} placeholders
with stringified stack values, and produces the result string.
Key implementation details:
- Uses PPretext (parser pretext) with pjs_malloc to avoid GC issues
- Re-reads b->cpool[cpool_idx] after any GC-triggering operation
- Opcode layout is u16 expr_count followed by u32 cpool_idx - the u16
must come first because compute_stack_size reads the pop count from
position 1 for npop_u16 format opcodes
Removed:
- OP_template_concat opcode and handler
- Tagged template literal support (users can use format() directly)
- FuncCallType enum (FUNC_CALL_TEMPLATE case no longer needed)
- Complex template object creation logic in js_parse_template
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-04 14:18:02 -06:00
John Alanbrook
2fc7d333ad
new environment tact for engine
2026-02-04 14:12:57 -06:00
John Alanbrook
d4635f2a75
remove unused vars, fix warnings
2026-02-04 13:49:43 -06:00
John Alanbrook
19576533d9
no more global obj; eval w/ env
2026-02-03 23:07:30 -06:00
John Alanbrook
c08249b6f1
clean up var ref
2026-02-03 22:01:42 -06:00
John Alanbrook
dc348d023f
optimize lref
2026-02-03 21:37:17 -06:00
John Alanbrook
fd5e4d155e
varref cleanup
2026-02-03 20:09:35 -06:00
John Alanbrook
e734353722
Begin removal of varref
2026-02-03 19:13:17 -06:00
John Alanbrook
94f1645be1
new closure model
2026-02-03 19:04:38 -06:00
John Alanbrook
41e3a6d91a
closures work
2026-02-03 18:42:14 -06:00
John Alanbrook
04c569eab1
fix parser
2026-02-03 18:24:06 -06:00
John Alanbrook
dc3c474b3a
link
2026-02-03 18:01:31 -06:00