|
FAUST compiler
0.9.9.6b8
|
#include "tlib.hh"#include "list.hh"#include "boxes.hh"#include "ppbox.hh"#include "eval.hh"#include "patternmatcher.hh"#include <vector>#include <list>#include <set>#include <utility>
Go to the source code of this file.
Classes | |
| struct | Rule |
| struct | Trans |
| struct | State |
| struct | Automaton |
| struct | Assoc |
Typedefs | |
| typedef vector< int > | Path |
| typedef list< Assoc > | Subst |
Functions | |
| static bool | isCons (Tree x, Tree &h, Tree &t) |
| static bool | isBoxPatternOp (Tree box, Node &n, Tree &t1, Tree &t2) |
| static Tree | subtree (Tree X, int i, const Path &p) |
| static State * | make_state (State *state, int r, Tree x, Path &p) |
| static State * | make_var_state (int n, State *state) |
| static void | merge_state (State *state1, State *state2) |
| static void | merge_rules (list< Rule > &rules1, list< Rule > &rules2) |
| static void | merge_trans_var (list< Trans > &trans, State *state) |
| static void | merge_trans_cst (list< Trans > &trans, Tree x, State *state) |
| static void | merge_trans_op (list< Trans > &trans, const Node &op, int arity, State *state) |
| static void | merge_trans (list< Trans > &trans1, list< Trans > &trans2) |
| Automaton * | make_pattern_matcher (Tree R) |
| static void | add_subst (vector< Subst > &subst, Automaton *A, int s) |
| static int | apply_pattern_matcher_internal (Automaton *A, int s, Tree X, vector< Subst > &subst) |
| int | apply_pattern_matcher (Automaton *A, int s, Tree X, Tree &C, vector< Tree > &E) |
| typedef vector<int> Path |
Definition at line 58 of file patternmatcher.cpp.
Definition at line 576 of file patternmatcher.cpp.
Definition at line 580 of file patternmatcher.cpp.
References Automaton::rules().
Referenced by apply_pattern_matcher_internal().


Definition at line 660 of file patternmatcher.cpp.
References apply_pattern_matcher_internal(), boxError(), closure(), Automaton::final(), isBoxError(), Automaton::n_rules(), nil, pushValueDef(), Automaton::rhs, Automaton::rules(), searchIdDef(), subst(), and subtree().
Referenced by applyList(), and make_pattern_matcher().


|
static |
Definition at line 593 of file patternmatcher.cpp.
References add_subst(), isBoxPatternOp(), simplifyPattern(), Automaton::state, and Automaton::trans().
Referenced by apply_pattern_matcher().


Definition at line 36 of file patternmatcher.cpp.
References isBoxHGroup(), isBoxMerge(), isBoxPar(), isBoxRec(), isBoxSeq(), isBoxSplit(), isBoxTGroup(), isBoxVGroup(), and CTree::node().
Referenced by apply_pattern_matcher_internal(), make_state(), and subtree().


Definition at line 25 of file patternmatcher.cpp.
References hd(), isList(), and tl().
Referenced by make_pattern_matcher().


Definition at line 479 of file patternmatcher.cpp.
References apply_pattern_matcher(), Automaton::build(), Automaton::final(), isBoxError(), isCons(), len(), make_state(), merge_state(), nil, reverse(), Automaton::rhs, State::rules, and Automaton::rules().
Referenced by evalCase().


Definition at line 300 of file patternmatcher.cpp.
References isBoxPatternOp(), isBoxPatternVar(), State::rules, and State::trans.
Referenced by make_pattern_matcher().


Definition at line 337 of file patternmatcher.cpp.
References State::rules, and State::trans.
Referenced by merge_trans_op(), and merge_trans_var().

Definition at line 364 of file patternmatcher.cpp.
Referenced by merge_state().

Definition at line 470 of file patternmatcher.cpp.
References merge_rules(), merge_trans(), State::rules, and State::trans.
Referenced by make_pattern_matcher(), merge_trans_cst(), merge_trans_op(), and merge_trans_var().


Definition at line 449 of file patternmatcher.cpp.
References merge_trans_cst(), merge_trans_op(), and merge_trans_var().
Referenced by merge_state().


Definition at line 396 of file patternmatcher.cpp.
References merge_state().
Referenced by merge_trans().


|
static |
Definition at line 422 of file patternmatcher.cpp.
References Node::getSym(), make_var_state(), and merge_state().
Referenced by merge_trans().


Definition at line 370 of file patternmatcher.cpp.
References make_var_state(), and merge_state().
Referenced by merge_trans().


Definition at line 62 of file patternmatcher.cpp.
References isBoxPatternOp().
Referenced by apply_pattern_matcher().


1.8.7