Robert Bendun
81f512d69d
Builtin function handlers definition now in separate file
...
Same as in commit before, we try to cleanup src/interpreter.cc from all
of builtin function noise.
2022-08-18 22:37:40 +02:00
Robert Bendun
831de5abe5
Builtin operator handlers definiton now in separate file
...
Interpreter constructor and file in general is very unreadable
and busy now. To limit noise separate builtin operators from
src/interpreter.cc into their own file src/builtin_operators.cc
This also allows to see which functions are used as implementation
detail of which operations.
2022-08-18 22:21:04 +02:00
Robert Bendun
d8f8214556
Tests now compile again
2022-07-30 13:45:23 +02:00
2dd97709a0
Better unit test response messages when unrecoverable state reached
...
Instead of `exit` we throw `std::runtime_error` in Debug mode assertions
and unreachable functions, to have better response from unit test runner.
2022-06-19 16:09:39 +02:00
7a3d211d09
Infrastructure for incoming MIDI messages ready
2022-06-19 00:27:02 +02:00
7d0f732a57
GNU Readline replace with bestline
2022-06-11 19:57:56 +02:00
b930ef4e6e
Index operator binds more tightly then function call
2022-06-11 17:55:52 +02:00
b7d879bf70
Relevant code printing when error reporting
2022-06-09 01:48:02 +02:00
7c5f3e2170
Small refactoring & more testing
2022-06-05 23:54:42 +02:00
016e48570e
Optionally colorful errors part 2; repl dont exit on errors
2022-05-29 23:34:20 +02:00
563786312c
Documentation for programmers
2022-05-29 01:00:13 +02:00
7cc61e30e4
REPL
2022-05-25 15:53:09 +02:00
70e1431f05
Begining of support of array programming
2022-05-25 04:30:24 +02:00
5d410a1ffd
Makefile produces less noise
2022-05-25 03:14:29 +02:00
5560549c7c
Separated building bin/unit-test into several objects
2022-05-24 03:00:51 +02:00
ba463139d6
Note duration calculation in current BPM context
2022-05-24 02:58:15 +02:00
8853451cb5
Added Midi dependency
2022-05-23 17:27:06 +02:00
0ce1b59757
make test
subcommand
2022-05-22 06:33:33 +02:00
5b3cfca2a8
More testing & keywords
2022-05-22 04:31:31 +02:00
b9d87e1456
New environment implementation
...
It's a failure of locating precise source of the bug that would cause `var x =
[i|i] 0` to segfault. New implementation DOES NOT have this bug.
2022-05-22 03:44:10 +02:00
c51722a607
Introduced debug builds
2022-05-21 23:11:04 +02:00
5d51d1672f
Scoped variables, single namespace variables and functions
2022-05-17 02:35:51 +02:00
ccd2166231
Interpreter started!
2022-05-16 02:18:53 +02:00
2385e0e28c
Ported Number class from pi/demo-2022-03-09
2022-05-15 23:03:09 +02:00
555a35ecc0
Function calls
2022-05-10 15:25:17 +02:00
9fd70386c5
Doxygen & Sphinx documentation tooling
...
This is far from real documentation both in structure and contents -
it's only a start, from which we can expand.
2022-05-08 18:02:23 +02:00
4a5c53240c
Result cannot be discarded from now
2022-05-08 15:57:31 +02:00
35a8345bc5
Better main, refactoring of error system and Result type
2022-05-08 00:03:22 +02:00
31262e74a0
Parser started: basic literal parsing
...
Mostly this commit implements structure to implement parsing, not actual
parsing itself
2022-05-07 20:52:09 +02:00
3b4c306199
Added explicit checks for dependencies of coverage raport generation
2022-05-02 22:24:01 +02:00
79d96aa935
Describe makefile options in readme
2022-05-02 22:12:29 +02:00
c8acceb329
Code coverage reporting utility
2022-05-02 22:09:11 +02:00
8127bcfe89
Unicode letters support
2022-05-02 20:45:06 +02:00
74f4393d6a
better error reporting
2022-05-02 15:13:12 +02:00
e833cd6523
Lexer: number literals, one rune tokens
2022-04-27 13:48:50 +02:00
bf1bec4b44
Started unit testing
2022-04-24 16:10:29 +02:00
06f9b35c6c
Let's go!
2022-04-24 15:27:09 +02:00