Nocturn9x
|
10df2d3c17
|
Initial work on the type system. Added ImplicitReturn bytecode optimization. Made checkDecl a template instead of a procedure
|
2022-03-21 15:04:45 +01:00 |
Nocturn9x
|
1afe2f2f47
|
Renamed pointr to p in memory/allocator.nim
|
2022-03-14 09:10:52 +01:00 |
Nocturn9x
|
13a6d71cfa
|
Minor formatting and language changes to bytecode spec
|
2022-03-14 09:09:42 +01:00 |
Nocturn9x
|
bfdfb73fc9
|
The else clause now must be located right after the last except clause in try blocks
|
2022-03-14 08:53:23 +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
|
8e94891d37
|
Added implicit nil return from functions, JumpIfFalseOrPop opcode, error handling for overflowing collection literals, getStaticIndex now returns negative stack index for closed-over variables and variable() emits LoadHeap instructions for them
|
2022-03-10 17:56:21 +01:00 |
Nocturn9x
|
43f5cea905
|
Initial experimental work on function declarations. Minor formatting fixes
|
2022-02-15 11:22:56 +01:00 |
Nocturn9x
|
8ceea4e84f
|
Initial dummy/template work on defer
|
2022-02-14 17:49:15 +01:00 |
Nocturn9x
|
28c6032458
|
Initial work on function and class declarations
|
2022-02-14 17:36:17 +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
|
6e2070899b
|
Minor fixes to error reporting
|
2022-01-31 15:21:46 +01:00 |
Nocturn9x
|
8ed3cc7550
|
Fixed imports (whoops)
|
2022-01-31 15:18:06 +01:00 |
Nocturn9x
|
776a2241f7
|
Readded frontend
|
2022-01-31 15:14:26 +01:00 |
Nocturn9x
|
a545341428
|
Swapped frontend and backend directories (wrong naming)
|
2022-01-31 15:14:08 +01:00 |
Nocturn9x
|
633c032601
|
Added Ctrl+E and Ctrl+A bindings
|
2022-01-31 15:10:53 +01:00 |
nocturn9x
|
29df939df3
|
Added some frontend stuff
|
2022-01-10 11:53:41 +01:00 |
nocturn9x
|
3df9bdc88f
|
Removed debugging raise statement
|
2022-01-10 11:53:14 +01:00 |
nocturn9x
|
44cce0a380
|
Minor changes to the compiler
|
2022-01-07 10:57:15 +01:00 |
nocturn9x
|
fec05a1291
|
Merge branch 'master' of https://github.com/japl-lang/JustAnotherJAPL
|
2022-01-06 16:53:50 +01:00 |
nocturn9x
|
ef69de00fd
|
Updated config.nim
|
2022-01-06 16:53:32 +01:00 |
nocturn9x
|
fdfe87ad42
|
Fixed a bug in patchJump(). Added basic functionality for many keywords. Initial work on continue and break
|
2022-01-06 16:53:06 +01:00 |
Mattia
|
3b81831bc9
|
Update README.md
|
2022-01-04 18:01:19 +01:00 |
Mattia
|
1670ff1518
|
Update README.md
|
2022-01-04 17:57:42 +01:00 |
nocturn9x
|
e5173435f5
|
Added del statement
|
2022-01-04 17:51:59 +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
|
6070d69d00
|
Integrated jale inside the test REPL for nicer behavior
|
2021-12-28 16:47:20 +01:00 |
nocturn9x
|
cb34a22a53
|
Fixed a bug in the debugger when visualizing encoded dictionary elements and simplified dispatching code inside Compiler.expression() for literals
|
2021-12-28 16:37:30 +01:00 |
nocturn9x
|
71dfac87dd
|
Minor QoL improvements to main.nim
|
2021-12-26 20:05:44 +01:00 |
nocturn9x
|
0a3d93512c
|
Updated commit in config.nim
|
2021-12-22 17:22:27 +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
|
303a98b9e4
|
Removed leftover raise statements (whoops)
|
2021-12-22 16:23:18 +01:00 |
nocturn9x
|
44fdfe50a6
|
Updated commit in config.nim
|
2021-12-22 16:22:31 +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
|
195045e4f2
|
Minor additions and fixes (preparation for break and continue in the compiler)
|
2021-12-11 15:57:28 +01:00 |
Nocturn9x
|
302acbcaae
|
Updated config.nim
|
2021-11-21 12:51:56 +01:00 |
Nocturn9x
|
f90f732a66
|
Added control flow (if/else) and looping (for/while). Changed all *Fast instructions so they don't contain the word 'Name' anymore, as they work with stack offsets and that wording could cause confusion. Fixed bug in the parser that caused for loops to produce the wrong AST
|
2021-11-21 12:50:41 +01:00 |
Nocturn9x
|
12afed8419
|
Initial work on bytecode code section
|
2021-11-21 11:37:20 +01:00 |
Nocturn9x
|
a1698ef892
|
Fixed wrong bytecode emission when compiling constants. Added a few more checks and made dynamic declarations illegal inside local scopes again (will change once closures are implemented)
|
2021-11-20 18:12:49 +01:00 |
Nocturn9x
|
690d4d364a
|
Added a brief description of what JAPL adds on top of lox
|
2021-11-20 17:43:26 +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
|
9160cb32db
|
Updated config.nim
|
2021-11-17 21:15:08 +01:00 |
Nocturn9x
|
93fdb6bd10
|
Statically resolved locals are now popped off the stack (whoops)
|
2021-11-17 21:14:41 +01:00 |
Nocturn9x
|
2582d18596
|
Updated config.nim
|
2021-11-17 20:42:56 +01:00 |
Nocturn9x
|
24c7b30271
|
Bugfixes to name resolution and scopes
|
2021-11-17 20:40:05 +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
|
77224d707c
|
Added encoding for collections
|
2021-11-17 12:10:22 +01:00 |
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 |