📄 sacparser.java
字号:
} break; default: jj_la1[52] = jj_gen; jj_consume_token(-1); throw new ParseException(); } {if (true) return c;} throw new Error("Missing return statement in function"); }//// unary_operator// : '-' | '+'// ;// final public char unaryOperator() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case MINUS: jj_consume_token(MINUS); {if (true) return '-';} break; case PLUS: jj_consume_token(PLUS); {if (true) return '+';} break; default: jj_la1[53] = jj_gen; jj_consume_token(-1); throw new ParseException(); } throw new Error("Missing return statement in function"); }//// property// : IDENT S*// ;// final public String property() throws ParseException { Token t; t = jj_consume_token(IDENT); label_33: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[54] = jj_gen; break label_33; } jj_consume_token(S); } {if (true) return unescape(t.image);} throw new Error("Missing return statement in function"); }//// ruleset// : selector [ ',' S* selector ]*// '{' S* declaration [ ';' S* declaration ]* '}' S*// ;// final public void styleRule() throws ParseException { SelectorList selList = null; boolean start = false; boolean noError = true; try { selList = selectorList(); jj_consume_token(LBRACE); label_34: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[55] = jj_gen; break label_34; } jj_consume_token(S); } start = true; _docHandler.startSelector(selList); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENT: declaration(); break; default: jj_la1[56] = jj_gen; ; } label_35: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: jj_la1[57] = jj_gen; break label_35; } jj_consume_token(SEMICOLON); label_36: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[58] = jj_gen; break label_36; } jj_consume_token(S); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENT: declaration(); break; default: jj_la1[59] = jj_gen; ; } } jj_consume_token(RBRACE); } catch (ParseException e) {// System.err.println("Exception in styleRule()");// System.err.println(e.getMessage()); noError = false; error_skipblock(); } finally { if (start) { _docHandler.endSelector(selList); } } } final public SelectorList selectorList() throws ParseException { SelectorListImpl selList = new SelectorListImpl(); Selector sel; try { sel = selector(); label_37: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: ; break; default: jj_la1[60] = jj_gen; break label_37; } jj_consume_token(COMMA); label_38: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[61] = jj_gen; break label_38; } jj_consume_token(S); } selList.add(sel); sel = selector(); } selList.add(sel); {if (true) return selList;} } catch (ParseException e) { System.err.println("Exception in selectorList()"); } throw new Error("Missing return statement in function"); }//// selector// : simple_selector [ combinator simple_selector ]*// ;// final public Selector selector() throws ParseException { Selector sel; char comb; try { sel = simpleSelector(null, ' '); label_39: while (true) { if (jj_2_2(2)) { ; } else { break label_39; } comb = combinator(); sel = simpleSelector(sel, comb); } label_40: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[62] = jj_gen; break label_40; } jj_consume_token(S); } {if (true) return sel;} } catch (ParseException e) { skipSelector(); } throw new Error("Missing return statement in function"); }//// simple_selector// : element_name? [ HASH | class | attrib | pseudo ]* S*// ;// final public Selector simpleSelector(Selector sel, char comb) throws ParseException { SimpleSelector simpleSel = null; Condition c = null; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case ASTERISK: case IDENT: simpleSel = elementName(); label_41: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DOT: case COLON: case LSQUARE: case HASH: ; break; default: jj_la1[63] = jj_gen; break label_41; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case HASH: c = hash(c); break; case DOT: c = _class(c); break; case LSQUARE: c = attrib(c); break; case COLON: c = pseudo(c); break; default: jj_la1[64] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } break; case DOT: case COLON: case LSQUARE: case HASH: simpleSel = _selectorFactory.createElementSelector(null, null); label_42: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case HASH: c = hash(c); break; case DOT: c = _class(c); break; case LSQUARE: c = attrib(c); break; case COLON: c = pseudo(c); break; default: jj_la1[65] = jj_gen; jj_consume_token(-1); throw new ParseException(); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DOT: case COLON: case LSQUARE: case HASH: ; break; default: jj_la1[66] = jj_gen; break label_42; } } break; default: jj_la1[67] = jj_gen; jj_consume_token(-1); throw new ParseException(); } if (c != null) { simpleSel = _selectorFactory.createConditionalSelector(simpleSel, c); } if (sel != null) { switch (comb) { case ' ': sel = _selectorFactory.createDescendantSelector(sel, simpleSel); break; case '+': sel = _selectorFactory.createDirectAdjacentSelector(sel.getSelectorType(), sel, simpleSel); break; case '>': sel = _selectorFactory.createChildSelector(sel, simpleSel); break; } } else { sel = simpleSel; } {if (true) return sel;} throw new Error("Missing return statement in function"); }//// class// : '.' IDENT// ;// final public Condition _class(Condition pred) throws ParseException { Token t; jj_consume_token(DOT); t = jj_consume_token(IDENT); Condition c = _conditionFactory.createClassCondition(null, t.image); {if (true) return (pred == null) ? c : _conditionFactory.createAndCondition(pred, c);} throw new Error("Missing return statement in function"); }//// element_name// : IDENT | '*'// ;// final public SimpleSelector elementName() throws ParseException { Token t; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENT: t = jj_consume_token(IDENT); {if (true) return _selectorFactory.createElementSelector(null, unescape(t.image));} break; case ASTERISK: jj_consume_token(ASTERISK); {if (true) return _selectorFactory.createElementSelector(null, null);} break; default: jj_la1[68] = jj_gen; jj_consume_token(-1); throw new ParseException(); } throw new Error("Missing return statement in function"); }//// attrib// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH ] S*// [ IDENT | STRING ] S* ]? ']'// ;// final public Condition attrib(Condition pred) throws ParseException { Token t; String name = null; String value = null; int type = 0; jj_consume_token(LSQUARE); label_43: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[69] = jj_gen; break label_43; } jj_consume_token(S); } t = jj_consume_token(IDENT); name = unescape(t.image); label_44: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[70] = jj_gen; break label_44; } jj_consume_token(S); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case EQUALS: case INCLUDES: case DASHMATCH: switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case EQUALS: jj_consume_token(EQUALS); type = 1; break; case INCLUDES: jj_consume_token(INCLUDES); type = 2; break; case DASHMATCH: jj_consume_token(DASHMATCH); type = 3; break; default: jj_la1[71] = jj_gen; jj_consume_token(-1); throw new ParseException(); } label_45: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[72] = jj_gen; break label_45; } jj_consume_token(S); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENT: t = jj_consume_token(IDENT); value = t.image; break; case STRING: t = jj_consume_token(STRING); value = unescape(t.image); break; default: jj_la1[73] = jj_gen; jj_consume_token(-1); throw new ParseException(); } label_46: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: jj_la1[74] = jj_gen; break label_46; } jj_consume_token(S); } break; default: jj_la1[75] = jj_gen; ; } jj_consume_token(RSQUARE); Condition c = null; switch (type) { case 0: c = _conditionFactory.createAttributeCondition(name, null, false, null); break; case 1: c = _conditionFactory.createAttributeCondition(name, null, false, value); break; case 2: c = _conditionFactory.createOneOfAttributeCondition(name, null, false, value); break; case 3: c = _conditionFactory.createBeginHyphenAttributeCondition(name, null, false, value); break; } {if (true) return (pred == null) ? c : _conditionFactory.createAndCondition(pred, c);} throw new Error("Missing return statement in function"); }//// pseudo// : ':' [ IDENT | FUNCTION S* IDENT S* ')' ]// ;// final public Condition pseudo(Condition pred) throws ParseException { Condition c; Token t; String function; String arg; jj_consume_token(COLON); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENT: t = jj_consume_token(IDENT); // There appears to be an issue here regarding "first-letter" & "first-line" String s = unescape(t.image); c = _conditionFactory.createPseudoClassCondition(null, s);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -