diff --git a/src/Evalvisitor.cpp b/src/Evalvisitor.cpp index 3ace0c7..dd18219 100644 --- a/src/Evalvisitor.cpp +++ b/src/Evalvisitor.cpp @@ -133,7 +133,20 @@ std::any EvalVisitor::visitFactor(Python3Parser::FactorContext *ctx) { } std::any EvalVisitor::visitAtom_expr(Python3Parser::Atom_exprContext *ctx) { - return visitChildren(ctx); + if (!ctx->trailer()) { + auto val = visitAtom(ctx->atom()); + std::cerr << "[Log] The Atom returns : "; + if (auto ptr = std::any_cast(&val)) { + std::cerr << "NoneType" << std::endl; + } else if (auto ptr = std::any_cast(&val)) { + std::cerr << "Variable Name=" << ptr->name + << " val=" << Any2String(Variables.ReadVariable(ptr->name)) + << std::endl; + } else + std::cerr << Any2String(val) << std::endl; + return val; + } + throw FatalError("Not implemented in function visitAtom_expr: function call"); } std::any EvalVisitor::visitTrailer(Python3Parser::TrailerContext *ctx) { @@ -164,6 +177,7 @@ std::any EvalVisitor::visitAtom(Python3Parser::AtomContext *ctx) { const std::string &tmp = item->getText(); res.append(tmp, 1, tmp.size() - 2); } + // std::cerr<<"[Log] The string is : "<(&value)) buf << *ptr; + else if (auto ptr = std::any_cast(&value)) + buf << *ptr; else throw FatalError("Any2String: unknown type"); buf >> res;