Commit Graph

18 Commits

Author SHA1 Message Date
nocturn9x e234c8caaf Removed serialization for singletons as those are encoded as bytecode instructions (whoopsie), and updated the bytecode spec accordingly. Added minor QoL improvements to the parser/compiler REPL 2021-12-22 17:13:03 +01:00
nocturn9x 303a98b9e4 Removed leftover raise statements (whoops) 2021-12-22 16:23:18 +01:00
nocturn9x bfacd24bce Fixed string serialization and reverted .escape() call in AST and Token string representation 2021-12-22 16:21:56 +01:00
Nocturn9x ed13304809 Began deserializing the constants table and the code section of bytecode files. Minor fixes to debugger and bytecode.nim 2021-12-17 17:54:22 +01:00
Nocturn9x 12afed8419 Initial work on bytecode code section 2021-11-21 11:37:20 +01:00
Nocturn9x 2ab4bdc46d Added multiple inline exception support for except handlers and updated grammar accordingly. Added scopeDepth field to parser to keep track of local scopes and emit some errors about declarations. Added some more docs to bytecode instructions, fixed some issues with local scopes in the compiler and made dynamic declarations legal in functions. Added a flag for disabling compiler optimizations 2021-11-20 13:19:57 +01:00
Nocturn9x 352af30bee Added basic (untested) support for static and dynamic variable declarations. Minor fixes to main.nim 2021-11-17 19:05:03 +01:00
Nocturn9x 1515a53cd0 Initial support for global dynamic variable declarations 2021-11-16 15:46:55 +01:00
nocturn9x 318e72b9e1 Compiler support for BuildList, BuildSet, BuildDict and BuildTuple 2021-11-13 19:48:17 +01:00
Nocturn9x 5f33af5b2c Updated copyright notices to include contributors to the project 2021-11-13 11:32:48 +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 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 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