Changeset 3906 for to-imperative


Ignore:
Timestamp:
Sep 12, 2008, 3:20:40 PM (12 years ago)
Author:
yura
Message:
  • Retrun GExpr in GExpr methods add and init.
Location:
to-imperative/trunk/opents/samples
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/opents/samples/fff.tcc

    r3904 r3906  
    141141  //std::istringstream is_c_0("(ABABA(CA(A(AEA)ADA(EA(A))AAA)AC)BA)");
    142142  //std::istringstream is_c_0("(ACA(ACA)ACA(A))");
    143   _c_0.init(8);
    144   _c_0.add('A');
    145   _c_0.add('C');
    146   _c_0.add('A');
    147   {
    148     GExpr t1(3);
    149     t1.add('A');
    150     t1.add('D');
    151     t1.add('A');
    152     _c_0.add(t1);
    153   }
    154   _c_0.add('A');
    155   _c_0.add('E');
    156   _c_0.add('A');
    157   {
    158     GExpr t2(3);
    159     t2.add('A');
    160     t2.add('F');
    161     t2.add('A');
    162     _c_0.add(t2);
    163   }
     143  _c_0.init(8).add('A').add('C').add('A').add(
     144    GExpr(3).add('A').add('D').add('A')
     145  ).add('A').add('E').add('A').add(
     146    GExpr(3).add('A').add('F').add('A')
     147  );
    164148
    165149  //std::istringstream is_c_1("(A)");
    166   _c_1.init(1);
    167   _c_1.add('A');
     150  _c_1.init(1).add('A');
    168151
    169152  //std::istringstream is_c_2("(B)");
    170   _c_2.init(1);
    171   _c_2.add('B');
     153  _c_2.init(1).add('B');
    172154  return 0;
    173155}
  • to-imperative/trunk/opents/samples/trefal.hh

    r3905 r3906  
    7070    GExpr (int size) : terms(new Term[size]), size(0) {}
    7171
    72     void init (int size) {
     72    GExpr& init (int size) {
    7373        if (terms != 0) // must be uninitialized
    7474            throw 0;
    7575        terms = new Term[size];
     76        return *this;
    7677    }
    7778
     
    8889    }
    8990
    90     void add (const Term& t) {
     91    GExpr& add (const Term& t) {
    9192        terms[size++] = t;
    92     }
    93 
    94     void add (char c) {
     93        return *this;
     94    }
     95
     96    GExpr& add (char c) {
    9597        Term t;
    9698        t.init_char(c);
    97         add(t);
    98     }
    99 
    100     void add (int i) {
     99        return add(t);
     100    }
     101
     102    GExpr& add (int i) {
    101103        Term t;
    102104        t.init_int(i);
    103         add(t);
    104     }
    105 
    106     inline void add (const GExpr& e);
    107 
    108     void concat (const GExpr& x) {
     105        return add(t);
     106    }
     107
     108    inline GExpr& add (const GExpr& e);
     109
     110    GExpr& concat (const GExpr& x) {
    109111        for (size_t i = 0; i < x.size; i++)
    110112            add(x.terms[i]);
     113        return *this;
    111114    }
    112115
     
    383386inline GExpr::GExpr (TExpr& _e) : terms((Expr&)_e), size(((Expr&)_e).get_len()) {}
    384387
    385 void GExpr::add (const GExpr& e) {
     388GExpr& GExpr::add (const GExpr& e) {
    386389    Term t;
    387390    t.init_const(global_exprs.add_global_expr(e));
    388     add(t);
     391    return add(t);
    389392}
    390393
Note: See TracChangeset for help on using the changeset viewer.