Arduino-FVM
Byte Token Threaded Forth Virtual Machine (FVM) for Arduino
|
#include <Arduino.h>
Go to the source code of this file.
Classes | |
class | FVM |
struct | FVM::task_t |
struct | FVM::Task< PARAMETER_STACK_MAX, RETURN_STACK_MAX > |
struct | FVM::obj_t |
struct | FVM::var_t |
struct | FVM::const_t |
struct | FVM::func_t |
Macros | |
#define | FVM_OP(code) FVM::OP_ ## code |
#define | FVM_LIT(n) |
#define | FVM_CLIT(n) |
#define | FVM_CALL(fn) FVM::code_t(-fn-1) |
#define | FVM_CREATE(id, var, does, data) |
#define | FVM_VARIABLE(id, var, data) |
#define | FVM_CONSTANT(id, var, name, val) |
#define | FVM_COLON(id, var, name) |
#define | FVM_FUNCTION(id, var, fn, env) |
#define | FVM_SYMBOL(id, var, name) |
Typedefs | |
typedef const char * | str_P |
Copyright (C) 2016-2017, Mikael Patel
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Definition in file FVM.h.
#define FVM_CALL | ( | fn | ) | FVM::code_t(-fn-1) |
#define FVM_CLIT | ( | n | ) |
Compile literal number (-128..127) or character (0..255).
[in] | n | number. |
#define FVM_COLON | ( | id, | |
var, | |||
name | |||
) |
Create a colon definition in program memory.
[in] | id | identity index. |
[in] | var | variable name. |
[in] | name | dictionary string. |
#define FVM_CONSTANT | ( | id, | |
var, | |||
name, | |||
val | |||
) |
Create a constant value in program memory.
[in] | id | identity index. |
[in] | var | variable name. |
[in] | name | dictionary string. |
[in] | val | value of constant. |
#define FVM_CREATE | ( | id, | |
var, | |||
does, | |||
data | |||
) |
Create a named reference to a created object in program memory.
[in] | id | identity index. |
[in] | var | variable name. |
[in] | does | object handler (function). |
[in] | data | storage. |
#define FVM_FUNCTION | ( | id, | |
var, | |||
fn, | |||
env | |||
) |
Create an extension function handler in program memory.
[in] | id | identity index. |
[in] | var | variable name. |
[in] | fn | name of function. |
[in] | env | environment. |
#define FVM_LIT | ( | n | ) |
Compile literal number (little endian).
[in] | n | number. |
#define FVM_OP | ( | code | ) | FVM::OP_ ## code |
#define FVM_SYMBOL | ( | id, | |
var, | |||
name | |||
) |
Create a name table symbol in program memory.
[in] | id | identity index. |
[in] | var | variable name. |
[in] | name | dictionary string. |
#define FVM_VARIABLE | ( | id, | |
var, | |||
data | |||
) |
Create a named reference to a variable in program memory.
[in] | id | identity index. |
[in] | var | variable name. |
[in] | data | storage. |