📄 parser.cpp
字号:
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 = ☆ 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 + -