Ignore:
Timestamp:
Jun 12, 2015, 2:16:59 PM (4 years ago)
Author:
nmedfort
Message:

Fixed PabloBuilder? and intergrated it into CC Compiler.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/cc/cc_compiler.h

    r4511 r4602  
    88#define CC_COMPILER_H
    99
     10#include <re/re_cc.h>
    1011#include "utf_encoding.h"
    11 #include <pablo/codegenstate.h>
    12 #include <pablo/pabloAST.h>
    13 #include <re/re_cc.h>
    1412#include <string>
     13
     14namespace pablo {
     15    class PabloAST;
     16    class PabloBuilder;
     17    class PabloBlock;
     18    class Var;
     19    class Assign;
     20}
    1521
    1622namespace cc {
     
    2531    std::vector<pablo::Var *> getBasisBits(const CC_NameMap & nameMap);
    2632
    27     pablo::Assign * compileCC(const re::CC *cc, pablo::PabloBlock & pb);
     33    pablo::Assign * compileCC(const re::CC *cc, pablo::PabloBlock & block);
     34
     35    pablo::Assign * compileCC(const re::CC *cc, pablo::PabloBuilder & pb);
    2836
    2937    pablo::Assign * compileCC(const re::CC *cc);
     
    3341private:
    3442    pablo::Var * getBasisVar(const int n) const;
    35     pablo::PabloAST * bit_pattern_expr(const unsigned pattern, unsigned selected_bits, pablo::PabloBlock & pb);
    36     pablo::PabloAST * char_test_expr(const re::CodePointType ch, pablo::PabloBlock & pb);
    37     pablo::PabloAST * make_range(const re::CodePointType n1, const re::CodePointType n2, pablo::PabloBlock & pb);
    38     pablo::PabloAST * GE_Range(const unsigned N, const unsigned n, pablo::PabloBlock & pb);
    39     pablo::PabloAST * LE_Range(const unsigned N, const unsigned n, pablo::PabloBlock & pb);
    40     pablo::PabloAST * char_or_range_expr(const re::CodePointType lo, const re::CodePointType hi, pablo::PabloBlock & pb);
    41     pablo::PabloAST * charset_expr(const re::CC *cc, pablo::PabloBlock & pb);
    42 private:
     43    pablo::PabloAST * bit_pattern_expr(const unsigned pattern, unsigned selected_bits, pablo::PabloBuilder & pb);
     44    pablo::PabloAST * char_test_expr(const re::CodePointType ch, pablo::PabloBuilder & pb);
     45    pablo::PabloAST * make_range(const re::CodePointType n1, const re::CodePointType n2, pablo::PabloBuilder & pb);
     46    pablo::PabloAST * GE_Range(const unsigned N, const unsigned n, pablo::PabloBuilder & pb);
     47    pablo::PabloAST * LE_Range(const unsigned N, const unsigned n, pablo::PabloBuilder & pb);
     48    pablo::PabloAST * char_or_range_expr(const re::CodePointType lo, const re::CodePointType hi, pablo::PabloBuilder & pb);
     49    pablo::PabloAST * charset_expr(const re::CC *cc, pablo::PabloBuilder & pb);
     50private:   
    4351    pablo::PabloBlock &         mCG;
    4452    std::vector<pablo::Var *>   mBasisBit;
Note: See TracChangeset for help on using the changeset viewer.