|
FAUST compiler
0.9.9.6b8
|
A simple type system for block diagram expressions. The type of a block diagram is defined by a number of inputs and outputs. More...
#include <stdio.h>#include <string.h>#include "boxes.hh"#include "ppbox.hh"#include "prim2.hh"#include "xtended.hh"
Go to the source code of this file.
Functions | |
| static bool | infereBoxType (Tree t, int *inum, int *onum) |
| Infere the type (number of inputs and outputs) of a box. More... | |
| bool | getBoxType (Tree box, int *inum, int *onum) |
| Return the type (number of inputs and outputs) of a box or false if undefined. More... | |
Variables | |
| Tree | BOXTYPEPROP = tree(symbol("boxTypeProp")) |
A simple type system for block diagram expressions. The type of a block diagram is defined by a number of inputs and outputs.
Definition in file boxtype.cpp.
| bool getBoxType | ( | Tree | box, |
| int * | inum, | ||
| int * | onum | ||
| ) |
Return the type (number of inputs and outputs) of a box or false if undefined.
| box | the box we want to know the type |
| inum | the place to return the number of inputs |
| onum | the place to return the number of outputs |
Definition at line 63 of file boxtype.cpp.
References cons(), Node::getInt(), getProperty(), hd(), infereBoxType(), isNil(), nil, CTree::node(), setProperty(), tl(), and tree().
Referenced by applyList(), boxlistOutputs(), eval2double(), eval2int(), generateDiagramSchema(), getBoxInputsAndOutputs(), infereBoxType(), isBoxNumeric(), main(), mapGetEqName(), numericBoxSimplification(), realeval(), realPropagate(), and writeSchemaFile().


|
static |
Infere the type (number of inputs and outputs) of a box.
The box expression is assumed to be in 'propagation normal form' that is to have been evaluated and residual abstractions to have been converted to symbolic boxes (using a2sb()).
| box | the box we want to know the type |
| inum | the place to return the number of inputs |
| onum | the place to return the number of outputs |
Definition at line 101 of file boxtype.cpp.
References xtended::arity(), ffarity(), getBoxType(), getUserData(), isBoxButton(), isBoxCheckbox(), isBoxCut(), isBoxEnvironment(), isBoxFConst(), isBoxFFun(), isBoxFVar(), isBoxHBargraph(), isBoxHGroup(), isBoxHSlider(), isBoxInt(), isBoxMerge(), isBoxNumEntry(), isBoxPar(), isBoxPatternVar(), isBoxPrim0(), isBoxPrim1(), isBoxPrim2(), isBoxPrim3(), isBoxPrim4(), isBoxPrim5(), isBoxReal(), isBoxRec(), isBoxSeq(), isBoxSlot(), isBoxSplit(), isBoxSymbolic(), isBoxTGroup(), isBoxVBargraph(), isBoxVGroup(), isBoxVSlider(), isBoxWaveform(), isBoxWire(), max(), and Automaton::s.
Referenced by getBoxType().


Definition at line 50 of file boxtype.cpp.
1.8.7