Commit Graph
100 Commits
Author SHA1 Message Date
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
cozis 56dca3664f modified objective paragraph of the readme 2022-03-13 12:32:37 +01:00
cozis ef1a32eee4 added code example to the main README 2022-03-13 12:11:44 +01:00
cozis ee68905f92 added utf-8 string support 2022-03-13 00:40:10 +01:00
cozis 6017f99b07 bug fix and renamed file builtin object to files 2022-03-12 23:52:04 +01:00
cozis af089fb81f simplifying stuff 2022-03-12 23:38:23 +01:00
cozis 2dcfbd194e reorganizing code 2022-03-12 23:17:44 +01:00
cozis de11b968fb docs docs docs 2022-03-12 22:53:37 +01:00
cozis 1374e05579 simplified code and fixed a bug 2022-03-12 22:47:23 +01:00
cozis e120b1e8af removed dead code 2022-03-12 21:04:08 +01:00
cozis b8b04165cb new objectives paragraph in the readme 2022-03-12 20:58:03 +01:00
cozis 15d1d5bbe5 docs docs docs 2022-03-12 20:48:43 +01:00
cozis c1b442f843 wrote even more docs 2022-03-12 19:37:16 +01:00
cozis 04bd503755 wrote some more docs 2022-03-12 19:24:42 +01:00
cozis e4b1b6abf5 wrote some docs 2022-03-12 19:14:21 +01:00
Francesco Cozzuto 195cc01929 updated cli usage message 2022-03-10 20:27:44 +01:00
cozis 2c168edecd added sample that use the dir object 2022-03-10 19:13:50 +01:00
cozis 8deec027d1 added statis map object and used it to implement builtins. Also, new objects File and Directory 2022-03-10 19:00:30 +01:00