void Builder::parse( const char* content ) { NodeManager* mgr = NodeManager::getSingleton(); const char* last = content; int width; while( *content ) { if( (width = isBlank(content)) > 0 ) { content += width; } else if( (width = isOp( content )) > 0 ) { mgr->createOperator(content, width); mgr->createOperand(content, content-last); last = content; content += width; } else if( (width = isBrace( content )) > 0 ) { mgr->createBrace(content, width); last = content; content += width; } content ++; } }