Example #1
0
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 ++;
    }
}