Commit Graph

58 Commits

Author SHA1 Message Date
Robert Bendun
f3cfd3de1c Merge branch 'main' into hardware 2023-01-20 01:38:04 +01:00
Robert Bendun
a2149aa4ce Dockerfile forwards version parameter 2023-01-15 01:11:10 +01:00
Robert Bendun
9f57bbaecd Dockerfile builds Windows and Linux releases 2023-01-15 00:37:11 +01:00
c43836dc6f Building wjwwood/serial on other platforms then Linux 2023-01-06 17:59:10 +01:00
58036c2357 Added wjwwood/serial library 2022-12-01 01:22:57 +01:00
Robert Bendun
bda1e503c7 Builtin function documentation generates from implementation 2022-12-01 00:52:53 +01:00
Robert Bendun
e101d362b9 Basic polish tutorial 2022-11-12 01:25:16 +01:00
Robert Bendun
e4b211b21a added language-cmp-cheatsheet to Makefile 2022-10-31 17:33:53 +01:00
Robert Bendun
8348a857f3 Finalizing build scripts 2022-10-14 16:45:47 +02:00
Robert Bendun
0d7f4b1eb5 Build system supports both MacOS and Linux now 2022-10-14 15:56:36 +02:00
Robert Bendun
b93a236e37 Conforming to clang's standard library on MacOS 2022-10-14 14:42:37 +02:00
Robert Bendun
e8ef207ec9 Windows support 2022-10-08 20:32:41 +02:00
Robert Bendun
ecabf885f3 Compiling with mingw 2022-10-08 17:18:55 +02:00
Robert Bendun
57ac46cf9b Moved from custom ALSA adapter to RtMidi
This should allow for easy support for other operating systems and other
Linux sound systems like Jack in the future
2022-10-08 12:48:42 +02:00
Robert Bendun
ceeb25ea82 Created better hierarchy of source files 2022-09-23 18:55:25 +02:00
Robert Bendun
6a71614cab Project restructuring
include/musique.hh was getting large and musique_internal.hh emerged to
help with that. Header file separation become a huge mess.

The chosen approach is one hierarchy containing both header and
implementation files
2022-09-23 16:42:33 +02:00
Robert Bendun
d9c0468729 Value printing improved 2022-09-23 13:59:07 +02:00
893d20cee1 Installation script 2022-09-18 19:15:38 +02:00
Robert Bendun
2f101fdccf call builtin; release builder; documentation from docs repo 2022-09-18 16:34:43 +02:00
Robert Bendun
e16a28dfdc Separated makefile into smaller scripts to improve readability 2022-08-18 22:58:41 +02:00
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
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