Ignore:
Timestamp:
10/31/09 14:44:45 (14 years ago)
Author:
Maciej Komosinski
Message:

simple productions are now more complete, and stored once, in a constant variable

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/f8-to-f1/conv_f8tof1.cpp

    r33 r35  
    2727using namespace std;
    2828
    29 Lsystem::Lsystem() {
    30         PrimitiveProduction *pp1 = new PrimitiveProduction(SString("X"));
    31         this->primitiveProductions.insert(make_pair("X", pp1));
    32         PrimitiveProduction *pp2 = new PrimitiveProduction(SString("R"));
    33         this->primitiveProductions.insert(make_pair("R", pp2));
    34         PrimitiveProduction *pp3 = new PrimitiveProduction(SString("r"));
    35         this->primitiveProductions.insert(make_pair("r", pp3));
    36         PrimitiveProduction *pp4 = new PrimitiveProduction(SString("C"));
    37         this->primitiveProductions.insert(make_pair("C", pp4));
    38         PrimitiveProduction *pp5 = new PrimitiveProduction(SString("c"));
    39         this->primitiveProductions.insert(make_pair("c", pp5));
    40         PrimitiveProduction *pp6 = new PrimitiveProduction(SString("Q"));
    41         this->primitiveProductions.insert(make_pair("Q", pp6));
    42         PrimitiveProduction *pp7 = new PrimitiveProduction(SString("q"));
    43         this->primitiveProductions.insert(make_pair("q", pp7));
    44         PrimitiveProduction *pp8 = new PrimitiveProduction(SString("["));
    45         this->primitiveProductions.insert(make_pair("[", pp8));
    46         PrimitiveProduction *pp9 = new PrimitiveProduction(SString("]"));
    47         this->primitiveProductions.insert(make_pair("]", pp9));
    48         PrimitiveProduction *pp10 = new PrimitiveProduction(SString("^"));
    49         this->primitiveProductions.insert(make_pair("^", pp10));
    50        
    51 }
    52                  
     29Lsystem::Lsystem()
     30{
     31        for(int i=0;i<strlen(GenoConv_F8ToF1::simpleprods);i++)
     32        {
     33                string s(1,GenoConv_F8ToF1::simpleprods[i]);
     34                SString ss(s.c_str());
     35                this->primitiveProductions.insert(make_pair(s, new PrimitiveProduction(ss)));
     36        }
     37}
     38
    5339Lsystem::~Lsystem() {
    54         for (map<string, Production*>::iterator iter = this->productions.begin(); 
     40        for (map<string, Production*>::iterator iter = this->productions.begin();
    5541                 iter != this->productions.end(); iter++) {
    5642                delete iter->second;
    5743        }
    58         for (map<string, PrimitiveProduction*>::iterator iter = this->primitiveProductions.begin(); 
     44        for (map<string, PrimitiveProduction*>::iterator iter = this->primitiveProductions.begin();
    5945                 iter != this->primitiveProductions.end(); iter++) {
    6046                delete iter->second;
     
    524510
    525511
     512const char* GenoConv_F8ToF1::simpleprods="X[]^RrLlAaCcFfMmSsIiQqWw"; //Ee skipped
     513
     514
    526515#define FIELDSTRUCT GenoConv_F8ToF1
    527516
Note: See TracChangeset for help on using the changeset viewer.