| 
    jplus-0.4.7
    
   | 
 
A J+ script. More...
#include <src/jplus.h>


Public Member Functions | |
| jplus () | |
| initialize J+ engine with no script   | |
| bool | init (std::istream &script) | 
| Load and pre-parse J+ script.   | |
| ~jplus () | |
| Free allocated memory.   | |
| bool | set (std::string name, jarray data) | 
| Set value of the specified variable inside J+ environment, mark all dependent variables "dirty".   | |
| jarray | get (std::string name) | 
| Perform all the necessary calculations to computate the specified variable, return its value in an array.   | |
| std::vector< std::string > | getProgram (std::set< std::string > vars) | 
| Pull minimal set of J sentences for computing a given set of variables, assuming everything is "dirty".   | |
| std::vector< std::string > | getProgram () | 
| Pull all the sentences in J+ script.   | |
  Public Member Functions inherited from jengine | |
| jengine () | |
| Initializes J engine.   | |
| ~jengine () | |
| Frees J engine memory.   | |
| bool | doJ (const std::string s) | 
| Executes J sentence.   | |
| const jarray | get (const std::string name) | 
| Retrieves a named array from J.   | |
| bool | set (const std::string name, jarray &value) | 
| Assigns J name to the specified array.   | |
| int | getError () | 
| J error code for the last unsuccessful operation.   | |
| bool | ok () | 
| Conveniently check that there was no error.   | |
| bool | defVerb (std::string name, monad mf, dyad df, int mr=RMAX, int lr=RMAX, int rr=RMAX) | 
| Defines J verb, calling one (or both) of specified C++ functions.   | |
| bool | defAdverb (std::string name, amonad mf, adyad df) | 
| defines J adverb, calling one (or both) of specified C++ functions.   | |
| bool | defScript (std::string name, int type, std::string code, int mr=jengine::RMAX, int lr=jengine::RMAX, int rr=jengine::RMAX) | 
| Defines a J script, given by a (possibly multi-line) string.   | |
| bool | isBuiltin (std::string name) const | 
| Checks if given name was defined via defScript.   | |
| std::set< std::string > | getBuiltins () const | 
| Returns set of all names defined via defScript.   | |
| jarray::I | PROLOG () | 
| Returns the top of J garbage collection stack.   | |
| jarray::I | EPILOG (jarray::I oldtop) | 
| Frees all memory, allocated since ttop was recorded.   | |
| void * | EPILOG (jarray::I oldtop, void *hdr) | 
| Frees all memory, allocated since ttop was recorded.   | |
Protected Member Functions | |
| virtual void | libInit () | 
| Called by the constructor before parsing the J+ script.   | |
  Protected Member Functions inherited from jengine | |
| void * | GA (const jarray::I t, const jarray::I n, const jarray::I r, const jarray::I *s) | 
| Allocates J array.   | |
| void | FR (void *hdr) | 
| Frees J array memory.   | |
Additional Inherited Members | |
  Public Types inherited from jengine | |
| typedef jarray(* | monad) (jarray y) | 
| Pointer to function, implementing monadic variant of a verb.   | |
| typedef jarray(* | dyad) (jarray x, jarray y) | 
| Pointer to function, implementing dyadic variant of a verb.   | |
| typedef jarray(* | amonad) (monad um, dyad ud, jarray y) | 
| Pointer to function, implementing monadic variant of an adverb.   | |
| typedef jarray(* | adyad) (monad um, dyad ud, jarray x, jarray y) | 
| Pointer to function, implementing dyadic variant of an adverb.   | |
  Static Public Member Functions inherited from jengine | |
| static void | initJlibrary (std::ostream &) | 
| Loads and links J dynamic library, must be called once before this class is instantiated.   | |
  Static Public Attributes inherited from jengine | |
| static const int | RMAX =10000 | 
| Constant to denote the infinite rank.   | |
A J+ script.
| jplus::jplus | ( | ) | 
initialize J+ engine with no script
| jplus::~jplus | ( | ) | 
Free allocated memory.
| jarray jplus::get | ( | std::string | name | ) | 
Perform all the necessary calculations to computate the specified variable, return its value in an array.
| name | name of variable to compute. | 
| std::vector< std::string > jplus::getProgram | ( | ) | 
Pull all the sentences in J+ script.
This pulls all the sentences, assigning value of some variable.
| std::vector< std::string > jplus::getProgram | ( | std::set< std::string > | vars | ) | 
Pull minimal set of J sentences for computing a given set of variables, assuming everything is "dirty".
| vars | set of variable names to pull. | 
| bool jplus::init | ( | std::istream & | script | ) | 
Load and pre-parse J+ script.
| script | stream, containing the script to load. | 
Called by the constructor before parsing the J+ script.
Does nothing by default, but can be overridden to prepend an additional J+ stream with some definitions and/or define a few verbs and adverbs to be used in J+ program.
Reimplemented in yacts.
| bool jplus::set | ( | std::string | name, | 
| jarray | data | ||
| ) | 
Set value of the specified variable inside J+ environment, mark all dependent variables "dirty".
| name | name of the variable. | 
| data | array for the variable to refer to. |