remove interpreters/xxx/README.md. Migrated to Documentation/applications/interpreters
This commit is contained in:
parent
4dfd474ae9
commit
26f1b07955
@ -1,37 +0,0 @@
|
|||||||
# Interpreters
|
|
||||||
|
|
||||||
This `apps/` directory is set aside to hold interpreters that may be
|
|
||||||
incorporated into NuttX.
|
|
||||||
|
|
||||||
## Ficl
|
|
||||||
|
|
||||||
This is DIY port of Ficl (the _Forth Inspired Command Language_). See
|
|
||||||
http://ficl.sourceforge.net/. It is a _DIY_ port because the Ficl source is not
|
|
||||||
in that directory, only an environment and instructions that will let you build
|
|
||||||
Ficl under NuttX. The rest is up to you.
|
|
||||||
|
|
||||||
## Lua
|
|
||||||
|
|
||||||
Fetch and build a Lua interpreter. Versions 5.2 through 5.4 are supported. The
|
|
||||||
`lua` command will be added to NSH. Lua can run a script for a given path,
|
|
||||||
execute a string of code, or open a readline compatible REPL on the NSH console.
|
|
||||||
The `<lua.h>` and `<lauxlib.h>` headers are available to start a new embedded
|
|
||||||
interpreter or extend Lua with C modules. See the `luamod_hello` example for how
|
|
||||||
to include a built-in module.
|
|
||||||
|
|
||||||
A math library is required to build. Enable the `LIBM` config or use a
|
|
||||||
toolchain provided math library.
|
|
||||||
|
|
||||||
The following configs are recommended for a full featured Lua interpreter:
|
|
||||||
- `LIBC_FLOATINGPOINT`
|
|
||||||
- `SYSTEM_READLINE`
|
|
||||||
|
|
||||||
## Mini Basic
|
|
||||||
|
|
||||||
The Mini Basic implementation at `apps/interpreters` derives from version `1.0`
|
|
||||||
by Malcolm McLean, Leeds University, and was released under the Creative Commons
|
|
||||||
Attibution license. I am not legal expert, but this license appears to be
|
|
||||||
compatible with the NuttX BSD license see:
|
|
||||||
https://creativecommons.org/licenses/. I, however, cannot take responsibility
|
|
||||||
for any actions that you might take based on my understanding. Please use your
|
|
||||||
own legal judgement.
|
|
@ -1,59 +0,0 @@
|
|||||||
# Interpreters / `bas` Bas BASIC
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
Bas is an interpreter for the classic dialect of the programming language BASIC.
|
|
||||||
It is pretty compatible to typical BASIC interpreters of the 1980s, unlike some
|
|
||||||
other UNIX BASIC interpreters, that implement a different syntax, breaking
|
|
||||||
compatibility to existing programs. Bas offers many ANSI BASIC statements for
|
|
||||||
structured programming, such as procedures, local variables and various loop
|
|
||||||
types. Further there are matrix operations, automatic LIST indentation and many
|
|
||||||
statements and functions found in specific classic dialects. Line numbers are
|
|
||||||
not required.
|
|
||||||
|
|
||||||
The interpreter tokenises the source and resolves references to variables and
|
|
||||||
jump targets before running the program. This compilation pass increases
|
|
||||||
efficiency and catches syntax errors, type errors and references to variables
|
|
||||||
that are never initialised. Bas is written in ANSI C for UNIX systems.
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
BAS 2.4 is released as part of NuttX under the standard 3-clause BSD license use
|
|
||||||
by all components of NuttX. This is not incompatible with the original BAS 2.4
|
|
||||||
licensing
|
|
||||||
|
|
||||||
Copyright (c) 1999-2014 Michael Haardt
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
## Bas 2.4 Release Notes
|
|
||||||
|
|
||||||
Changes compared to version `2.3`
|
|
||||||
|
|
||||||
- Matrix inversion on integer arrays with option base 1 fixed.
|
|
||||||
- `PRINT USING` behaviour for `!` fixed.
|
|
||||||
- `PRINT`, separator should advance to the next zone, even if the current
|
|
||||||
position is at the start of a zone.
|
|
||||||
- Added `ip()`, `frac()`, `fp()`, `log10()`, `log2()`, `min()` and `max()`.
|
|
||||||
- Fixed `NEXT` checking the variable case sensitive.
|
|
||||||
- Use `terminfo` capability cr to make use of its padding.
|
|
||||||
- `LET` segmentation fault fixed.
|
|
||||||
- `PRINT` now uses print items.
|
|
||||||
- `-r` for restricted operation.
|
|
||||||
- `MAT INPUT` does not drop excess arguments, but uses them for the next row.
|
|
||||||
- License changed to MIT.
|
|
@ -1,39 +0,0 @@
|
|||||||
# Interpreters / `ficl` Ficl
|
|
||||||
|
|
||||||
Ficl is a programming language interpreter designed to be embedded into other
|
|
||||||
systems as a command, macro, and development prototyping language. Ficl is an
|
|
||||||
acronym for _Forth Inspired Command Language_. See http://ficl.sourceforge.net/
|
|
||||||
|
|
||||||
## Build Instructions
|
|
||||||
|
|
||||||
Disclaimer: This installation steps have only been exercised using Ficl 4.1.0.
|
|
||||||
With new versions you will likely have to make some adjustments to this
|
|
||||||
instructtions or to the files within this directory. Think of this information
|
|
||||||
as _recommendations_ - not necessarily proven instructions.
|
|
||||||
|
|
||||||
1. `cd` to `interpreters/ficl`
|
|
||||||
|
|
||||||
2. Download Ficl: http://sourceforge.net/projects/ficl/files/
|
|
||||||
|
|
||||||
3. Uznip the Ficl compressed file.
|
|
||||||
|
|
||||||
For example, `unzip ficl-4.1.0.zip` will leave the file
|
|
||||||
`interpreters/ficl/ficl-4.1.0`.
|
|
||||||
|
|
||||||
4. Configure to build Ficl in the `interpreters/ficl` directory using the
|
|
||||||
`configure.sh` script.
|
|
||||||
|
|
||||||
For example, `./configure.sh ficl-4.1.0` will leave the Makefile fragment
|
|
||||||
`Make.srcs` in the ficl build directory.
|
|
||||||
|
|
||||||
5. Create your NuttX configuration. Using the `make menuconfig`, you should
|
|
||||||
select:
|
|
||||||
|
|
||||||
```conf
|
|
||||||
CONFIG_INTERPRETERS_FICL=y
|
|
||||||
```
|
|
||||||
|
|
||||||
6. Configure and build NuttX. On successful completion, the Ficl objects will be
|
|
||||||
available in `apps/libapps.a` and that NuttX binary will be linked against
|
|
||||||
that file. Of course, Ficl will do nothing unless you have written some
|
|
||||||
application code that uses it!
|
|
Loading…
Reference in New Issue
Block a user