Nocturn9x
|
fa2e19583d
|
Removed debugging echo statements
|
2021-11-16 15:50:01 +01:00 |
Nocturn9x
|
51246d552f
|
Updated commit hash in config.nim
|
2021-11-16 15:48:50 +01:00 |
Nocturn9x
|
1515a53cd0
|
Initial support for global dynamic variable declarations
|
2021-11-16 15:46:55 +01:00 |
Nocturn9x
|
8c3b98f0c6
|
Added ownership field to declarations
|
2021-11-16 15:21:05 +01:00 |
Nocturn9x
|
3b08932403
|
Improved error handling for declarations inside functions
|
2021-11-16 13:32:12 +01:00 |
Nocturn9x
|
7194e937fb
|
Added lexical specification for augmented (aka inplace) assignment
|
2021-11-16 13:31:52 +01:00 |
Nocturn9x
|
09766ab243
|
Added missing exports
|
2021-11-15 14:27:32 +01:00 |
Nocturn9x
|
8bac5fe657
|
Fixed typos, added more docs. Renamed Local in compiler.nim to a more generic Name. Removed 'raise' from main.nim
|
2021-11-15 14:26:31 +01:00 |
nocturn9x
|
44b52949e4
|
Fixed bug with collections
|
2021-11-13 20:47:46 +01:00 |
nocturn9x
|
1b3ae004bc
|
Fixed crash when the input file is empty
|
2021-11-13 20:00:13 +01:00 |
nocturn9x
|
2d9260fc95
|
Made the commit hash truncation 1 byte longer for consistency with JAPL's help message
|
2021-11-13 19:50:18 +01:00 |
nocturn9x
|
087443c7f9
|
Removed 'raise' statement from loop
|
2021-11-13 19:48:38 +01:00 |
nocturn9x
|
318e72b9e1
|
Compiler support for BuildList, BuildSet, BuildDict and BuildTuple
|
2021-11-13 19:48:17 +01:00 |
nocturn9x
|
15a2403120
|
Quality of life improvements and untested support for debugging the new BuildList/Set/Tuple/Dict instructions
|
2021-11-13 19:47:59 +01:00 |
nocturn9x
|
4f400d7aab
|
Changed all references of NimVM to JAPL's
|
2021-11-13 19:47:22 +01:00 |
Nocturn9x
|
5f33af5b2c
|
Updated copyright notices to include contributors to the project
|
2021-11-13 11:32:48 +01:00 |
Nocturn9x
|
014f20bfe8
|
Finally fixed README
|
2021-11-12 18:42:55 +01:00 |
Nocturn9x
|
5cc2a60c8c
|
Fixed many bugs in the serializer and added (de)serialization output to main.nim
|
2021-11-12 17:47:11 +01:00 |
Nocturn9x
|
afa4369321
|
Made the serializer follow the spec (the 3 byte header was missing)
|
2021-11-12 16:56:41 +01:00 |
Nocturn9x
|
df67e7db64
|
Initial work for loadBytes and removed dumpBytes
|
2021-11-12 16:35:55 +01:00 |
Nocturn9x
|
3d4680e94d
|
Updated bytecode spec to take singletons into account
|
2021-11-12 16:27:12 +01:00 |
Nocturn9x
|
3fde477de6
|
Added serialization for singletons and updated bytecode spec
|
2021-11-12 16:15:30 +01:00 |
Nocturn9x
|
cdd529dbd0
|
Fixed some compiler bugs with emitting constants (bin/oct/hex), added string constants to literal() (whoopsie) and implemented basic serialization in Serializer.dumpBytes
|
2021-11-12 15:37:00 +01:00 |
Nocturn9x
|
b252749d0e
|
Added compiler support for collection literals
|
2021-11-12 14:20:14 +01:00 |
Nocturn9x
|
23fe444a9e
|
Added binary operations in compiler. Minor changes to bytecode spec. Initial ground work on the serializer
|
2021-11-12 13:29:26 +01:00 |
Nocturn9x
|
ac8b21f21b
|
Added support for unary + for consistency, initial working compiler for unary operations and literals (the optimizer has been disabled to show the work of the compiler)
|
2021-11-12 11:52:35 +01:00 |
nocturn9x
|
e249f0bf7b
|
Further ground work in the compiler
|
2021-11-08 10:14:46 +01:00 |
nocturn9x
|
08f68f09df
|
Added opcodes to build collection literals
|
2021-10-31 10:43:45 +01:00 |
nocturn9x
|
033aac50c2
|
Further initial work on the compiler + fixed some parsing bugs with unterminated collection literals. Added initial serializer module for bytecode caching to file. Made token objects value types
|
2021-10-31 10:43:02 +01:00 |
Nocturn9x
|
53741cb0df
|
Started ground work for the compiler
|
2021-10-30 13:21:54 +02:00 |
Nocturn9x
|
df59bc8f0d
|
Fixed bug in the optimizer when folding exponentiation with negative exponents
|
2021-10-30 11:48:46 +02:00 |
Nocturn9x
|
a15aee3d23
|
Added temporary debugger
|
2021-10-30 15:05:04 +02:00 |
Nocturn9x
|
125e41864f
|
Fixed license headers (whoops), started working on bytecode chunks, removed empty modules. Added config.nim and debugger.nim from japl v1 to start merging the two projects together
|
2021-10-30 14:38:46 +02:00 |
Nocturn9x
|
cce5047a61
|
Got rid of Parser.context attribute (using Parser.currentFunction now) and added basic docs on the Parser object
|
2021-10-29 19:51:09 +02:00 |
Nocturn9x
|
a8bb212092
|
Updated copyright notices
|
2021-10-29 12:41:15 +02:00 |
Nocturn9x
|
ce3fbe6ced
|
Fixed bug that always parsed function bodies as empty blocks
|
2021-10-29 12:38:59 +02:00 |
Nocturn9x
|
fd336b5761
|
Minor documentation change in the lexer
|
2021-10-29 12:35:47 +02:00 |
Nocturn9x
|
d81948ed23
|
Significantly improved generator/coroutine detection in the parser, extending it to all expressions variants. Fixed a bug where the lexer would spin up an infinite loop with unterminated string literals
|
2021-10-29 12:33:07 +02:00 |
Nocturn9x
|
759c4a4214
|
Updared grammar for try statement
|
2021-10-29 11:47:18 +02:00 |
Nocturn9x
|
f80ac42101
|
Minor changes to error message for missing initializer in constant declaration
|
2021-10-29 10:51:27 +02:00 |
Nocturn9x
|
d905f319b2
|
Ehnanced generator detection code
|
2021-10-29 10:34:07 +02:00 |
Nocturn9x
|
48087419b2
|
Improved error handling and parsing for try statements
|
2021-10-29 09:54:38 +02:00 |
Nocturn9x
|
73020fd48b
|
Added exception handling parse handlers and slicing support
|
2021-10-28 15:48:23 +02:00 |
Nocturn9x
|
c1a0ecca91
|
Minor reordering and numerous small fixes to grammar. Added try/except/finally/else syntax
|
2021-10-28 09:57:03 +02:00 |
Nocturn9x
|
dc7c6b5f6d
|
Added parser support for the 'defer' keyword
|
2021-10-27 18:47:16 +02:00 |
nocturn9x
|
16f1ffb7d0
|
Added lambda functions as expressions. Added 'as', 'is' and 'of' binary operators. Added collection literals. Renamed isLiteral to isConstant to better reflect usage. Added isLiteral for all literals, including collections. Fixed some edge cases with nested function scopes. Simplified some representation of AST nodes
|
2021-10-24 19:08:17 +02:00 |
nocturn9x
|
e6dbc3cad6
|
Added 'is', 'as' and 'of'
|
2021-10-24 17:01:03 +02:00 |
nocturn9x
|
d0a252e13c
|
Fixed assignment expression, made lambda an expression
|
2021-10-24 16:39:32 +02:00 |
Nocturn9x
|
151b8da0d5
|
Initial (semi-broken) support for await and yield statements/expressions. Minor changes to the lexer and grammar
|
2021-10-25 11:50:12 +02:00 |
Nocturn9x
|
74b8328bf7
|
Implemented yield expressions vs yield statements
|
2021-10-23 12:58:23 +02:00 |