Commit Graph

40 Commits

Author SHA1 Message Date
nocturn9x 4f400d7aab Changed all references of NimVM to JAPL's 2021-11-13 19:47:22 +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 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 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 759c4a4214 Updared grammar for try statement 2021-10-29 11:47:18 +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 118b8e5ffc Added differentiation between yield statement and yield expressions and added missing semicolon to delStmt 2021-10-23 12:46:11 +02:00
Nocturn9x 73c00ab4ea Added missing '?' grammar rule for import statements 2021-10-23 12:00:26 +02:00
Nocturn9x 7a80bb071f Fixed grammar rule for import statements 2021-10-23 11:59:42 +02:00
Nocturn9x 941a5221ad Extended bytecode spec with notes on various types 2021-10-22 09:39:28 +02:00
Nocturn9x a75342d27b Added headers 2021-10-20 16:25:56 +02:00
Nocturn9x 9580dc3745 Fixed missing quotes around declaration modifier 2021-10-20 16:17:26 +02:00
Nocturn9x 06b57f143a Fixed missing verb 2021-10-20 16:10:59 +02:00
Nocturn9x b9ed2d1410 Fixed unix epoch time 2021-10-20 16:09:51 +02:00
Nocturn9x 9043af131a Fixed missing article in sentence 2021-10-20 16:06:59 +02:00
Nocturn9x 602c7e8c57 Laid out initial bytecode spec 2021-10-21 12:22:37 +02:00
nocturn9x a2f9456de4 Removed support for the let keyword. Made the optimizer act in-place in most cases. Constant declarations now require initialization. Slight changes to main.nim due to changes in the optimizer 2021-10-16 17:50:31 +02:00
nocturn9x 342c3125b8 Removed accidentally pasted rule from text 2021-09-27 15:48:26 +02:00
nocturn9x 1dbc0bb81c Completely redesigned the AST structure: parsing is almost complete. Formal spec should be mostly fine as well 2021-09-26 16:26:36 +02:00
nocturn9x 3b287aad7f Added 'yield' expression support 2021-09-14 16:12:48 +02:00
nocturn9x 6bc713b2d0 Removed 'dynamic' keyword and extended classDecl to allow for multiple inheritance 2021-09-14 11:00:00 +02:00
nocturn9x 546de1dcb6 Finished all statements, updated grammar, done variable declaration, laid out class/fun/lambda 2021-09-05 19:25:36 +02:00
nocturn9x d192d5e6b7 Removed capitalization from error messages. Added support for del and assert statements 2021-08-24 11:33:52 +02:00
nocturn9x 08058453f7 Improved grammar for float literals to allow a wider range of notations. Also added binary, octal and hexadecimal integer literals 2021-08-23 20:20:22 +02:00
nocturn9x cd84f8a187 Updated grammar with nee assert keyword 2021-08-21 15:05:14 +02:00
nocturn9x efde97ead2 Updated specification with new syntax 2021-08-20 18:13:49 +02:00
nocturn9x 85f216695a Updated and clarified grammar 2021-08-19 15:32:42 +02:00
nocturn9x 925ad52293 Added escape sequence support for string literals, string prefixes, multi-line strings. Ditched multi-line comments and changed inline comment character to '#'. Updated grammar accordingly 2021-07-27 14:11:51 +02:00
nocturn9x 9c880c7c5a Updated grammar.md 2021-07-13 16:16:15 +02:00
nocturn9x 7eff6834c7 Added headers to bytecode.md 2021-07-13 16:15:49 +02:00
nocturn9x 7abf56a884 Typo 2021-07-13 16:12:08 +02:00
nocturn9x 22b71f9dbe Shortened line 2021-07-13 16:11:08 +02:00
nocturn9x 22181c7f78 Added docs 2021-07-13 16:09:40 +02:00