⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parser.cpp

📁 khtml在gtk上的移植版本
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	p->valueList = 0;    ;    break;}case 14:#line 294 "parser.y"{#ifdef CSS_DEBUG     kdDebug( 6080 ) << "charset rule: " << qString(yyvsp[-2].string) << endl;#endif ;    break;}case 18:#line 305 "parser.y"{     CSSParser *p = static_cast<CSSParser *>(parser);     if ( yyvsp[-1].rule && p->styleElement && p->styleElement->isCSSStyleSheet() ) {	 p->styleElement->append( yyvsp[-1].rule );     } else {	 delete yyvsp[-1].rule;     } ;    break;}case 22:#line 322 "parser.y"{     CSSParser *p = static_cast<CSSParser *>(parser);     if ( yyvsp[-1].rule && p->styleElement && p->styleElement->isCSSStyleSheet() ) {	 p->styleElement->append( yyvsp[-1].rule );     } else {	 delete yyvsp[-1].rule;     } ;    break;}case 29:#line 342 "parser.y"{#ifdef CSS_DEBUG	kdDebug( 6080 ) << "@import: " << qString(yyvsp[-3].string) << endl;#endif	CSSParser *p = static_cast<CSSParser *>(parser);	if ( yyvsp[-1].mediaList && p->styleElement && p->styleElement->isCSSStyleSheet() )	    yyval.rule = new CSSImportRuleImpl( p->styleElement, domString(yyvsp[-3].string), yyvsp[-1].mediaList );	else {	    yyval.rule = 0;            delete yyvsp[-1].mediaList;        }    ;    break;}case 30:#line 354 "parser.y"{        yyval.rule = 0;    ;    break;}case 31:#line 357 "parser.y"{        yyval.rule = 0;    ;    break;}case 32:#line 363 "parser.y"{#ifdef CSS_DEBUG    kdDebug( 6080 ) << "@namespace: " << qString(yyvsp[-2].string) << endl;#endif    CSSParser *p = static_cast<CSSParser *>(parser);    if (p->styleElement && p->styleElement->isCSSStyleSheet())        static_cast<CSSStyleSheetImpl*>(p->styleElement)->addNamespace(p, domString(yyvsp[-3].string), domString(yyvsp[-2].string));;    break;}case 35:#line 376 "parser.y"{ yyval.string.string = 0; ;    break;}case 36:#line 377 "parser.y"{ yyval.string = yyvsp[-1].string; ;    break;}case 39:#line 386 "parser.y"{        yyval.mediaList = new MediaListImpl();     ;    break;}case 41:#line 394 "parser.y"{	yyval.mediaList = 0;    ;    break;}case 42:#line 397 "parser.y"{	yyval.mediaList = new MediaListImpl();	yyval.mediaList->appendMedium( domString(yyvsp[0].string).lower() );    ;    break;}case 43:#line 401 "parser.y"{	yyval.mediaList = yyvsp[-3].mediaList;        if (yyval.mediaList)	    yyval.mediaList->appendMedium( domString(yyvsp[0].string) );    ;    break;}case 44:#line 406 "parser.y"{        delete yyvsp[-1].mediaList;        yyval.mediaList = 0;    ;    break;}case 45:#line 413 "parser.y"{	CSSParser *p = static_cast<CSSParser *>(parser);	if ( yyvsp[-4].mediaList && yyvsp[-1].ruleList &&	     p->styleElement && p->styleElement->isCSSStyleSheet() ) {	    yyval.rule = new CSSMediaRuleImpl( static_cast<CSSStyleSheetImpl*>(p->styleElement), yyvsp[-4].mediaList, yyvsp[-1].ruleList );	} else {	    yyval.rule = 0;	    delete yyvsp[-4].mediaList;	    delete yyvsp[-1].ruleList;	}    ;    break;}case 46:#line 427 "parser.y"{ yyval.ruleList = 0; ;    break;}case 47:#line 428 "parser.y"{      yyval.ruleList = yyvsp[-2].ruleList;      if ( yyvsp[-1].rule ) {	  if ( !yyval.ruleList ) yyval.ruleList = new CSSRuleListImpl();	  yyval.ruleList->append( yyvsp[-1].rule );      }  ;    break;}case 48:#line 438 "parser.y"{      yyval.string = yyvsp[-1].string;  ;    break;}case 49:#line 460 "parser.y"{      yyval.rule = 0;    ;    break;}case 50:#line 463 "parser.y"{      yyval.rule = 0;    ;    break;}case 51:#line 469 "parser.y"{      yyval.rule = 0;    ;    break;}case 52:#line 472 "parser.y"{      yyval.rule = 0;    ;    break;}case 53:#line 478 "parser.y"{ yyval.relation = CSSSelector::Sibling; ;    break;}case 54:#line 479 "parser.y"{ yyval.relation = CSSSelector::Child; ;    break;}case 55:#line 480 "parser.y"{ yyval.relation = CSSSelector::Descendant; ;    break;}case 56:#line 484 "parser.y"{ yyval.val = -1; ;    break;}case 57:#line 485 "parser.y"{ yyval.val = 1; ;    break;}case 58:#line 489 "parser.y"{#ifdef CSS_DEBUG	kdDebug( 6080 ) << "got ruleset" << endl << "  selector:" << endl;#endif	CSSParser *p = static_cast<CSSParser *>(parser);	if ( yyvsp[-4].selector ) {            CSSStyleRuleImpl *rule = new CSSStyleRuleImpl( p->styleElement );            CSSStyleDeclarationImpl *decl = p->createStyleDeclaration( rule );            rule->setSelector( yyvsp[-4].selector );            rule->setDeclaration(decl);            yyval.rule = rule;	} else {	    yyval.rule = 0;	    p->clearProperties();	}    ;    break;}case 59:#line 508 "parser.y"{	if ( yyvsp[0].selector ) {	    yyval.selector = yyvsp[0].selector;#ifdef CSS_DEBUG	    kdDebug( 6080 ) << "   got simple selector:" << endl;	    yyvsp[0].selector->print();#endif	} else {	    yyval.selector = 0;	}    ;    break;}case 60:#line 519 "parser.y"{	if ( yyvsp[-3].selector && yyvsp[0].selector ) {	    yyval.selector = yyvsp[-3].selector;	    yyval.selector->append( yyvsp[0].selector );#ifdef CSS_DEBUG	    kdDebug( 6080 ) << "   got simple selector:" << endl;	    yyvsp[0].selector->print();#endif	} else {            delete yyvsp[-3].selector;            delete yyvsp[0].selector;            yyval.selector = 0;        }    ;    break;}case 61:#line 533 "parser.y"{        delete yyvsp[-1].selector;        yyval.selector = 0;    ;    break;}case 62:#line 540 "parser.y"{	yyval.selector = yyvsp[0].selector;    ;    break;}case 63:#line 543 "parser.y"{    	yyval.selector = yyvsp[0].selector;        if (!yyvsp[-2].selector) {            delete yyvsp[0].selector;            yyval.selector = 0;        }        else if (yyval.selector) {            CSSSelector *end = yyval.selector;            while( end->tagHistory )                end = end->tagHistory;            end->relation = yyvsp[-1].relation;            end->tagHistory = yyvsp[-2].selector;            if ( yyvsp[-1].relation == CSSSelector::Descendant ||                yyvsp[-1].relation == CSSSelector::Child ) {                CSSParser *p = static_cast<CSSParser *>(parser);                DOM::DocumentImpl *doc = p->document();                if ( doc )                    doc->setUsesDescendantRules(true);            }            else if (yyvsp[-1].relation == CSSSelector::Sibling) {                CSSParser *p = static_cast<CSSParser *>(parser);                DOM::DocumentImpl *doc = p->document();                if (doc)                    doc->setUsesSiblingRules(true);            }        } else {            delete yyvsp[-2].selector;        }    ;    break;}case 64:#line 572 "parser.y"{        delete yyvsp[-1].selector;        yyval.selector = 0;    ;    break;}case 65:#line 579 "parser.y"{ yyval.string.string = 0; yyval.string.length = 0; ;    break;}case 66:#line 580 "parser.y"{ static unsigned short star = '*'; yyval.string.string = &star; yyval.string.length = 1; ;    break;}case 67:#line 581 "parser.y"{ yyval.string = yyvsp[0].string; ;    break;}case 68:#line 585 "parser.y"{	yyval.selector = new CSSSelector();	yyval.selector->tag = yyvsp[-1].element;    ;    break;}case 69:#line 589 "parser.y"{	yyval.selector = yyvsp[-1].selector;	if ( yyval.selector )            yyval.selector->tag = yyvsp[-2].element;    ;    break;}case 70:#line 594 "parser.y"{	yyval.selector = yyvsp[-1].selector;        if (yyval.selector)            yyval.selector->tag = makeId(static_cast<CSSParser*>(parser)->defaultNamespace, anyLocalName);;    ;    break;}case 71:#line 599 "parser.y"{        yyval.selector = new CSSSelector();        yyval.selector->tag = yyvsp[-1].element;        CSSParser *p = static_cast<CSSParser *>(parser);        if (p->styleElement && p->styleElement->isCSSStyleSheet())            static_cast<CSSStyleSheetImpl*>(p->styleElement)->determineNamespace(yyval.selector->tag, domString(yyvsp[-3].string));    ;    break;}case 72:#line 606 "parser.y"{        yyval.selector = yyvsp[-1].selector;        if (yyval.selector) {            yyval.selector->tag = yyvsp[-2].element;            CSSParser *p = static_cast<CSSParser *>(parser);            if (p->styleElement && p->styleElement->isCSSStyleSheet())                static_cast<CSSStyleSheetImpl*>(p->styleElement)->determineNamespace(yyval.selector->tag, domString(yyvsp[-4].string));        }    ;    break;}case 73:#line 615 "parser.y"{        yyval.selector = yyvsp[-1].selector;        if (yyval.selector) {            yyval.selector->tag = makeId(anyNamespace, anyLocalName);            CSSParser *p = static_cast<CSSParser *>(parser);            if (p->styleElement && p->styleElement->isCSSStyleSheet())                static_cast<CSSStyleSheetImpl*>(p->styleElement)->determineNamespace(yyval.selector->tag, domString(yyvsp[-3].string));        }    ;    break;}case 74:#line 627 "parser.y"{	CSSParser *p = static_cast<CSSParser *>(parser);	DOM::DocumentImpl *doc = p->document();	QString tag = qString(yyvsp[0].string);	if ( doc ) {	    if (doc->isHTMLDocument())		tag = tag.lower();	    const DOMString dtag(tag);            yyval.element = makeId(p->defaultNamespace, doc->tagId(0, dtag.implementation(), false));	} else {	    yyval.element = makeId(p->defaultNamespace, khtml::getTagID(tag.lower().ascii(), tag.length()));	    // this case should never happen - only when loading	    // the default stylesheet - which must not contain unknown tags// 	    assert($$ != 0);	}    ;    break;}case 75:#line 643 "parser.y"{	yyval.element = makeId(static_cast<CSSParser*>(parser)->defaultNamespace, anyLocalName);    ;    break;}case 76:#line 649 "parser.y"{	yyval.selector = yyvsp[0].selector;    ;    break;}case 77:#line 652 "parser.y"{	yyval.selector = yyvsp[-1].selector;        if (yyval.selector) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -