Commit Graph

38 Commits

Author SHA1 Message Date
Robert Bendun
0b3dc2bb57 Move src/musique.hh to include/musique.hh
This is preparation for separation of public musique interface and
implementation details shared across files.
2022-08-18 22:44:04 +02:00
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
Mateusz Piątkowski
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