예제 #1
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
 virtual std::string asString() {
     Operator o((tok::TokenKind) op);
     if(o.isPostfixOp()) {
         return lhs->asString() + o.asString();
     } else {
         return o.asString() + lhs->asString();
     }
 }
예제 #2
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
    virtual std::string asString() {
        std::stringstream str;
        str << function->asString() << "(";

        std::list<Expression*>::iterator it = args.begin();
        while(it != args.end()) {
            str << (*it)->asString();
            it++;
            if(it != args.end()) str << ", ";
        }

        str << ")";
        return str.str();
    }
예제 #3
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
 virtual std::string asString() {
     std::stringstream str;
     switch(type) {
         case Delete:
             str << "delete";
             break;
         case Retain:
             str << "retain";
             break;
         case Release:
             str << "release";
             break;
     }
     str << expression->asString();
     return str.str();
 }
예제 #4
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
 virtual std::string asString() {
     return type->getName() + ": " + expression->asString();
 }
예제 #5
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
 virtual std::string asString() { return "import " + expression->asString(); }
예제 #6
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
 virtual std::string asString() { return lhs->asString() + " " + op.asString() +  " " + rhs->asString(); }
예제 #7
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
 virtual std::string asString() {
     return lhs->asString() + "." + rhs;
 }
예제 #8
0
파일: ast.hpp 프로젝트: bsurmanski/wlc
 virtual std::string asString() {
     return lhs->asString() + "[" + index->asString() + "]";
 }