89aa120fd2
add import keyword for importing keys of dicts into local scope
2025-11-09 18:55:31 -08:00
69bbe17992
"add double quoted strings"
2025-11-08 16:14:08 -08:00
63ee57e7f0
curly -> Curly
2025-11-08 16:13:39 -08:00
503ca41155
{ curly strings }
2025-11-08 16:13:28 -08:00
019f7d84b1
Add ?? and ??= operators
2025-11-08 16:12:20 -08:00
7bbf43a725
bitwise operators
2025-11-08 16:10:13 -08:00
c741cfee51
hex and binary numbers
2025-11-08 16:05:28 -08:00
7e69356f79
allow _ in numbers (10_000_000)
2025-11-08 16:00:25 -08:00
45f31d0678
allow newlines in (some) parens expressions
2025-11-08 11:26:46 -08:00
4590d66105
'#comments are comments too, but not hash#in#words'
2025-11-08 08:09:58 -08:00
Chris Wanstrath
890eb811b9
pipe atoms/literals to functions
2025-11-07 15:17:29 -08:00
061452a334
Better names
2025-11-06 10:22:37 -08:00
290ac59cee
Update parser stuff
2025-11-05 16:19:20 -08:00
f57b1c985e
NBD
2025-11-05 10:28:57 -08:00
7bcd582dc6
what have i done
2025-11-03 20:25:42 -08:00
e68624b608
elseif -> else if
2025-11-03 20:16:15 -08:00
950eef0e69
no more single vs multiline blocks
2025-11-03 20:07:34 -08:00
dc557deb40
Collapse all blocks into SingleLineBlock and MultiLineBlock
2025-11-03 19:55:41 -08:00
ee0e6c6c41
Add some grammar aliases for readability
2025-11-03 19:51:43 -08:00
5f4bf60062
while loops
2025-11-03 19:29:19 -08:00
fa034d4bd4
only constant values can be defaults
2025-11-02 16:52:20 -08:00
1791e5a6c7
parse defaults
2025-11-02 14:04:32 -08:00
f14013aa55
allow - in named args
2025-11-01 07:50:21 -07:00
2fa432ea3f
Update generated files
2025-10-31 10:08:15 -07:00
789481f4ef
[a b] = [1 2 3]
2025-10-29 19:13:03 -07:00
1053a5ff52
Make dot-get work in the compiler AND with parens exprs
2025-10-29 13:19:47 -07:00
0dbba4d847
allow conditionals at statement-level
2025-10-29 11:21:16 -07:00
34305b473e
switch back to using ==
2025-10-29 11:18:47 -07:00
fd197a2dfc
fix or/and chaining
2025-10-29 11:14:11 -07:00
ced190488a
Add % operator
2025-10-29 10:58:48 -07:00
982054eb54
[a=1 b=2 c=3] and [=] (empty dict)
2025-10-28 21:10:33 -07:00
7da4c14962
parse arrays
2025-10-28 16:30:45 -07:00
c032192d61
Functions returned by parens expr can be called
2025-10-27 15:17:38 -07:00
318142dfbb
Update shrimp.ts
2025-10-27 12:45:59 -07:00
972fd25fda
update params scope detection, add array.1 (dotget array indices)
2025-10-26 22:23:46 -07:00
abd7d2e43b
DotGet function calls
2025-10-26 16:28:56 -07:00
035ec47885
allow func defs in parens
2025-10-25 17:22:26 -07:00
5234ad9a73
better stuff
2025-10-25 09:53:45 -07:00
d306d58b2f
now it is do
2025-10-24 14:04:50 -07:00
7077762738
great stuff
2025-10-24 14:02:29 -07:00
66671970e0
i did things
2025-10-24 10:17:06 -07:00
82cd199ed8
wip
2025-10-22 11:23:11 -07:00
b2c5db77b2
feat(parser): add AssignableIdentifier token type to grammar
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 18:33:35 -07:00
8a29090364
fix(parser): make DotGet whitespace-sensitive
...
- Add IdentifierBeforeDot token emitted when identifier immediately precedes '.'
- Move DotGet into @skip {} block using IdentifierBeforeDot
- Prevents 'basename . prop' from parsing as DotGet
- Allows 'basename.prop' to work as expected when identifier is in scope
- Fixes test: 'a word can be contained in parens'
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 10:40:28 -07:00
d894713744
feat(parser): complete DotGet implementation with scope tracking
...
- Fixed tokenizer input.read() to use absolute positions
- Fixed FN_KEYWORD term ID (33 after DotGet added to expression)
- Added DotGet to expression for use as function argument
- All 8 DotGet tests passing
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 07:42:07 -07:00
22fba65a53
refactor(parser): rename PropertyAccess to DotGet
...
Aligns naming with ReefVM's DOT_GET opcode and better represents
that this syntax works for both dicts and arrays.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 18:10:21 -07:00
863163d01e
feat(parser): add PropertyAccess grammar rule
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 17:14:48 -07:00
e8a1befdcc
regex and null
2025-10-16 13:51:50 -07:00
80e489f55d
regexs work!
2025-10-16 09:35:31 -07:00
de36b0a711
Cool dude!
2025-10-15 16:47:42 -07:00