void DebugVisitor::visitArgumentList( ArgumentListAst *node ) { kDebug(9024) << getIndent() << "BEGIN(arg_list)(" << getTokenInfo(node->startToken) << ")"; indent++; DefaultVisitor::visitArgumentList( node ); indent--; kDebug(9024) << getIndent() << "END(arg_list)(" << getTokenInfo(node->startToken) << ")"; }
void DebugVisitor::visitFunctionArguments( FunctionArgumentsAst *node ) { kDebug(9024) << getIndent() << "BEGIN(function_args)(" << getTokenInfo(node->startToken) << ")"; indent++; DefaultVisitor::visitFunctionArguments( node ); indent--; kDebug(9024) << getIndent() << "END(function_args)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitOrOperator( OrOperatorAst *node ) { kDebug(9024) << getIndent() << "BEGIN(or_op)(" << getTokenInfo(node->startToken) << ")"; indent++; DefaultVisitor::visitOrOperator( node ); indent--; kDebug(9024) << getIndent() << "END(or_op)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitVariableAssignment( VariableAssignmentAst *node ) { kDebug(9024) << getIndent() << "BEGIN(variable_assignment)(" << getTokenInfo(node->startToken) << ")"; indent++; DefaultVisitor::visitVariableAssignment( node ); indent--; kDebug(9024) << getIndent() << "END(variable_assignment)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitScopeBody( ScopeBodyAst *node ) { kDebug(9024) << getIndent() << "BEGIN(scope_body)(" << getTokenInfo(node->startToken) << ")"; indent++; DefaultVisitor::visitScopeBody( node ); indent--; kDebug(9024) << getIndent() << "END(scope_body)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitValueList( ValueListAst *node ) { kDebug(9024) << getIndent() << "BEGIN(value_list)(" << getTokenInfo(node->startToken) << ")"; indent++; DefaultVisitor::visitValueList( node ); indent--; kDebug(9024) << getIndent() << "END(value_list)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitProject( ProjectAst *node ) { kDebug(9024) << getIndent() << "BEGIN(project)(" << getTokenInfo(node->startToken) << ")"; indent++; DefaultVisitor::visitProject( node ); indent--; kDebug(9024) << getIndent() << "END(project)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitOp( OpAst *node ) { kDebug(9024) << getIndent() << "BEGIN(op)(" << getTokenInfo(node->startToken) << ")"; indent++; kDebug(9024) << getIndent() << "optoken =" << getTokenInfo(node->optoken); DefaultVisitor::visitOp( node ); indent--; kDebug(9024) << getIndent() << "END(op)(" << getTokenInfo(node->endToken) << "))"; }
void DebugVisitor::visitValue( ValueAst *node ) { kDebug(9024) << getIndent() << "BEGIN(value)(" << getTokenInfo(node->startToken) << ")"; indent++; kDebug(9024) << getIndent() << "value=" << getTokenInfo(node->value); DefaultVisitor::visitValue( node ); indent--; kDebug(9024) << getIndent() << "END(value)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitItem( ItemAst *node ) { kDebug(9024) << getIndent() << "BEGIN(item)(" << getTokenInfo(node->startToken) << ")"; indent++; kDebug(9024) << getIndent() << "id=" << getTokenInfo(node->id); DefaultVisitor::visitItem( node ); indent--; kDebug(9024) << getIndent() << "END(item)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitScope( ScopeAst *node ) { kDebug(9024) << getIndent() << "BEGIN(scope)(" << getTokenInfo(node->startToken) << ")"; indent++; visitNode( node->functionArguments ); visitNode( node->orOperator ); visitNode( node->scopeBody ); indent--; kDebug(9024) << getIndent() << "END(scope)(" << getTokenInfo(node->endToken) << ")"; }
void DebugVisitor::visitStatement( StatementAst *node ) { kDebug(9024) << getIndent() << "BEGIN(stmt)(" << getTokenInfo(node->startToken) << ")"; indent++; kDebug(9024) << getIndent() << "isExclam=" << node->isExclam; if( !node->isNewline ) { kDebug(9024) << getIndent() << "id=" << getTokenInfo(node->id); } DefaultVisitor::visitStatement( node ); indent--; kDebug(9024) << getIndent() << "END(stmt)(" << getTokenInfo(node->endToken) << ")"; }
TokenManager::TokenManager(size_t script_size) : max_token_size(0), idx(0) { size_t token_size = sizeof(Token); size_t token_pool_size = script_size * token_size; tokens = new Tokens(); pool = (TokenPool *)calloc(script_size, token_size); head = pool; undefined_info = getTokenInfo(TokenType::Undefined); }
TokenInfo TokenManager::getTokenInfo(const char *data) { TypeDataMap::iterator it = data_to_info_map.find(data); return (it != data_to_info_map.end()) ? it->second : getTokenInfo(TokenType::Undefined); }
TokenInfo TokenManager::getTokenInfo(TokenType::Type type) { TypeMap::iterator it = type_to_info_map.find(type); return (it != type_to_info_map.end()) ? it->second : getTokenInfo(TokenType::Undefined); }