Ignore:
Timestamp:
Oct 30, 2023, 4:59:34 PM (11 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
4ac402d
Parents:
36e6f10
Message:

Simple rework to BasicTypes?-gen.cc to avoid refering to the old ast. No larger rework at this time.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/BasicTypes-gen.cc

    r36e6f10 r7d55e4d  
    117117        // { LongDoubleImaginary, "LongDoubleImaginary", "LDI", "long double _Imaginary", "Ie", false, LongDoubleComplex, -1, -1, 17 },
    118118
    119         { uFloat128x, "uFloat128x", "_FBX", "_Float128x", "DF128x_", Floating, uFloat128xComplex, -1, -1, 18 }, 
     119        { uFloat128x, "uFloat128x", "_FBX", "_Float128x", "DF128x_", Floating, uFloat128xComplex, -1, -1, 18 },
    120120        { uFloat128xComplex, "uFloat128xComplex", "_FLDXC", "_Float128x _Complex", "CDF128x_", Floating, -1, -1, -1, 18 }
    121121}; // graph
     
    127127void generateCosts( int row ) {
    128128        bool seen[NUMBER_OF_BASIC_TYPES] = { false /*, ... */ };
    129        
     129
    130130        struct el_cost {
    131131                int i;
    132132                int path;
    133133                int sign;
    134                
     134
    135135                el_cost( int i = 0, int p = 0, int s = 0 ) : i(i), path(p), sign(s) {}
    136                
     136
    137137                // reverse the sense for use in largest-on-top priority queue
    138138                bool operator< (const el_cost& o) const {
     
    195195                        return;
    196196                } // if
    197                
     197
    198198                i = graph[col].middle;
    199199                if ( i == -1 ) assert("invalid ancestor assumption");
     
    284284        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) {
    285285                code << "\t\t" << graph[r].name << "," << endl;
    286         } // for       
     286        } // for
    287287        code << "\t\tNUMBER_OF_BASIC_TYPES" << endl;
    288288        code << "\t} kind;" << endl;
     
    307307        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) {
    308308                code << "\t\"" << graph[r].type << "\"," << endl;
    309         } // for       
     309        } // for
    310310        code << "};" << endl;
    311311
     
    329329        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) {
    330330                code << "\t\t" << graph[r].name << "," << endl;
    331         } // for       
     331        } // for
    332332        code << "\t\tNUMBER_OF_BASIC_TYPES" << endl;
    333333        code << "\t} kind;" << endl;
     
    352352        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) {
    353353                code << "\t\"" << graph[r].type << "\"," << endl;
    354         } // for       
     354        } // for
    355355        code << "};" << endl;
    356356
     
    391391        end += sizeof( STARTMK );
    392392        code << str.substr( start, end - start );
    393        
     393
    394394        code << "\t" << BYMK << endl;
    395         code << "\tstatic const int costMatrix[BasicType::NUMBER_OF_BASIC_TYPES][BasicType::NUMBER_OF_BASIC_TYPES] = { // path length from root to node" << endl
     395        code << "\tstatic const int costMatrix[ast::BasicType::NUMBER_OF_BASIC_TYPES][ast::BasicType::NUMBER_OF_BASIC_TYPES] = { // path length from root to node" << endl
    396396                 << "\t\t/*           ";
    397397        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) { // titles
     
    411411        code << "\tstatic const int maxIntCost = " << *max_element(costMatrix[SignedInt], costMatrix[SignedInt] + NUMBER_OF_BASIC_TYPES) << ";" << endl;
    412412        code << "\t";                                                                           // indentation for end marker
    413        
     413
    414414        if ( (start = str.find( ENDMK, start + 1 )) == string::npos ) Abort( "end", ConversionCost );
    415415        if ( (end = str.find( STARTMK, start + 1 )) == string::npos ) Abort( "start", ConversionCost );
     
    418418
    419419        code << "\t" << BYMK << endl;
    420         code << "\tstatic const int signMatrix[BasicType::NUMBER_OF_BASIC_TYPES][BasicType::NUMBER_OF_BASIC_TYPES] = { // number of sign changes in safe conversion" << endl
     420        code << "\tstatic const int signMatrix[ast::BasicType::NUMBER_OF_BASIC_TYPES][ast::BasicType::NUMBER_OF_BASIC_TYPES] = { // number of sign changes in safe conversion" << endl
    421421                 << "\t\t/*           ";
    422422        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) { // titles
     
    450450        enum { PER_ROW = 6 };
    451451        code << "\t" << BYMK << endl;
    452         code << "\t#define BT BasicType::" << endl;
    453         code << "\tstatic const BasicType::Kind commonTypes[BasicType::NUMBER_OF_BASIC_TYPES][BasicType::NUMBER_OF_BASIC_TYPES] = { // nearest common ancestor" << endl
     452        code << "\t#define BT ast::BasicType::" << endl;
     453        code << "\tstatic const BT Kind commonTypes[BT NUMBER_OF_BASIC_TYPES][BT NUMBER_OF_BASIC_TYPES] = { // nearest common ancestor" << endl
    454454             << "\t\t/*\t\t ";
    455455        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) { // titles
     
    505505                "\t\t\t//   - \"Di\" char32_t\n"
    506506                "\t\t\t//   - \"Ds\" char16_t\n";
    507                
    508         code << "\t\t\tconst std::string basicTypes[BasicType::NUMBER_OF_BASIC_TYPES] = {" << endl;
     507
     508        code << "\t\t\tconst std::string basicTypes[ast::BasicType::NUMBER_OF_BASIC_TYPES] = {" << endl;
    509509        for ( int r = 0; r < NUMBER_OF_BASIC_TYPES; r += 1 ) {
    510510                code << "\t\t\t\t\"" << graph[r].mangled << "\"," << setw(9 - strlen(graph[r].mangled)) << ' ' << "// " << graph[r].type << endl;
    511         } // for       
     511        } // for
    512512        code << "\t\t\t}; // basicTypes" << endl;
    513513        code << "\t\t\t";                                                                       // indentation for end marker
Note: See TracChangeset for help on using the changeset viewer.