This website requires JavaScript.
45ca5e3ef5
update readme
master
Art
2022-12-10 17:54:34 +0100
853b4c6256
revert nim.cfg
prod2
2022-12-10 16:52:23 +0100
494d39cdd6
contact info
prod2
2022-12-10 15:35:18 +0100
5664024cbc
code of conduct
prod2
2022-12-07 19:19:47 +0100
7bab153ed5
license change
prod2
2022-12-07 19:00:15 +0100
e0a93d0940
add nbody benchmark
prod2
2022-12-04 14:59:17 +0100
32d643bba0
new danger option in nimble
prod2
2022-12-03 20:39:19 +0100
18c71f41fe
more polish to .md files
prod2
2022-12-03 20:21:18 +0100
bd569c7ae2
fixed readme?
prod2
2022-12-03 20:14:20 +0100
50b1c53278
update readme
prod2
2022-12-03 20:11:45 +0100
09a66b7306
removed old compiler
prod2
2022-12-03 20:05:59 +0100
57b3a4863e
new compiler now passes test suite, after outdated tests were refactored to match new precedence rules
prod2
2022-12-03 20:04:44 +0100
8c90b669e8
emitting variables, scopes
prod2
2022-12-03 15:55:47 +0100
6fc8514a6b
first version of reference, some new tests
prod2
2022-12-03 14:28:09 +0100
3a73ed75ec
add key: val syntax to tables, update tests to match replacement of -> with :
prod2
2022-12-03 13:16:47 +0100
c812d33a77
wrong precedence fixed
prod2
2022-12-03 13:11:46 +0100
41e21733d3
control flow emitting
prod2
2022-12-03 13:07:05 +0100
ef794ea881
add dump AST, make AST printing cleaner
prod2
2022-12-03 12:19:35 +0100
04dd2bf73f
Simplify config - made assertions always enabled, since they already pretty much were - removed debug compiler/scanner since the whole thing was messy, and not present in compv2
prod2
2022-12-03 12:08:41 +0100
3405c10b08
basic emitter in place
prod2
2022-12-03 11:52:51 +0100
9986e96309
fix test
prod2
2022-12-03 09:48:31 +0100
27391bdc43
parsing break, var decl
prod2
2022-12-03 09:39:26 +0100
1e139194b8
block expressions, improved error reporting
prod2
2022-12-03 09:32:41 +0100
c36292843a
update compv1, remove def from compv1
prod2
2022-12-03 09:02:43 +0100
8d1e9a5318
new test
prod2
2022-12-02 21:13:36 +0100
a0e5431b0f
parsing procs
prod2
2022-12-02 21:08:52 +0100
e83cd424f9
backtrack in parser + ampersand op support
prod2
2022-12-02 20:47:31 +0100
b858a066e2
colonCall parsing
prod2
2022-12-02 19:27:02 +0100
f721d0987d
parser progress
prod2
2022-12-02 19:14:41 +0100
e6a48ccee6
compiler rewrite start updated readme accordingly created node.nim in compv2 changed nds.nim - setup for debugging the parser for now
prod2
2022-12-02 15:45:34 +0100
88cc276100
cleanup
prod2
2022-12-02 12:15:10 +0100
ada87cb01b
update gitignore
prod2
2022-12-02 12:10:51 +0100
c21c797ef4
update
prod2
2022-12-02 12:09:10 +0100
70fa10bfa6
readding inline to some stack.nim procs
prod2
2022-02-14 10:46:49 +0100
856d1345e4
init the globals table with a larger init cap
prod2
2022-02-14 10:33:10 +0100
197d61b112
remove broken closure listing
prod2
2022-02-14 07:16:58 +0100
545322bf96
Revert "BROKEN gc"
prod2
2022-02-14 07:15:11 +0100
0f9440dfb0
BROKEN gc
prod2
2022-02-10 06:44:16 +0100
5963a25f37
def declaration of procedures
prod2
2022-02-10 00:35:29 +0100
f86cce7977
use stack instead of frames to find current closure
prod2
2022-02-09 07:06:40 +0100
7e5dff3263
update benchmarks to match new syntax
prod2
2022-02-09 07:01:52 +0100
f79f4e47ba
rename funct to proc
prod2
2022-02-09 06:58:51 +0100
3a9e23b82e
implicit return in blocks
prod2
2022-02-09 06:55:34 +0100
431e8f9a66
implicit return for functions
prod2
2022-02-09 06:47:00 +0100
a16026b364
utf8 support
prod2
2022-02-08 10:10:07 +0100
ece31b11e0
-> method call
prod2
2022-02-08 09:23:21 +0100
5f3f61af2d
change table declaration syntax
prod2
2022-02-08 08:56:47 +0100
8262ca187c
sugars: :: and table . op; allow for reading existing locals of the same name in var statements
prod2
2022-02-08 08:13:38 +0100
2517439caf
mark compiler modules as used, make nimble test rebuild in release mode, make release mode enable all assertions and bounds checks
prod2
2022-02-08 06:04:39 +0100
d4a6921302
split up expression.nim
prod2
2022-02-08 05:50:36 +0100
960be5f0dd
split up compiler into multiple files
prod2
2022-02-08 05:41:05 +0100
954d1e6de4
expand natives
prod2
2022-02-07 06:03:47 +0100
9dc429c92d
natives
prod2
2022-02-07 05:35:07 +0100
d5479a0be7
closures work - test passes now
prod2
2022-02-06 10:04:49 +0100
85aa396054
WIP on closures: single layer closures work, nested closures still broken
prod2
2022-02-06 07:35:00 +0100
392955e290
WIP closures: unclosed upvalues work; improved vm debugging and changed $ for functions, closures
prod2
2022-02-06 04:59:39 +0100
f453de631d
wip closures: dedupliacation of upvalue references
prod2
2022-02-06 04:21:32 +0100
086c6e3c2e
WIP closures, fix compiler bug
prod2
2022-02-06 03:49:36 +0100
2f790067f3
optimization: inline some things that were procs
prod2
2022-02-06 02:46:26 +0100
62995df504
fix string concat
prod2
2022-02-06 01:02:22 +0100
c04d520561
expand closures test
prod2
2022-02-05 12:56:07 +0100
9b3b1056ba
WIP closures + important bugfix
prod2
2022-02-05 12:37:54 +0100
3e48b1cc52
WIP closures
prod2
2022-02-05 12:30:07 +0100
0c4a6553ff
factorial benchmark
prod2
2022-02-05 06:10:37 +0100
af2f639ccc
new benchmark, constant reuse (to better fit in the constant limit)
prod2
2022-02-05 05:52:45 +0100
05887323c0
new test, bugfix
prod2
2022-02-05 03:24:30 +0100
9fdbb1dda6
create an nds testing tool
prod2
2022-02-05 02:45:29 +0100
ef0775b252
don't add other lang examples that may be there locally
prod2
2022-02-03 23:28:45 +0100
bdac4fe7fc
example bf interpreter
prod2
2022-02-03 22:28:25 +0100
0c753dcc00
update readme
prod2
2022-02-03 05:13:02 +0100
ff9cfd9c39
nicer print output with empty lists/tables
prod2
2022-02-03 05:06:05 +0100
2aa3a094bb
update tests to match codebase
prod2
2022-02-03 05:00:09 +0100
c065324168
should have been part of the last commit
prod2
2022-02-03 04:59:06 +0100
20022c405a
unite stringutils and ndstring
prod2
2022-02-03 04:58:34 +0100
159f256a84
add ampersand operator, further work on lists and tables
prod2
2022-02-03 04:56:16 +0100
0ec5bfb60a
wip lists and tables
prod2
2022-02-03 03:18:11 +0100
788ca7eec0
change ^ to :, remove automatic ^
prod2
2022-01-29 22:47:23 +0100
93cae977c6
fix tests
prod2
2022-01-29 22:36:07 +0100
13da52ad24
change project structure
prod2
2022-01-29 22:33:34 +0100
45e22d9fed
expanded the break test, improved compiler error reporting.
prod2
2022-01-29 21:22:42 +0100
2651cf3cbd
bugfix
prod2
2022-01-29 21:11:20 +0100
f665efaeed
use ip rather than ii for funct
prod2
2022-01-29 20:43:13 +0100
71a3d6ad45
fix setglobal popping
prod2
2022-01-29 07:24:58 +0100
d7f59f5ad7
small fixes
prod2
2022-01-29 06:47:34 +0100
3ff351100e
change table to array (thx ElegantBeef)
prod2
2022-01-29 06:22:52 +0100
6d7337e6f7
fix typo
prod2
2022-01-29 06:17:51 +0100
a13659e44f
cleanup old code in vm, free globals
prod2
2022-01-29 06:12:08 +0100
19b8079436
small fix
prod2
2022-01-29 06:01:00 +0100
0b41e69007
wip using custom hashtables for globals
prod2
2022-01-29 06:00:00 +0100
31b0b28dca
WIP switch to custom hashtable for globals
prod2
2022-01-29 05:38:16 +0100
2765daa55b
nan boxing
prod2
2022-01-29 05:12:33 +0100
6961c91468
string interning
prod2
2022-01-29 04:22:21 +0100
9d6576aaeb
add efib benchmark
prod2
2022-01-29 03:29:52 +0100
0dea4e86ec
readd nim.cfg
prod2
2022-01-28 22:07:41 +0100
ded7fd3211
hashtable implementation and test
prod2
2022-01-28 22:00:21 +0100
8031c7720d
custom string object
prod2
2022-01-28 04:17:11 +0100
90d04f13f6
replaced seq with a custom stack object for performance
prod2
2022-01-27 18:54:02 +0100
01de21e32e
remove error type
prod2
2022-01-27 06:09:59 +0100
6cc2406d5f
made less/greater implementation consistent
prod2
2022-01-27 06:09:04 +0100
215d1539de
move arity checking to its own op
prod2
2022-01-27 05:56:09 +0100