BAS 2.4 for NuttX
There has recently been an effort to port the BAS 2.4 interpreter to NuttX. Alan Carvalho de Assis is doing this work. Alan spoke with the developer, Michael Haardt, and Michael agreed to re-release the interpreter with an MIT license so there is no obstacle to including the code in at NuttX apps/interpreters/bas.
The original BAS 2.4 code can be found here: Bas - BASIC interpreter
I am supporting a branch on the SourceForge GIT to help support Alan's integration of BAS into NuttX. It still does not quite compile due to some signal-related incompatibilities*, but it is close. You can browse the branch here: https://sourceforge.net/p/nuttx/git/ci/bas24/tree/ . I am sure that Alan would appreciate some help in the integration.
Alan's goal is t
o generate an 80's like BASIC interface machine.
* The signal incompatibilities are simply that SIGINT (Ctrl-C) and SIGQUIT (Ctrl-D) do not exist in NuttX... and probably never will. These signals would have to be generated from the TTY layer (which does not exist in NuttX). Other technical obstacles: The default behavior behavior of SIGINT and SIGUIT are not supportable in an RTOS with flat memory addressing. We cannot just arbitrarily kill tasks in NuttX without introducing memory leaks or worse. Also, there is an issue about which task would get the SIGINT or SIGKILL? Not only is there no TTY layer to deliver the signals but also knowledge as to
which task would get the signal.
Posted by: spudarnia-/E1597aS9LQAvxtiuMwx3w@public.gmane.org