Commit Graph
100 Commits
Author SHA1 Message Date
cozis f7d28556a1 new -> operator 2022-12-08 03:01:04 +01:00
cozis b114387728 example http parser 2022-12-07 23:48:16 +01:00
cozis 60c2d3ea88 updated compiler testcases 2022-12-07 18:45:22 +01:00
cozis 98374ee491 refactoring of the instruction table; removed unused instructions PUSHTYPTYP and ERROR; new modulo operator %; new examples fibonacci.noja and isprime.noja 2022-12-07 18:31:35 +01:00
cozis d483822538 bugfix. Buffer object implemented keysof but didn't register it in its type table 2022-12-07 14:38:42 +01:00
cozis 16ecd28dd9 better syntax highlighting for vscode 2022-12-07 14:35:57 +01:00
cozis a92e8a71cc bug fix 2022-12-06 23:58:13 +01:00
cozis 380b8a8917 new built-in keysof and rewrote the json parser 2022-12-06 22:43:13 +01:00
cozis 7e3eb6364a undid an oopsie 2022-12-06 17:56:57 +01:00
cozis a327aa1cf7 basic language support for sublime and vscode 2022-12-06 17:42:37 +01:00
cozis 8f2723c3aa added "any" type 2022-12-05 17:02:13 +01:00
cozis ea428fdca2 added sum types 2022-12-05 11:36:19 +01:00
cozis 7a07a1eb3c implemented nullable type notation 2022-12-04 18:39:42 +01:00
Francesco Cozzuto d610a973f4 cleaning up 2022-08-24 18:01:32 +02:00
Francesco Cozzuto cd74dda4a9 general cleanups. Removed lots of unused code and redundant error checks 2022-08-24 16:46:32 +02:00
Francesco Cozzuto 71e8a9e4cb a bunch of grammar fixes 2022-08-17 23:58:28 +02:00
Francesco Cozzuto 7e0144faa3 renamed unicode builtin to ord 2022-08-17 21:25:49 +02:00
cozis 95392846d6 filename typo 2022-08-18 21:05:03 +02:00
cozis 782985e8b7 reorganized build-ins and implement a circular queue as an example 2022-08-18 19:01:26 +02:00
cozis b5b3a3e315 removed unused files and made minor fixed to the docs 2022-08-18 16:32:24 +02:00
cozis 4d4aadff66 more docs on functions 2022-08-18 16:26:37 +02:00
cozis 449c2073a7 docs about loops and functions 2022-08-18 15:53:19 +02:00
cozis 2da122a5ab some language docs 2022-08-18 05:46:38 +02:00
cozis e4bc4fe253 minor cleanups 2022-08-17 19:54:28 +02:00
cozis 6ba7fd21ef modified C api for native functions 2022-08-17 04:33:00 +02:00
cozis 919bc6fcbd fixed compiler warnings for release builds 2022-08-16 22:45:46 +02:00
cozis 7b9bf06630 fixed compiler tests after adding the EXIT instruction 2022-08-16 21:56:49 +02:00
cozis 0e94f644ab moved utility functions in src/lib/utils 2022-08-16 21:48:59 +02:00
cozis 3209afb513 cleanups 2022-08-16 18:54:49 +02:00
cozis 4d4e365002 made the import path relative to the current script 2022-08-16 18:41:29 +02:00
cozis 0a090c4cfa first draft of import builtin function 2022-08-16 17:35:58 +02:00
cozis 9935142a1e worked on the example noja json parser 2022-08-15 20:13:25 +02:00
cozis d9fd452b8b implemented default arguments 2022-08-15 19:33:46 +02:00
cozis 4a326bff7e bugfix! Missing error check in argument parsing routine 2022-08-15 16:38:16 +02:00
cozis cb5e41b814 added OPTP_IDX to distinguish address operands from OPTP_INT integer operands in an executable 2022-08-15 14:18:57 +02:00
cozis 8cac46440b updated code sample in the readme 2022-08-15 04:16:30 +02:00
cozis 6bd60bc84a added argument type annotations and runtime checks. To do that new opcodes were created (PUSHTYP, PUSHTYPTYP, ERROR) 2022-08-14 16:25:47 +02:00
cozis bc516f470a new built-in variables for each type 2022-08-14 13:04:53 +02:00
cozis d24877c5f3 made and and or operators short circuits 2022-08-13 23:37:22 +02:00
cozis 8565722bab deleted unused files 2022-08-13 20:08:42 +02:00
cozis ed02bbc9be refactorin' (incapsulated CodegenContext from codegen.c) 2022-08-13 17:42:37 +02:00
cozis 1ee68745a6 renamed compile() to codegen() and created new compile() that transforms a Source to an Executable directily 2022-08-13 15:42:34 +02:00
cozis ed62aa8a58 cleaned up bytecode generation code 2022-08-13 14:46:22 +02:00
cozis e064195f6d fixed compiler errors 2022-08-12 17:45:24 +02:00
cozis 29397402d2 cleanups in codegen code 2022-08-12 17:41:25 +02:00
cozis 5342501a15 removed compilation artifact and added ignore rule for it 2022-08-12 05:33:30 +02:00
cozis 18e936f0ad cleanups and more test cases 2022-08-12 05:30:41 +02:00
cozis f630830b3c new testing infrastructure and basic test suite 2022-08-12 02:26:40 +02:00
cozis 2f87e46beb bubblesort example in bytecode 2022-08-11 22:31:26 +02:00
cozis 36ffc24b9a minor updated in the readme 2022-08-11 19:33:40 +02:00
cozis 9c64635bdb removed makefile logs used to debug 2022-08-11 19:29:19 +02:00
cozis f25d78538b makefile supports multiple build modes. Deleted old shell build script 2022-08-11 19:26:03 +02:00
cozis cf11a1c6b3 removed old compilation artifacts 2022-08-11 18:25:11 +02:00
cozis 385e0145b8 new ignore rule for compilation artifacts and makefile rule for installation 2022-08-11 18:18:40 +02:00
cozis c3d4479e97 updated makefile. Now the noja interpreter is build as a library and then linked to the cli 2022-08-11 17:57:56 +02:00
cozis f8cd57da43 the interpreter implementation is now hidden behing the src/libnoja/noja.h facade. Also I wrote a disassembler that lets you build noja executables by specifying the bytecode directly in a text format 2022-08-11 16:26:56 +02:00
cozis 784914c7e6 changed the fuzzing script to use the makefile 2022-05-21 23:01:51 +02:00
cozis 5194a9082e minor formatting changes 2022-05-21 22:59:13 +02:00
Francesco Cozzuto fdf5bdc267 bug fix 2022-04-15 19:17:42 +02:00
Francesco Cozzuto 3117e7339e bug fix. Didn't check for division by zero 2022-04-15 19:02:52 +02:00
Francesco Cozzuto 99b47fc824 parsing bug fix 2022-04-15 18:56:09 +02:00
Francesco Cozzuto e60dfbd92a enhanced build script, added script that starts fuzz testing using afl and one to test coverage 2022-04-15 18:54:39 +02:00
Francesco Cozzuto ab3848c8cc fixed clang warnings 2022-04-15 16:28:45 +02:00
Francesco Cozzuto 9f825673c3 the language's heap doesn't grow anymore during a collection. Instead the collection throws an error to the runtime 2022-04-15 16:21:10 +02:00
cozis f8fdf7d0df bug fix 2022-04-06 23:49:39 +02:00
cozis 13f80915c7 bug fix 2022-04-06 13:40:55 +02:00
cozis ed63f09b57 added tuples and multiple return values 2022-04-06 13:22:31 +02:00
cozis 866648ed16 typo 2022-04-04 00:44:06 +02:00
cozis d26c285aa5 script that triggers a bug 2022-04-04 00:31:12 +02:00
cozis 07137b50c6 new curly bracket coding convention 2022-04-04 00:07:33 +02:00
cozis 29e80c6319 added error builtin and json parser example 2022-04-03 02:23:35 +02:00
cozis 1d13ffc118 added break statement 2022-04-02 23:07:37 +02:00
cozis d03bb4937d changed operator priority 2022-04-02 22:35:21 +02:00
cozis 6c0e03f824 if-else chain now is an iteration over a table 2022-04-02 01:37:52 +02:00
cozis a6817ddcf9 if-else chain now is an iteration over a table 2022-04-02 01:31:01 +02:00
cozis fc0f4905c7 fixed bad grammar 2022-04-02 01:14:43 +02:00
cozis 73959929c3 fixed compilation error 2022-04-01 20:11:44 +02:00
cozis 7321235fbf bug fixed. GOTO jumped over the definition of the returned variable 2022-04-01 19:32:29 +02:00
cozis 4039d6eee2 upd rdme 2022-03-27 17:27:55 +02:00
cozis db9dfe82bd same as the prev 2022-03-27 17:25:37 +02:00
cozis 353695afd0 updated development state paragraph 2022-03-27 17:22:46 +02:00
cozis 0b66a4aad9 fixed markdown error 2022-03-27 17:19:12 +02:00
cozis 65decb484e rereorganized readme 2022-03-27 17:18:13 +02:00
cozis cb6e88a448 reorganized readme 2022-03-27 17:12:30 +02:00
cozis 9aedb9e109 cleaner docs 2022-03-27 16:50:43 +02:00
cozis cca7bfb91c cleaning up docs 2022-03-27 16:48:14 +02:00
cozis a3174fdcde impl negation 2022-03-27 16:33:49 +02:00
cozis f096c82188 fixed code snippet in docs 2022-03-27 15:47:12 +02:00
cozis 0507b71c35 workin' on docs 2022-03-27 15:35:40 +02:00
Francesco Cozzuto 4b558993a8 workin' on docs 2022-03-27 15:02:20 +02:00
cozis ad7e91bbf1 updated path in example script 2022-03-15 12:42:52 +01:00
cozis 90ae41be27 added input builtin 2022-03-14 23:10:29 +01:00
cozis 64f667127d typo fix 2022-03-13 21:52:59 +01:00
cozis 66412f65b6 fixed build error for gcc 9 2022-03-13 21:34:47 +01:00
cozis 3a49b82135 even cuter comments 2022-03-13 16:28:41 +01:00
cozis 4f8aaa7eca cuter license comment 2022-03-13 16:05:34 +01:00
cozis 43f13958ec simplifying 2022-03-13 15:46:57 +01:00
cozis eae8536e3b renamed samples to examples 2022-03-13 15:40:10 +01:00
cozis bf25e0f1a9 added year to the copyright notice 2022-03-13 15:34:42 +01:00
cozis 9f2cd139d0 new license 2022-03-13 15:30:01 +01:00