Ignore:
Timestamp:
Aug 7, 2015, 3:16:32 PM (4 years ago)
Author:
cameron
Message:

add Pablo count operation - not yet functional

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/printer_pablos.cpp

    r4683 r4718  
    157157        strm << ")";
    158158    }
     159    else if (const Mod64Advance * adv = dyn_cast<const Mod64Advance>(stmt)) {
     160        print(adv, strm);
     161        strm << " = pablo.Mod64Advance(";
     162        print(adv->getExpr(), strm);
     163        strm << ", " << std::to_string(adv->getAdvanceAmount()) << ")";
     164    }
     165    else if (const Mod64MatchStar * mstar = dyn_cast<const Mod64MatchStar>(stmt)) {
     166        print(mstar, strm);
     167        strm << " = pablo.Mod64MatchStar(";
     168        print(mstar->getMarker(), strm);
     169        strm << ", ";
     170        print(mstar->getCharClass(), strm);
     171        strm << ")";
     172    }
     173    else if (const Mod64ScanThru * sthru = dyn_cast<const Mod64ScanThru>(stmt)) {
     174        print(sthru, strm);
     175        strm << " = pablo.Mod64ScanThru(";
     176        print(sthru->getScanFrom(), strm);
     177        strm << ", ";
     178        print(sthru->getScanThru(), strm);
     179        strm << ")";
     180    }
     181    else if (const Count * pablo_not = dyn_cast<const Count>(stmt)) {
     182        print(pablo_not, strm);
     183        strm << " = pablo.Count(";
     184        print(pablo_not->getExpr(), strm);
     185        strm << ")";
     186    }
    159187    else {
    160188        strm << indent << "**UNKNOWN Pablo Statement type **" << "\n";
Note: See TracChangeset for help on using the changeset viewer.