Nocturn9x
|
13a6d71cfa
|
Minor formatting and language changes to bytecode spec
|
2022-03-14 09:09:42 +01:00 |
Nocturn9x
|
9babc75995
|
Fixed issues with some grammatical constructs, updated copyright year and minor changes to funDecl
|
2022-03-11 16:46:51 +01:00 |
Nocturn9x
|
65053b7a05
|
Updates to the bytecode spec. Started working a bit on the type system
|
2022-02-03 15:14:31 +01:00 |
nocturn9x
|
19df7e84a1
|
Added support for in-place operators, removed all inplace opcodes, renamed DeleteNameFast to DeleteFast and the Update* opcodes to Store*. Updated grammar accordingly
|
2021-12-30 16:03:40 +01:00 |
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
|
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
|
77224d707c
|
Added encoding for collections
|
2021-11-17 12:10:22 +01:00 |
Nocturn9x
|
7194e937fb
|
Added lexical specification for augmented (aka inplace) assignment
|
2021-11-16 13:31:52 +01:00 |
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 |