summaryrefslogtreecommitdiffstats
path: root/theme-compiler/src/com/vaadin
diff options
context:
space:
mode:
authorMarc Englund <marc@vaadin.com>2012-09-11 16:27:05 +0300
committerMarc Englund <marc@vaadin.com>2012-09-11 16:27:28 +0300
commitc9e8218799152dd90bacb6c8b92b648a951aca24 (patch)
tree88838e0fdaf1257258d2e3d5eaffd7cb88819ab6 /theme-compiler/src/com/vaadin
parent6ccbb9e40ebb160d2bc1a57c5b5293c4f87d0b27 (diff)
downloadvaadin-framework-c9e8218799152dd90bacb6c8b92b648a951aca24.tar.gz
vaadin-framework-c9e8218799152dd90bacb6c8b92b648a951aca24.zip
Applying patch: remak of variable handling in sass (partial for e.g #9492 and others)
Diffstat (limited to 'theme-compiler/src/com/vaadin')
-rw-r--r--theme-compiler/src/com/vaadin/sass/ScssStylesheet.java18
-rw-r--r--theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java11
-rw-r--r--theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java72
-rw-r--r--theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java22
-rw-r--r--theme-compiler/src/com/vaadin/sass/parser/Parser.java1275
-rw-r--r--theme-compiler/src/com/vaadin/sass/parser/Parser.jj73
-rw-r--r--theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java178
-rw-r--r--theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java1310
-rw-r--r--theme-compiler/src/com/vaadin/sass/selector/SelectorUtil.java25
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/BlockNode.java36
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/ExtendNode.java36
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/FunctionNode.java13
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/IVariableNode.java9
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/IfNode.java22
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/MediaNode.java1
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/MixinDefNode.java18
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/MixinNode.java17
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/NestPropertiesNode.java12
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/Node.java10
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/RuleNode.java34
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/SimpleNode.java16
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/VariableNode.java46
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlChildNode.java6
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlDefNode.java6
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlNode.java5
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/EachDefNode.java2
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/ElseNode.java12
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseDefNode.java17
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseNode.java7
-rw-r--r--theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java55
-rw-r--r--theme-compiler/src/com/vaadin/sass/visitor/EachVisitor.java (renamed from theme-compiler/src/com/vaadin/sass/visitor/ControlVisitor.java)15
-rw-r--r--theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java112
-rw-r--r--theme-compiler/src/com/vaadin/sass/visitor/MixinVisitor.java36
-rw-r--r--theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java96
34 files changed, 2252 insertions, 1371 deletions
diff --git a/theme-compiler/src/com/vaadin/sass/ScssStylesheet.java b/theme-compiler/src/com/vaadin/sass/ScssStylesheet.java
index b38cab82a0..e2ffe060bc 100644
--- a/theme-compiler/src/com/vaadin/sass/ScssStylesheet.java
+++ b/theme-compiler/src/com/vaadin/sass/ScssStylesheet.java
@@ -31,9 +31,11 @@ import com.vaadin.sass.parser.Parser;
import com.vaadin.sass.resolver.ScssStylesheetResolver;
import com.vaadin.sass.resolver.VaadinResolver;
import com.vaadin.sass.tree.Node;
+import com.vaadin.sass.tree.VariableNode;
import com.vaadin.sass.visitor.BlockVisitor;
-import com.vaadin.sass.visitor.ControlVisitor;
+import com.vaadin.sass.visitor.EachVisitor;
import com.vaadin.sass.visitor.ExtendVisitor;
+import com.vaadin.sass.visitor.IfElseVisitor;
import com.vaadin.sass.visitor.ImportVisitor;
import com.vaadin.sass.visitor.MixinVisitor;
import com.vaadin.sass.visitor.NestPropertiesVisitor;
@@ -116,16 +118,17 @@ public class ScssStylesheet extends Node {
* @throws Exception
*/
public void compile() throws Exception {
+ ScssStylesheet scssStylesheet = this;
List<Visitor> visitors = new ArrayList<Visitor>();
visitors.add(new ImportVisitor());
- visitors.add(new MixinVisitor());
visitors.add(new VariableVisitor());
+ visitors.add(new MixinVisitor());
+ visitors.add(new IfElseVisitor());
visitors.add(new ParentSelectorVisitor());
visitors.add(new BlockVisitor());
visitors.add(new NestPropertiesVisitor());
visitors.add(new ExtendVisitor());
- visitors.add(new ControlVisitor());
- ArrayList<Node> children2 = children;
+ visitors.add(new EachVisitor());
for (Visitor visitor : visitors) {
visitor.traverse(this);
}
@@ -156,4 +159,11 @@ public class ScssStylesheet extends Node {
String output = string.toString();
return output;
}
+
+ public void addChild(int index, VariableNode node) {
+ if (node != null) {
+ children.add(index, node);
+ }
+ }
+
}
diff --git a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java
index c489a6a4a7..8696cf7ccf 100644
--- a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java
+++ b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java
@@ -26,7 +26,6 @@ import org.w3c.css.sac.SelectorList;
import com.vaadin.sass.ScssStylesheet;
import com.vaadin.sass.tree.ForNode;
-import com.vaadin.sass.tree.IfNode;
import com.vaadin.sass.tree.MixinDefNode;
import com.vaadin.sass.tree.VariableNode;
import com.vaadin.sass.tree.WhileNode;
@@ -50,8 +49,6 @@ public interface SCSSDocumentHandler extends DocumentHandler {
WhileNode whileDirective(String condition, String body);
- IfNode ifDirective();
-
void extendDirective(SelectorList list);
void startNestedProperties(String name);
@@ -69,4 +66,12 @@ public interface SCSSDocumentHandler extends DocumentHandler {
void endEachDirective();
+ void startIfElseDirective();
+
+ void endIfElseDirective();
+
+ void ifDirective(String evaluator);
+
+ void elseDirective();
+
}
diff --git a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java
index 0ed8b8d0f2..283546ff35 100644
--- a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java
+++ b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java
@@ -18,8 +18,6 @@ package com.vaadin.sass.handler;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
import java.util.Stack;
import org.w3c.css.sac.CSSException;
@@ -33,7 +31,6 @@ import com.vaadin.sass.tree.BlockNode;
import com.vaadin.sass.tree.CommentNode;
import com.vaadin.sass.tree.ExtendNode;
import com.vaadin.sass.tree.ForNode;
-import com.vaadin.sass.tree.IfNode;
import com.vaadin.sass.tree.ImportNode;
import com.vaadin.sass.tree.MediaNode;
import com.vaadin.sass.tree.MixinDefNode;
@@ -44,16 +41,17 @@ import com.vaadin.sass.tree.RuleNode;
import com.vaadin.sass.tree.VariableNode;
import com.vaadin.sass.tree.WhileNode;
import com.vaadin.sass.tree.controldirective.EachDefNode;
+import com.vaadin.sass.tree.controldirective.ElseNode;
+import com.vaadin.sass.tree.controldirective.IfElseDefNode;
+import com.vaadin.sass.tree.controldirective.IfNode;
public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler {
private final ScssStylesheet styleSheet;
Stack<Node> nodeStack = new Stack<Node>();
- private Map<String, Stack<LexicalUnit>> variableMap;
public SCSSDocumentHandlerImpl() {
this(new ScssStylesheet());
- variableMap = new HashMap<String, Stack<LexicalUnit>>();
}
public SCSSDocumentHandlerImpl(ScssStylesheet styleSheet) {
@@ -61,29 +59,6 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler {
nodeStack.push(styleSheet);
}
- public void addVariable(String varName, LexicalUnit value) {
- if (variableMap.get(varName) == null) {
- variableMap.put(varName, new Stack<LexicalUnit>());
- }
- Stack<LexicalUnit> valueStack = variableMap.get(varName);
- valueStack.push(value);
- }
-
- public void removeVaraible(String varName) {
- Stack<LexicalUnit> valueStack = variableMap.get(varName);
- if (valueStack != null && !valueStack.isEmpty()) {
- valueStack.pop();
- }
- }
-
- public LexicalUnit getVariable(String varName) {
- Stack<LexicalUnit> valueStack = variableMap.get(varName);
- if (valueStack != null && !valueStack.isEmpty()) {
- return valueStack.peek();
- }
- return null;
- }
-
@Override
public ScssStylesheet getStyleSheet() {
return styleSheet;
@@ -141,11 +116,6 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler {
}
@Override
- public IfNode ifDirective() {
- return new IfNode();
- }
-
- @Override
public void comment(String text) throws CSSException {
CommentNode node = new CommentNode(text);
nodeStack.peek().appendChild(node);
@@ -273,4 +243,40 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler {
ImportNode node = new ImportNode(uri, media, isURL);
nodeStack.peek().appendChild(node);
}
+
+ @Override
+ public void startIfElseDirective() {
+ final IfElseDefNode node = new IfElseDefNode();
+ nodeStack.peek().appendChild(node);
+ nodeStack.push(node);
+ }
+
+ @Override
+ public void ifDirective(String evaluator) {
+ if (nodeStack.peek() instanceof IfNode) {
+ nodeStack.pop();
+ }
+ IfNode node = new IfNode(evaluator);
+ nodeStack.peek().appendChild(node);
+ nodeStack.push(node);
+ }
+
+ @Override
+ public void elseDirective() {
+ if (nodeStack.peek() instanceof IfNode) {
+ nodeStack.pop();
+ }
+ ElseNode node = new ElseNode();
+ nodeStack.peek().appendChild(node);
+ nodeStack.push(node);
+ }
+
+ @Override
+ public void endIfElseDirective() {
+ if ((nodeStack.peek() instanceof ElseNode)
+ || (nodeStack.peek() instanceof IfNode)) {
+ nodeStack.pop();
+ }
+ nodeStack.pop();
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java b/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java
index a6b03a864c..64a9d4a6b8 100644
--- a/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java
+++ b/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java
@@ -350,22 +350,32 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
return this;
}
- public void replaceValue(LexicalUnitImpl another) {
+ public void replaceValue(LexicalUnit another) {
type = another.getLexicalUnitType();
i = another.getIntegerValue();
f = another.getFloatValue();
- dimension = another.getDimension();
- sdimension = another.getSdimension();
s = another.getStringValue();
fname = another.getFunctionName();
- params = another.getParameters();
prev = another.getPreviousLexicalUnit();
+ if (another instanceof LexicalUnitImpl) {
+ dimension = ((LexicalUnitImpl) another).getDimension();
+ sdimension = ((LexicalUnitImpl) another).getSdimension();
+ params = ((LexicalUnitImpl) another).getParameters();
+ }
+
LexicalUnit finalNextInAnother = another;
while (finalNextInAnother.getNextLexicalUnit() != null) {
finalNextInAnother = finalNextInAnother.getNextLexicalUnit();
}
- ((LexicalUnitImpl) finalNextInAnother).setNextLexicalUnit(next);
- next = another.next;
+
+ if (another instanceof LexicalUnitImpl) {
+ ((LexicalUnitImpl) finalNextInAnother).setNextLexicalUnit(next);
+ next = ((LexicalUnitImpl) another).next;
+ }
+ }
+
+ public void setParameters(LexicalUnitImpl params) {
+ this.params = params;
}
public short getDimension() {
diff --git a/theme-compiler/src/com/vaadin/sass/parser/Parser.java b/theme-compiler/src/com/vaadin/sass/parser/Parser.java
index 68e0aa7231..41ea251943 100644
--- a/theme-compiler/src/com/vaadin/sass/parser/Parser.java
+++ b/theme-compiler/src/com/vaadin/sass/parser/Parser.java
@@ -1475,6 +1475,7 @@ char connector = ' ';
case EACH_VAR:
case INCLUDE_SYM:
case EACH_SYM:
+ case IF_SYM:
case EXTEND_SYM:
case IDENT:
case VARIABLE:
@@ -1487,6 +1488,9 @@ char connector = ' ';
break label_39;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IF_SYM:
+ ifDirective();
+ break;
case INCLUDE_SYM:
includeDirective();
break;
@@ -2289,23 +2293,40 @@ boolean isPseudoElement = false;
}
}
- final public void eachDirective() throws ParseException {
- Token var;
- ArrayList<String> list;
- jj_consume_token(EACH_SYM);
+ final public void ifDirective() throws ParseException {
+ Token n = null;
+ String evaluator = "";
+ jj_consume_token(IF_SYM);
label_61:
while (true) {
+ n = booleanExpressionToken();
+ evaluator += n.image;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
+ case EQ:
+ case PLUS:
+ case MINUS:
+ case PRECEDES:
+ case SUCCEEDS:
+ case DIV:
+ case ANY:
+ case LPARAN:
+ case RPARAN:
+ case COMPARE:
+ case OR:
+ case AND:
+ case NOT_EQ:
+ case IDENT:
+ case NUMBER:
+ case VARIABLE:
;
break;
default:
jj_la1[92] = jj_gen;
break label_61;
}
- jj_consume_token(S);
}
- var = jj_consume_token(VARIABLE);
+ jj_consume_token(LBRACE);
label_62:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2318,35 +2339,356 @@ boolean isPseudoElement = false;
}
jj_consume_token(S);
}
- jj_consume_token(EACH_IN);
+ documentHandler.startIfElseDirective();
+ documentHandler.ifDirective(evaluator);
label_63:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case S:
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case EACH_VAR:
+ case INCLUDE_SYM:
+ case EXTEND_SYM:
+ case IDENT:
+ case VARIABLE:
+ case HASH:
+ case MEDIA_SYM:
;
break;
default:
jj_la1[94] = jj_gen;
break label_63;
}
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INCLUDE_SYM:
+ includeDirective();
+ break;
+ case MEDIA_SYM:
+ media();
+ break;
+ case EXTEND_SYM:
+ extendDirective();
+ break;
+ case VARIABLE:
+ variable();
+ break;
+ default:
+ jj_la1[95] = jj_gen;
+ if (jj_2_3(3)) {
+ declarationOrNestedProperties();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case EACH_VAR:
+ case IDENT:
+ case HASH:
+ styleRule();
+ break;
+ default:
+ jj_la1[96] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+ }
+ jj_consume_token(RBRACE);
+ label_64:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[97] = jj_gen;
+ break label_64;
+ }
+ jj_consume_token(S);
+ }
+ label_65:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case ELSE_SYM:
+ ;
+ break;
+ default:
+ jj_la1[98] = jj_gen;
+ break label_65;
+ }
+ elseDirective();
+ }
+ documentHandler.endIfElseDirective();
+ }
+
+ final public void elseDirective() throws ParseException {
+ String evaluator = "";
+ Token n = null;
+ jj_consume_token(ELSE_SYM);
+ label_66:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[99] = jj_gen;
+ break label_66;
+ }
+ jj_consume_token(S);
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IF:
+ jj_consume_token(IF);
+ label_67:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ case EQ:
+ case PLUS:
+ case MINUS:
+ case PRECEDES:
+ case SUCCEEDS:
+ case DIV:
+ case ANY:
+ case LPARAN:
+ case RPARAN:
+ case COMPARE:
+ case OR:
+ case AND:
+ case NOT_EQ:
+ case IDENT:
+ case NUMBER:
+ case VARIABLE:
+ ;
+ break;
+ default:
+ jj_la1[100] = jj_gen;
+ break label_67;
+ }
+ n = booleanExpressionToken();
+ if(n != null) evaluator += n.image;
+ }
+ break;
+ default:
+ jj_la1[101] = jj_gen;
+ ;
+ }
+ jj_consume_token(LBRACE);
+ label_68:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[102] = jj_gen;
+ break label_68;
+ }
+ jj_consume_token(S);
+ }
+ if(!evaluator.trim().equals("")){ documentHandler.ifDirective(evaluator); }
+ else{ documentHandler.elseDirective(); }
+ label_69:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case EACH_VAR:
+ case INCLUDE_SYM:
+ case EXTEND_SYM:
+ case IDENT:
+ case VARIABLE:
+ case HASH:
+ case MEDIA_SYM:
+ ;
+ break;
+ default:
+ jj_la1[103] = jj_gen;
+ break label_69;
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INCLUDE_SYM:
+ includeDirective();
+ break;
+ case MEDIA_SYM:
+ media();
+ break;
+ case EXTEND_SYM:
+ extendDirective();
+ break;
+ case VARIABLE:
+ variable();
+ break;
+ default:
+ jj_la1[104] = jj_gen;
+ if (jj_2_4(3)) {
+ declarationOrNestedProperties();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case EACH_VAR:
+ case IDENT:
+ case HASH:
+ styleRule();
+ break;
+ default:
+ jj_la1[105] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+ }
+ jj_consume_token(RBRACE);
+ label_70:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[106] = jj_gen;
+ break label_70;
+ }
+ jj_consume_token(S);
+ }
+ }
+
+ final public Token booleanExpressionToken() throws ParseException {
+ Token n = null;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VARIABLE:
+ n = jj_consume_token(VARIABLE);
+ break;
+ case IDENT:
+ n = jj_consume_token(IDENT);
+ break;
+ case NUMBER:
+ n = jj_consume_token(NUMBER);
+ break;
+ case LPARAN:
+ n = jj_consume_token(LPARAN);
+ break;
+ case RPARAN:
+ n = jj_consume_token(RPARAN);
+ break;
+ case PLUS:
+ n = jj_consume_token(PLUS);
+ break;
+ case MINUS:
+ n = jj_consume_token(MINUS);
+ break;
+ case DIV:
+ n = jj_consume_token(DIV);
+ break;
+ case ANY:
+ n = jj_consume_token(ANY);
+ break;
+ case COMPARE:
+ n = jj_consume_token(COMPARE);
+ break;
+ case EQ:
+ n = jj_consume_token(EQ);
+ break;
+ case PRECEDES:
+ n = jj_consume_token(PRECEDES);
+ break;
+ case SUCCEEDS:
+ n = jj_consume_token(SUCCEEDS);
+ break;
+ case OR:
+ n = jj_consume_token(OR);
+ break;
+ case AND:
+ n = jj_consume_token(AND);
+ break;
+ case S:
+ n = jj_consume_token(S);
+ break;
+ case NOT_EQ:
+ n = jj_consume_token(NOT_EQ);
+ break;
+ default:
+ jj_la1[107] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return n;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public void eachDirective() throws ParseException {
+ Token var;
+ ArrayList<String> list;
+ jj_consume_token(EACH_SYM);
+ label_71:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[108] = jj_gen;
+ break label_71;
+ }
+ jj_consume_token(S);
+ }
+ var = jj_consume_token(VARIABLE);
+ label_72:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[109] = jj_gen;
+ break label_72;
+ }
+ jj_consume_token(S);
+ }
+ jj_consume_token(EACH_IN);
+ label_73:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[110] = jj_gen;
+ break label_73;
+ }
jj_consume_token(S);
}
list = stringList();
jj_consume_token(LBRACE);
- label_64:
+ label_74:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[95] = jj_gen;
- break label_64;
+ jj_la1[111] = jj_gen;
+ break label_74;
}
jj_consume_token(S);
}
documentHandler.startEachDirective(var.image, list);
- label_65:
+ label_75:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACKET:
@@ -2364,8 +2706,8 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[96] = jj_gen;
- break label_65;
+ jj_la1[112] = jj_gen;
+ break label_75;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INCLUDE_SYM:
@@ -2381,8 +2723,8 @@ boolean isPseudoElement = false;
variable();
break;
default:
- jj_la1[97] = jj_gen;
- if (jj_2_3(3)) {
+ jj_la1[113] = jj_gen;
+ if (jj_2_5(3)) {
declarationOrNestedProperties();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2397,7 +2739,7 @@ boolean isPseudoElement = false;
styleRule();
break;
default:
- jj_la1[98] = jj_gen;
+ jj_la1[114] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2405,15 +2747,15 @@ boolean isPseudoElement = false;
}
}
jj_consume_token(RBRACE);
- label_66:
+ label_76:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[99] = jj_gen;
- break label_66;
+ jj_la1[115] = jj_gen;
+ break label_76;
}
jj_consume_token(S);
}
@@ -2424,53 +2766,53 @@ boolean isPseudoElement = false;
ArrayList<String > strings = new ArrayList<String >();
Token input;
input = jj_consume_token(IDENT);
- label_67:
+ label_77:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[100] = jj_gen;
- break label_67;
+ jj_la1[116] = jj_gen;
+ break label_77;
}
jj_consume_token(S);
}
strings.add(input.image);
- label_68:
+ label_78:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
- jj_la1[101] = jj_gen;
- break label_68;
+ jj_la1[117] = jj_gen;
+ break label_78;
}
jj_consume_token(COMMA);
- label_69:
+ label_79:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[102] = jj_gen;
- break label_69;
+ jj_la1[118] = jj_gen;
+ break label_79;
}
jj_consume_token(S);
}
input = jj_consume_token(IDENT);
strings.add(input.image);
- label_70:
+ label_80:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[103] = jj_gen;
- break label_70;
+ jj_la1[119] = jj_gen;
+ break label_80;
}
jj_consume_token(S);
}
@@ -2484,15 +2826,15 @@ boolean isPseudoElement = false;
ArrayList<VariableNode> args = null;
String body;
jj_consume_token(MIXIN_SYM);
- label_71:
+ label_81:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[104] = jj_gen;
- break label_71;
+ jj_la1[120] = jj_gen;
+ break label_81;
}
jj_consume_token(S);
}
@@ -2504,39 +2846,39 @@ boolean isPseudoElement = false;
name = functionName();
args = arglist();
jj_consume_token(RPARAN);
- label_72:
+ label_82:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[105] = jj_gen;
- break label_72;
+ jj_la1[121] = jj_gen;
+ break label_82;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[106] = jj_gen;
+ jj_la1[122] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(LBRACE);
- label_73:
+ label_83:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[107] = jj_gen;
- break label_73;
+ jj_la1[123] = jj_gen;
+ break label_83;
}
jj_consume_token(S);
}
documentHandler.startMixinDirective(name, args);
- label_74:
+ label_84:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACKET:
@@ -2554,8 +2896,8 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[108] = jj_gen;
- break label_74;
+ jj_la1[124] = jj_gen;
+ break label_84;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INCLUDE_SYM:
@@ -2571,8 +2913,8 @@ boolean isPseudoElement = false;
variable();
break;
default:
- jj_la1[109] = jj_gen;
- if (jj_2_4(3)) {
+ jj_la1[125] = jj_gen;
+ if (jj_2_6(3)) {
declarationOrNestedProperties();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2587,7 +2929,7 @@ boolean isPseudoElement = false;
styleRule();
break;
default:
- jj_la1[110] = jj_gen;
+ jj_la1[126] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2595,15 +2937,15 @@ boolean isPseudoElement = false;
}
}
jj_consume_token(RBRACE);
- label_75:
+ label_85:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[111] = jj_gen;
- break label_75;
+ jj_la1[127] = jj_gen;
+ break label_85;
}
jj_consume_token(S);
}
@@ -2614,26 +2956,26 @@ boolean isPseudoElement = false;
ArrayList<VariableNode> args = new ArrayList<VariableNode>();
VariableNode arg;
arg = mixinArg();
- label_76:
+ label_86:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
- jj_la1[112] = jj_gen;
- break label_76;
+ jj_la1[128] = jj_gen;
+ break label_86;
}
jj_consume_token(COMMA);
- label_77:
+ label_87:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[113] = jj_gen;
- break label_77;
+ jj_la1[129] = jj_gen;
+ break label_87;
}
jj_consume_token(S);
}
@@ -2652,22 +2994,22 @@ boolean isPseudoElement = false;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COLON:
jj_consume_token(COLON);
- label_78:
+ label_88:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[114] = jj_gen;
- break label_78;
+ jj_la1[130] = jj_gen;
+ break label_88;
}
jj_consume_token(S);
}
value = term(null);
break;
default:
- jj_la1[115] = jj_gen;
+ jj_la1[131] = jj_gen;
;
}
VariableNode arg = new VariableNode(name, value, false);
@@ -2680,26 +3022,26 @@ boolean isPseudoElement = false;
LexicalUnit argValue;
argValue = term(null);
args.add(argValue);
- label_79:
+ label_89:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
- jj_la1[116] = jj_gen;
- break label_79;
+ jj_la1[132] = jj_gen;
+ break label_89;
}
jj_consume_token(COMMA);
- label_80:
+ label_90:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[117] = jj_gen;
- break label_80;
+ jj_la1[133] = jj_gen;
+ break label_90;
}
jj_consume_token(S);
}
@@ -2714,15 +3056,15 @@ boolean isPseudoElement = false;
String name;
ArrayList<LexicalUnit> args=null;
jj_consume_token(INCLUDE_SYM);
- label_81:
+ label_91:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[118] = jj_gen;
- break label_81;
+ jj_la1[134] = jj_gen;
+ break label_91;
}
jj_consume_token(S);
}
@@ -2736,22 +3078,22 @@ boolean isPseudoElement = false;
jj_consume_token(RPARAN);
break;
default:
- jj_la1[119] = jj_gen;
+ jj_la1[135] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
- label_82:
+ label_92:
while (true) {
jj_consume_token(SEMICOLON);
- label_83:
+ label_93:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[120] = jj_gen;
- break label_83;
+ jj_la1[136] = jj_gen;
+ break label_93;
}
jj_consume_token(S);
}
@@ -2760,8 +3102,8 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[121] = jj_gen;
- break label_82;
+ jj_la1[137] = jj_gen;
+ break label_92;
}
}
documentHandler.includeDirective(name, args);
@@ -2775,15 +3117,15 @@ boolean isPseudoElement = false;
name = functionName();
args = skipStatementUntilRightParan();
jj_consume_token(RPARAN);
- label_84:
+ label_94:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[122] = jj_gen;
- break label_84;
+ jj_la1[138] = jj_gen;
+ break label_94;
}
jj_consume_token(S);
}
@@ -2825,20 +3167,20 @@ boolean isPseudoElement = false;
exclusive = false;
break;
default:
- jj_la1[123] = jj_gen;
+ jj_la1[139] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
to = skipStatementUntilLeftBrace();
- label_85:
+ label_95:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[124] = jj_gen;
- break label_85;
+ jj_la1[140] = jj_gen;
+ break label_95;
}
jj_consume_token(S);
}
@@ -2856,41 +3198,34 @@ boolean isPseudoElement = false;
throw new Error("Missing return statement in function");
}
- Node ifDirective() throws ParseException {
- return documentHandler.ifDirective();
- }
-
- void elseDirective() throws ParseException {
- }
-
final public void extendDirective() throws ParseException {
SelectorList list;
jj_consume_token(EXTEND_SYM);
- label_86:
+ label_96:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[125] = jj_gen;
- break label_86;
+ jj_la1[141] = jj_gen;
+ break label_96;
}
jj_consume_token(S);
}
list = selectorList();
- label_87:
+ label_97:
while (true) {
jj_consume_token(SEMICOLON);
- label_88:
+ label_98:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[126] = jj_gen;
- break label_88;
+ jj_la1[142] = jj_gen;
+ break label_98;
}
jj_consume_token(S);
}
@@ -2899,8 +3234,8 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[127] = jj_gen;
- break label_87;
+ jj_la1[143] = jj_gen;
+ break label_97;
}
}
documentHandler.extendDirective(list);
@@ -2927,28 +3262,28 @@ boolean isPseudoElement = false;
LexicalUnit exp;
name = property();
jj_consume_token(COLON);
- label_89:
+ label_99:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[128] = jj_gen;
- break label_89;
+ jj_la1[144] = jj_gen;
+ break label_99;
}
jj_consume_token(S);
}
jj_consume_token(LBRACE);
- label_90:
+ label_100:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[129] = jj_gen;
- break label_90;
+ jj_la1[145] = jj_gen;
+ break label_100;
}
jj_consume_token(S);
}
@@ -2958,29 +3293,29 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[130] = jj_gen;
+ jj_la1[146] = jj_gen;
;
}
- label_91:
+ label_101:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[131] = jj_gen;
- break label_91;
+ jj_la1[147] = jj_gen;
+ break label_101;
}
jj_consume_token(SEMICOLON);
- label_92:
+ label_102:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[132] = jj_gen;
- break label_92;
+ jj_la1[148] = jj_gen;
+ break label_102;
}
jj_consume_token(S);
}
@@ -2989,21 +3324,21 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[133] = jj_gen;
+ jj_la1[149] = jj_gen;
;
}
}
jj_consume_token(RBRACE);
documentHandler.endNestedProperties(name);
- label_93:
+ label_103:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[134] = jj_gen;
- break label_93;
+ jj_la1[150] = jj_gen;
+ break label_103;
}
jj_consume_token(S);
}
@@ -3022,15 +3357,15 @@ LexicalUnit exp;
name = property();
save = token;
jj_consume_token(COLON);
- label_94:
+ label_104:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[135] = jj_gen;
- break label_94;
+ jj_la1[151] = jj_gen;
+ break label_104;
}
jj_consume_token(S);
}
@@ -3068,7 +3403,7 @@ LexicalUnit exp;
important = prio();
break;
default:
- jj_la1[136] = jj_gen;
+ jj_la1[152] = jj_gen;
;
}
Token next = getToken(1);
@@ -3086,15 +3421,15 @@ LexicalUnit exp;
break;
case LBRACE:
jj_consume_token(LBRACE);
- label_95:
+ label_105:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[137] = jj_gen;
- break label_95;
+ jj_la1[153] = jj_gen;
+ break label_105;
}
jj_consume_token(S);
}
@@ -3104,29 +3439,29 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[138] = jj_gen;
+ jj_la1[154] = jj_gen;
;
}
- label_96:
+ label_106:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[139] = jj_gen;
- break label_96;
+ jj_la1[155] = jj_gen;
+ break label_106;
}
jj_consume_token(SEMICOLON);
- label_97:
+ label_107:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[140] = jj_gen;
- break label_97;
+ jj_la1[156] = jj_gen;
+ break label_107;
}
jj_consume_token(S);
}
@@ -3135,27 +3470,27 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[141] = jj_gen;
+ jj_la1[157] = jj_gen;
;
}
}
jj_consume_token(RBRACE);
- label_98:
+ label_108:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[142] = jj_gen;
- break label_98;
+ jj_la1[158] = jj_gen;
+ break label_108;
}
jj_consume_token(S);
}
documentHandler.endNestedProperties(name);
break;
default:
- jj_la1[143] = jj_gen;
+ jj_la1[159] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3205,15 +3540,15 @@ LexicalUnit exp;
name = property();
save = token;
jj_consume_token(COLON);
- label_99:
+ label_109:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[144] = jj_gen;
- break label_99;
+ jj_la1[160] = jj_gen;
+ break label_109;
}
jj_consume_token(S);
}
@@ -3223,7 +3558,7 @@ LexicalUnit exp;
important = prio();
break;
default:
- jj_la1[145] = jj_gen;
+ jj_la1[161] = jj_gen;
;
}
documentHandler.property(name, exp, important);
@@ -3266,15 +3601,15 @@ LexicalUnit exp;
*/
final public boolean prio() throws ParseException {
jj_consume_token(IMPORTANT_SYM);
- label_100:
+ label_110:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[146] = jj_gen;
- break label_100;
+ jj_la1[162] = jj_gen;
+ break label_110;
}
jj_consume_token(S);
}
@@ -3284,15 +3619,15 @@ LexicalUnit exp;
final public boolean guarded() throws ParseException {
jj_consume_token(GUARDED_SYM);
- label_101:
+ label_111:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[147] = jj_gen;
- break label_101;
+ jj_la1[163] = jj_gen;
+ break label_111;
}
jj_consume_token(S);
}
@@ -3308,15 +3643,15 @@ LexicalUnit exp;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case DIV:
n = jj_consume_token(DIV);
- label_102:
+ label_112:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[148] = jj_gen;
- break label_102;
+ jj_la1[164] = jj_gen;
+ break label_112;
}
jj_consume_token(S);
}
@@ -3326,15 +3661,15 @@ LexicalUnit exp;
break;
case COMMA:
n = jj_consume_token(COMMA);
- label_103:
+ label_113:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[149] = jj_gen;
- break label_103;
+ jj_la1[165] = jj_gen;
+ break label_113;
}
jj_consume_token(S);
}
@@ -3343,7 +3678,7 @@ LexicalUnit exp;
prev);}
break;
default:
- jj_la1[150] = jj_gen;
+ jj_la1[166] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3358,12 +3693,12 @@ LexicalUnit exp;
char op;
first = term(null);
res = first;
- label_104:
+ label_114:
while (true) {
- if (jj_2_5(2)) {
+ if (jj_2_7(2)) {
;
} else {
- break label_104;
+ break label_114;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
@@ -3371,7 +3706,7 @@ LexicalUnit exp;
res = operator(res);
break;
default:
- jj_la1[151] = jj_gen;
+ jj_la1[167] = jj_gen;
;
}
res = term(res);
@@ -3394,7 +3729,7 @@ LexicalUnit exp;
{if (true) return '+';}
break;
default:
- jj_la1[152] = jj_gen;
+ jj_la1[168] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3464,7 +3799,7 @@ LexicalUnit exp;
op = unaryOperator();
break;
default:
- jj_la1[153] = jj_gen;
+ jj_la1[169] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3569,7 +3904,7 @@ LexicalUnit exp;
result = function(op, prev);
break;
default:
- jj_la1[154] = jj_gen;
+ jj_la1[170] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3632,25 +3967,25 @@ LexicalUnit exp;
result = unicode(prev);
break;
default:
- jj_la1[155] = jj_gen;
+ jj_la1[171] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[156] = jj_gen;
+ jj_la1[172] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
- label_105:
+ label_115:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[157] = jj_gen;
- break label_105;
+ jj_la1[173] = jj_gen;
+ break label_115;
}
jj_consume_token(S);
}
@@ -3661,7 +3996,7 @@ LexicalUnit exp;
prev, varName);
break;
default:
- jj_la1[158] = jj_gen;
+ jj_la1[174] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3677,15 +4012,15 @@ LexicalUnit exp;
Token n;
LexicalUnit params = null;
n = jj_consume_token(FUNCTION);
- label_106:
+ label_116:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[159] = jj_gen;
- break label_106;
+ jj_la1[175] = jj_gen;
+ break label_116;
}
jj_consume_token(S);
}
@@ -3726,7 +4061,7 @@ LexicalUnit exp;
params = expr();
break;
default:
- jj_la1[160] = jj_gen;
+ jj_la1[176] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -4201,15 +4536,15 @@ LexicalUnit exp;
*/
final public void _parseRule() throws ParseException {
String ret = null;
- label_107:
+ label_117:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[161] = jj_gen;
- break label_107;
+ jj_la1[177] = jj_gen;
+ break label_117;
}
jj_consume_token(S);
}
@@ -4237,7 +4572,7 @@ LexicalUnit exp;
fontFace();
break;
default:
- jj_la1[162] = jj_gen;
+ jj_la1[178] = jj_gen;
ret = skipStatement();
if ((ret == null) || (ret.length() == 0)) {
{if (true) return;}
@@ -4252,15 +4587,15 @@ LexicalUnit exp;
}
final public void _parseImportRule() throws ParseException {
- label_108:
+ label_118:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[163] = jj_gen;
- break label_108;
+ jj_la1[179] = jj_gen;
+ break label_118;
}
jj_consume_token(S);
}
@@ -4268,15 +4603,15 @@ LexicalUnit exp;
}
final public void _parseMediaRule() throws ParseException {
- label_109:
+ label_119:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[164] = jj_gen;
- break label_109;
+ jj_la1[180] = jj_gen;
+ break label_119;
}
jj_consume_token(S);
}
@@ -4284,15 +4619,15 @@ LexicalUnit exp;
}
final public void _parseDeclarationBlock() throws ParseException {
- label_110:
+ label_120:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[165] = jj_gen;
- break label_110;
+ jj_la1[181] = jj_gen;
+ break label_120;
}
jj_consume_token(S);
}
@@ -4301,29 +4636,29 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[166] = jj_gen;
+ jj_la1[182] = jj_gen;
;
}
- label_111:
+ label_121:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[167] = jj_gen;
- break label_111;
+ jj_la1[183] = jj_gen;
+ break label_121;
}
jj_consume_token(SEMICOLON);
- label_112:
+ label_122:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[168] = jj_gen;
- break label_112;
+ jj_la1[184] = jj_gen;
+ break label_122;
}
jj_consume_token(S);
}
@@ -4332,7 +4667,7 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[169] = jj_gen;
+ jj_la1[185] = jj_gen;
;
}
}
@@ -4341,15 +4676,15 @@ LexicalUnit exp;
final public SelectorList _parseSelectors() throws ParseException {
SelectorList p = null;
try {
- label_113:
+ label_123:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[170] = jj_gen;
- break label_113;
+ jj_la1[186] = jj_gen;
+ break label_123;
}
jj_consume_token(S);
}
@@ -4396,135 +4731,121 @@ LexicalUnit exp;
finally { jj_save(4, xla); }
}
- private boolean jj_3R_180() {
- if (jj_scan_token(UNICODERANGE)) return true;
- return false;
- }
-
- private boolean jj_3R_185() {
- if (jj_3R_133()) return true;
- return false;
- }
-
- private boolean jj_3R_177() {
- if (jj_scan_token(FUNCTION)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- xsp = jj_scanpos;
- if (jj_3R_185()) jj_scanpos = xsp;
- if (jj_scan_token(RPARAN)) return true;
- return false;
+ private boolean jj_2_6(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return !jj_3_6(); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(5, xla); }
}
- private boolean jj_3R_132() {
- if (jj_3R_144()) return true;
- return false;
+ private boolean jj_2_7(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return !jj_3_7(); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(6, xla); }
}
- private boolean jj_3R_129() {
- if (jj_3R_139()) return true;
+ private boolean jj_3R_181() {
+ if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_174() {
- if (jj_3R_180()) return true;
+ private boolean jj_3R_180() {
+ if (jj_scan_token(STRING)) return true;
return false;
}
- private boolean jj_3R_128() {
- if (jj_3R_138()) return true;
+ private boolean jj_3R_179() {
+ if (jj_3R_187()) return true;
return false;
}
- private boolean jj_3R_173() {
- if (jj_3R_179()) return true;
+ private boolean jj_3R_153() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_180()) {
+ jj_scanpos = xsp;
+ if (jj_3R_181()) {
+ jj_scanpos = xsp;
+ if (jj_3R_182()) {
+ jj_scanpos = xsp;
+ if (jj_3R_183()) {
+ jj_scanpos = xsp;
+ if (jj_3R_184()) return true;
+ }
+ }
+ }
+ }
return false;
}
- private boolean jj_3R_172() {
- if (jj_3R_178()) return true;
+ private boolean jj_3_1() {
+ if (jj_3R_124()) return true;
return false;
}
- private boolean jj_3R_127() {
- if (jj_3R_137()) return true;
+ private boolean jj_3R_139() {
+ if (jj_3R_149()) return true;
return false;
}
- private boolean jj_3R_126() {
- if (jj_3R_136()) return true;
+ private boolean jj_3R_138() {
+ if (jj_3R_148()) return true;
return false;
}
- private boolean jj_3R_125() {
- if (jj_3R_135()) return true;
+ private boolean jj_3R_137() {
+ if (jj_3R_147()) return true;
return false;
}
private boolean jj_3R_136() {
- if (jj_scan_token(HASH)) return true;
+ if (jj_3R_146()) return true;
return false;
}
- private boolean jj_3R_116() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_125()) {
- jj_scanpos = xsp;
- if (jj_3R_126()) {
- jj_scanpos = xsp;
- if (jj_3R_127()) {
- jj_scanpos = xsp;
- if (jj_3R_128()) {
- jj_scanpos = xsp;
- if (jj_3R_129()) return true;
- }
- }
- }
- }
+ private boolean jj_3R_178() {
+ if (jj_scan_token(DIMEN)) return true;
return false;
}
- private boolean jj_3_1() {
- if (jj_3R_114()) return true;
+ private boolean jj_3_5() {
+ if (jj_3R_124()) return true;
return false;
}
- private boolean jj_3R_171() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_177() {
+ if (jj_scan_token(KHZ)) return true;
return false;
}
- private boolean jj_3_4() {
- if (jj_3R_114()) return true;
+ private boolean jj_3R_135() {
+ if (jj_3R_145()) return true;
return false;
}
- private boolean jj_3R_170() {
- if (jj_scan_token(STRING)) return true;
+ private boolean jj_3R_146() {
+ if (jj_scan_token(HASH)) return true;
return false;
}
- private boolean jj_3R_169() {
- if (jj_3R_177()) return true;
+ private boolean jj_3R_176() {
+ if (jj_scan_token(HZ)) return true;
return false;
}
- private boolean jj_3R_143() {
+ private boolean jj_3R_126() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_170()) {
+ if (jj_3R_135()) {
jj_scanpos = xsp;
- if (jj_3R_171()) {
+ if (jj_3R_136()) {
jj_scanpos = xsp;
- if (jj_3R_172()) {
+ if (jj_3R_137()) {
jj_scanpos = xsp;
- if (jj_3R_173()) {
+ if (jj_3R_138()) {
jj_scanpos = xsp;
- if (jj_3R_174()) return true;
+ if (jj_3R_139()) return true;
}
}
}
@@ -4532,114 +4853,84 @@ LexicalUnit exp;
return false;
}
- private boolean jj_3_2() {
- if (jj_3R_115()) return true;
- if (jj_3R_116()) return true;
- return false;
- }
-
- private boolean jj_3R_138() {
- if (jj_scan_token(COLON)) return true;
- return false;
- }
-
- private boolean jj_3R_168() {
- if (jj_scan_token(DIMEN)) return true;
- return false;
- }
-
- private boolean jj_3R_167() {
- if (jj_scan_token(KHZ)) return true;
- return false;
- }
-
- private boolean jj_3R_166() {
- if (jj_scan_token(HZ)) return true;
- return false;
- }
-
- private boolean jj_3R_165() {
+ private boolean jj_3R_175() {
if (jj_scan_token(MS)) return true;
return false;
}
- private boolean jj_3R_164() {
+ private boolean jj_3R_174() {
if (jj_scan_token(SECOND)) return true;
return false;
}
- private boolean jj_3_3() {
- if (jj_3R_114()) return true;
- return false;
- }
-
- private boolean jj_3R_163() {
+ private boolean jj_3R_173() {
if (jj_scan_token(GRAD)) return true;
return false;
}
- private boolean jj_3R_162() {
+ private boolean jj_3R_172() {
if (jj_scan_token(RAD)) return true;
return false;
}
- private boolean jj_3R_121() {
+ private boolean jj_3R_131() {
if (jj_scan_token(LBRACE)) return true;
return false;
}
- private boolean jj_3R_161() {
+ private boolean jj_3R_171() {
if (jj_scan_token(DEG)) return true;
return false;
}
- private boolean jj_3R_160() {
+ private boolean jj_3R_170() {
if (jj_scan_token(EXS)) return true;
return false;
}
- private boolean jj_3R_159() {
+ private boolean jj_3R_169() {
if (jj_scan_token(EMS)) return true;
return false;
}
- private boolean jj_3R_158() {
+ private boolean jj_3R_168() {
if (jj_scan_token(PX)) return true;
return false;
}
- private boolean jj_3R_157() {
+ private boolean jj_3R_167() {
if (jj_scan_token(IN)) return true;
return false;
}
- private boolean jj_3R_120() {
- if (jj_3R_133()) return true;
+ private boolean jj_3R_130() {
+ if (jj_3R_143()) return true;
return false;
}
- private boolean jj_3R_156() {
+ private boolean jj_3R_166() {
if (jj_scan_token(PC)) return true;
return false;
}
- private boolean jj_3R_155() {
+ private boolean jj_3R_165() {
if (jj_scan_token(MM)) return true;
return false;
}
- private boolean jj_3R_182() {
- if (jj_scan_token(EACH_VAR)) return true;
+ private boolean jj_3_2() {
+ if (jj_3R_125()) return true;
+ if (jj_3R_126()) return true;
return false;
}
- private boolean jj_3R_154() {
+ private boolean jj_3R_164() {
if (jj_scan_token(CM)) return true;
return false;
}
- private boolean jj_3R_114() {
- if (jj_3R_119()) return true;
+ private boolean jj_3R_124() {
+ if (jj_3R_129()) return true;
if (jj_scan_token(COLON)) return true;
Token xsp;
while (true) {
@@ -4647,80 +4938,85 @@ LexicalUnit exp;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_3R_120()) {
+ if (jj_3R_130()) {
jj_scanpos = xsp;
- if (jj_3R_121()) return true;
+ if (jj_3R_131()) return true;
}
return false;
}
- private boolean jj_3R_153() {
+ private boolean jj_3R_163() {
if (jj_scan_token(PT)) return true;
return false;
}
- private boolean jj_3R_152() {
+ private boolean jj_3_4() {
+ if (jj_3R_124()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_162() {
if (jj_scan_token(PERCENTAGE)) return true;
return false;
}
- private boolean jj_3R_150() {
- if (jj_3R_176()) return true;
+ private boolean jj_3R_148() {
+ if (jj_scan_token(COLON)) return true;
return false;
}
- private boolean jj_3R_139() {
- if (jj_scan_token(LBRACKET)) return true;
+ private boolean jj_3R_160() {
+ if (jj_3R_186()) return true;
return false;
}
- private boolean jj_3R_151() {
+ private boolean jj_3R_161() {
if (jj_scan_token(NUMBER)) return true;
return false;
}
- private boolean jj_3R_142() {
+ private boolean jj_3R_152() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_150()) jj_scanpos = xsp;
+ if (jj_3R_160()) jj_scanpos = xsp;
xsp = jj_scanpos;
- if (jj_3R_151()) {
+ if (jj_3R_161()) {
jj_scanpos = xsp;
- if (jj_3R_152()) {
+ if (jj_3R_162()) {
jj_scanpos = xsp;
- if (jj_3R_153()) {
+ if (jj_3R_163()) {
jj_scanpos = xsp;
- if (jj_3R_154()) {
+ if (jj_3R_164()) {
jj_scanpos = xsp;
- if (jj_3R_155()) {
+ if (jj_3R_165()) {
jj_scanpos = xsp;
- if (jj_3R_156()) {
+ if (jj_3R_166()) {
jj_scanpos = xsp;
- if (jj_3R_157()) {
+ if (jj_3R_167()) {
jj_scanpos = xsp;
- if (jj_3R_158()) {
+ if (jj_3R_168()) {
jj_scanpos = xsp;
- if (jj_3R_159()) {
+ if (jj_3R_169()) {
jj_scanpos = xsp;
- if (jj_3R_160()) {
+ if (jj_3R_170()) {
jj_scanpos = xsp;
- if (jj_3R_161()) {
+ if (jj_3R_171()) {
jj_scanpos = xsp;
- if (jj_3R_162()) {
+ if (jj_3R_172()) {
jj_scanpos = xsp;
- if (jj_3R_163()) {
+ if (jj_3R_173()) {
jj_scanpos = xsp;
- if (jj_3R_164()) {
+ if (jj_3R_174()) {
jj_scanpos = xsp;
- if (jj_3R_165()) {
+ if (jj_3R_175()) {
jj_scanpos = xsp;
- if (jj_3R_166()) {
+ if (jj_3R_176()) {
jj_scanpos = xsp;
- if (jj_3R_167()) {
+ if (jj_3R_177()) {
jj_scanpos = xsp;
- if (jj_3R_168()) {
+ if (jj_3R_178()) {
jj_scanpos = xsp;
- if (jj_3R_169()) return true;
+ if (jj_3R_179()) return true;
}
}
}
@@ -4742,12 +5038,12 @@ LexicalUnit exp;
return false;
}
- private boolean jj_3R_131() {
+ private boolean jj_3R_141() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_142()) {
+ if (jj_3R_152()) {
jj_scanpos = xsp;
- if (jj_3R_143()) return true;
+ if (jj_3R_153()) return true;
}
while (true) {
xsp = jj_scanpos;
@@ -4756,48 +5052,76 @@ LexicalUnit exp;
return false;
}
- private boolean jj_3R_118() {
+ private boolean jj_3R_128() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_131()) {
+ if (jj_3R_141()) {
jj_scanpos = xsp;
- if (jj_3R_132()) return true;
+ if (jj_3R_142()) return true;
}
return false;
}
- private boolean jj_3R_149() {
- if (jj_scan_token(PARENT)) return true;
+ private boolean jj_3R_188() {
+ if (jj_scan_token(HASH)) return true;
return false;
}
- private boolean jj_3R_148() {
- if (jj_scan_token(ANY)) return true;
+ private boolean jj_3R_127() {
+ if (jj_3R_140()) return true;
return false;
}
- private boolean jj_3R_117() {
- if (jj_3R_130()) return true;
+ private boolean jj_3_3() {
+ if (jj_3R_124()) return true;
return false;
}
- private boolean jj_3R_178() {
- if (jj_scan_token(HASH)) return true;
+ private boolean jj_3R_194() {
+ if (jj_scan_token(PLUS)) return true;
return false;
}
- private boolean jj_3R_119() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_193() {
+ if (jj_scan_token(MINUS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_186() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ xsp = jj_scanpos;
+ if (jj_3R_193()) {
+ jj_scanpos = xsp;
+ if (jj_3R_194()) return true;
}
return false;
}
- private boolean jj_3R_144() {
- if (jj_scan_token(VARIABLE)) return true;
+ private boolean jj_3_7() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_127()) jj_scanpos = xsp;
+ if (jj_3R_128()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_189() {
+ if (jj_scan_token(URL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_143() {
+ if (jj_3R_128()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_192() {
+ if (jj_scan_token(EACH_VAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_151() {
+ if (jj_scan_token(COMMA)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
@@ -4806,103 +5130,153 @@ LexicalUnit exp;
return false;
}
- private boolean jj_3R_181() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_150() {
+ if (jj_scan_token(DIV)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_175() {
+ private boolean jj_3R_140() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_181()) {
+ if (jj_3R_150()) {
jj_scanpos = xsp;
- if (jj_3R_182()) return true;
+ if (jj_3R_151()) return true;
}
return false;
}
- private boolean jj_3R_184() {
- if (jj_scan_token(PLUS)) return true;
+ private boolean jj_3R_149() {
+ if (jj_scan_token(LBRACKET)) return true;
return false;
}
- private boolean jj_3R_135() {
+ private boolean jj_3R_190() {
+ if (jj_scan_token(UNICODERANGE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_195() {
+ if (jj_3R_143()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_159() {
+ if (jj_scan_token(PARENT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_158() {
+ if (jj_scan_token(ANY)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_129() {
+ if (jj_scan_token(IDENT)) return true;
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_147()) {
- jj_scanpos = xsp;
- if (jj_3R_148()) {
- jj_scanpos = xsp;
- if (jj_3R_149()) return true;
- }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_147() {
+ private boolean jj_3R_154() {
+ if (jj_scan_token(VARIABLE)) return true;
Token xsp;
- if (jj_3R_175()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_175()) { jj_scanpos = xsp; break; }
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_183() {
- if (jj_scan_token(MINUS)) return true;
+ private boolean jj_3R_191() {
+ if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_176() {
+ private boolean jj_3R_185() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_183()) {
+ if (jj_3R_191()) {
jj_scanpos = xsp;
- if (jj_3R_184()) return true;
+ if (jj_3R_192()) return true;
}
return false;
}
- private boolean jj_3R_146() {
- if (jj_scan_token(PRECEDES)) return true;
+ private boolean jj_3R_187() {
+ if (jj_scan_token(FUNCTION)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_195()) jj_scanpos = xsp;
+ if (jj_scan_token(RPARAN)) return true;
return false;
}
private boolean jj_3R_145() {
- if (jj_scan_token(PLUS)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_157()) {
+ jj_scanpos = xsp;
+ if (jj_3R_158()) {
+ jj_scanpos = xsp;
+ if (jj_3R_159()) return true;
+ }
+ }
return false;
}
- private boolean jj_3_5() {
+ private boolean jj_3R_157() {
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_117()) jj_scanpos = xsp;
- if (jj_3R_118()) return true;
+ if (jj_3R_185()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_185()) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_134() {
+ private boolean jj_3R_156() {
+ if (jj_scan_token(PRECEDES)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_155() {
+ if (jj_scan_token(PLUS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_144() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_145()) {
+ if (jj_3R_155()) {
jj_scanpos = xsp;
- if (jj_3R_146()) return true;
+ if (jj_3R_156()) return true;
}
return false;
}
- private boolean jj_3R_179() {
- if (jj_scan_token(URL)) return true;
+ private boolean jj_3R_142() {
+ if (jj_3R_154()) return true;
return false;
}
- private boolean jj_3R_133() {
- if (jj_3R_118()) return true;
+ private boolean jj_3R_184() {
+ if (jj_3R_190()) return true;
return false;
}
- private boolean jj_3R_123() {
+ private boolean jj_3R_133() {
if (jj_scan_token(PRECEDES)) return true;
Token xsp;
while (true) {
@@ -4912,44 +5286,39 @@ LexicalUnit exp;
return false;
}
- private boolean jj_3R_115() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_122()) {
- jj_scanpos = xsp;
- if (jj_3R_123()) {
- jj_scanpos = xsp;
- if (jj_3R_124()) return true;
- }
- }
+ private boolean jj_3R_183() {
+ if (jj_3R_189()) return true;
return false;
}
- private boolean jj_3R_122() {
- if (jj_scan_token(PLUS)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
+ private boolean jj_3R_182() {
+ if (jj_3R_188()) return true;
return false;
}
- private boolean jj_3R_124() {
+ private boolean jj_3R_134() {
if (jj_scan_token(S)) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_134()) jj_scanpos = xsp;
+ if (jj_3R_144()) jj_scanpos = xsp;
return false;
}
- private boolean jj_3R_137() {
- if (jj_scan_token(DOT)) return true;
+ private boolean jj_3R_125() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_132()) {
+ jj_scanpos = xsp;
+ if (jj_3R_133()) {
+ jj_scanpos = xsp;
+ if (jj_3R_134()) return true;
+ }
+ }
return false;
}
- private boolean jj_3R_141() {
- if (jj_scan_token(COMMA)) return true;
+ private boolean jj_3R_132() {
+ if (jj_scan_token(PLUS)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
@@ -4958,23 +5327,13 @@ LexicalUnit exp;
return false;
}
- private boolean jj_3R_140() {
- if (jj_scan_token(DIV)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
+ private boolean jj_3R_147() {
+ if (jj_scan_token(DOT)) return true;
return false;
}
- private boolean jj_3R_130() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_140()) {
- jj_scanpos = xsp;
- if (jj_3R_141()) return true;
- }
+ private boolean jj_3_6() {
+ if (jj_3R_124()) return true;
return false;
}
@@ -4988,7 +5347,7 @@ LexicalUnit exp;
private Token jj_scanpos, jj_lastpos;
private int jj_la;
private int jj_gen;
- final private int[] jj_la1 = new int[171];
+ final private int[] jj_la1 = new int[187];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
@@ -5000,18 +5359,18 @@ LexicalUnit exp;
jj_la1_init_3();
}
private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0xce800000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xcebed400,0xcebed400,0x2,0x80000,0x2,0x2,0x2,0x2,0x0,0x40000000,0x2,0x0,0x100000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x100000,0x2,0x0,0x2,0x3ed400,0x2,0x2,0x220000,0x2,0x220000,0x220002,0x2,0x2,0x2,0x2,0xce800000,0x0,0xce800000,0x2,0x80000,0x2,0x2,0x48800000,0x48800000,0x48800000,0x48800000,0x48800000,0x48800000,0x48800000,0x48800000,0x48800000,0x48800000,0xce800000,0x80000000,0x80000000,0x80000000,0x80000000,0x86000000,0x2,0x2,0x1c000,0x2,0x0,0x2,0x1c000,0x40000000,0x2,0x2,0x0,0x2,0x0,0x2,0x100000,0x2,0x2,0x2,0x2,0xce800000,0x0,0xce800000,0x2,0x2,0x80000,0x2,0x2,0x2,0x2,0x0,0x2,0xce800000,0x0,0xce800000,0x2,0x80000,0x2,0x2,0x40000000,0x80000,0x2,0x2,0x0,0x2,0x100000,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x0,0x100000,0x2,0x0,0x2,0x2,0x0,0x2,0x0,0x100000,0x2,0x0,0x2,0x61000,0x2,0x0,0x2,0x2,0x2,0x2,0x480000,0x480000,0x60000,0x60000,0x0,0x0,0x60000,0x2,0x60000,0x2,0x60000,0x2,0xce800000,0x2,0x2,0x2,0x0,0x100000,0x2,0x0,0x2,};
+ jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x1d000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0x1d3ed400,0x1d3ed400,0x2,0x80000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x100000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x100000,0x2,0x0,0x2,0x3ed400,0x2,0x2,0x220000,0x2,0x220000,0x220002,0x2,0x2,0x2,0x2,0x1d000000,0x0,0x1d000000,0x2,0x80000,0x2,0x2,0x11000000,0x11000000,0x11000000,0x11000000,0x11000000,0x11000000,0x11000000,0x11000000,0x11000000,0x11000000,0x1d000000,0x0,0x0,0x0,0x0,0xc000000,0x2,0x2,0x1c000,0x2,0x0,0x2,0x1c000,0x0,0x2,0x2,0x0,0x2,0x0,0x2,0x100000,0xe4e70002,0x2,0x1d000000,0x0,0x1d000000,0x2,0x0,0x2,0xe4e70002,0x0,0x2,0x1d000000,0x0,0x1d000000,0x2,0xe4e70002,0x2,0x2,0x2,0x2,0x1d000000,0x0,0x1d000000,0x2,0x2,0x80000,0x2,0x2,0x2,0x2,0x0,0x2,0x1d000000,0x0,0x1d000000,0x2,0x80000,0x2,0x2,0x0,0x80000,0x2,0x2,0x0,0x2,0x100000,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x0,0x100000,0x2,0x0,0x2,0x2,0x0,0x2,0x0,0x100000,0x2,0x0,0x2,0x61000,0x2,0x0,0x2,0x2,0x2,0x2,0x880000,0x880000,0x60000,0x60000,0x0,0x0,0x60000,0x2,0x60000,0x2,0x60000,0x2,0x1d000000,0x2,0x2,0x2,0x0,0x100000,0x2,0x0,0x2,};
}
private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10083000,0x0,0x0,0x0,0x0,0x88000000,0x0,0x10000000,0x0,0x0,0x0,0xb8000001,0xb8000001,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,0xa8000001,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10882000,0x882000,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x0,0x0,0x0,0x0,0x18000000,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x10802000,0x802000,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x10802000,0x802000,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,0xb8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x98000000,0xb8000000,0x0,0xb8000000,0x0,0xb8000000,0x0,0x10000000,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1060018,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x15040018,0x15040000,0x18,0x0,0x0,0x0,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x18,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x10040018,0x10040000,0x18,0x0,0x8000000,0x0,0x7,0x80000000,0x0,0x10040018,0x10040000,0x18,0x0,0x7,0x0,0x0,0x0,0x0,0x10040018,0x10040000,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10040018,0x10040000,0x18,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_2() {
- jj_la1_2 = new int[] {0x200000,0x1000000,0x1000000,0x80000,0x1000000,0x0,0x0,0x0,0xd40001,0x1000000,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3fc0002,0x3fc0002,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f80002,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x140001,0x100001,0x40000,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x40000,0x40000,0x40000,0x40000,0x40000,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x140001,0x100001,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x140001,0x100001,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x7ffff,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3fffe,0x40000,0x7fffe,0x0,0x7ffff,0x0,0x7ffff,0x0,0xdc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_2 = new int[] {0x8000000,0x40000000,0x40000000,0x2000000,0x40000000,0x0,0x0,0x0,0x35000044,0x40000000,0x0,0x40000000,0x0,0x22,0x0,0x4,0x0,0x0,0x0,0xff0000ae,0xff0000ae,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x4,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x4,0x0,0xfe0000aa,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x5000044,0x4000040,0x1000004,0x0,0x0,0x0,0x0,0x1000000,0x1000000,0x0,0x0,0x1000000,0x1000000,0x1000000,0x1000000,0x1000000,0x1000000,0x1000004,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x1,0x0,0x0,0x4c,0x0,0x5000044,0x4000040,0x1000004,0x0,0x0,0x0,0x4c,0x0,0x0,0x5000044,0x4000040,0x1000004,0x0,0x4c,0x0,0x0,0x0,0x0,0x5000044,0x4000040,0x1000004,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x5000044,0x4000040,0x1000004,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x4,0x0,0x0,0x80000000,0x0,0x4,0x0,0x0,0x4,0x0,0x1ffffee,0x0,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffff88,0x1000026,0x1ffffae,0x0,0x1ffffee,0x0,0x1ffffee,0x0,0x37000004,0x0,0x0,0x0,0x4,0x0,0x0,0x4,0x0,};
}
private static void jj_la1_init_3() {
- jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x8,0x18,0x0,0x18,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x200,0x600,0x0,0x600,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
- final private JJCalls[] jj_2_rtns = new JJCalls[5];
+ final private JJCalls[] jj_2_rtns = new JJCalls[7];
private boolean jj_rescan = false;
private int jj_gc = 0;
@@ -5021,7 +5380,7 @@ LexicalUnit exp;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 187; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -5031,7 +5390,7 @@ LexicalUnit exp;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 187; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -5041,7 +5400,7 @@ LexicalUnit exp;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 187; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -5051,7 +5410,7 @@ LexicalUnit exp;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 187; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -5163,12 +5522,12 @@ LexicalUnit exp;
/** Generate ParseException. */
public ParseException generateParseException() {
jj_expentries.clear();
- boolean[] la1tokens = new boolean[102];
+ boolean[] la1tokens = new boolean[108];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 171; i++) {
+ for (int i = 0; i < 187; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
@@ -5186,7 +5545,7 @@ LexicalUnit exp;
}
}
}
- for (int i = 0; i < 102; i++) {
+ for (int i = 0; i < 108; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
@@ -5213,7 +5572,7 @@ LexicalUnit exp;
private void jj_rescan_token() {
jj_rescan = true;
- for (int i = 0; i < 5; i++) {
+ for (int i = 0; i < 7; i++) {
try {
JJCalls p = jj_2_rtns[i];
do {
@@ -5225,6 +5584,8 @@ LexicalUnit exp;
case 2: jj_3_3(); break;
case 3: jj_3_4(); break;
case 4: jj_3_5(); break;
+ case 5: jj_3_6(); break;
+ case 6: jj_3_7(); break;
}
}
p = p.next;
diff --git a/theme-compiler/src/com/vaadin/sass/parser/Parser.jj b/theme-compiler/src/com/vaadin/sass/parser/Parser.jj
index 717094a763..f126f8e343 100644
--- a/theme-compiler/src/com/vaadin/sass/parser/Parser.jj
+++ b/theme-compiler/src/com/vaadin/sass/parser/Parser.jj
@@ -504,6 +504,7 @@ TOKEN :
| < COMMA : "," >
| < SEMICOLON : ";" >
| < PRECEDES : ">" >
+ | < SUCCEEDS : "<" >
| < DIV : "/" >
| < LBRACKET : "[" >
| < RBRACKET : "]" >
@@ -512,6 +513,10 @@ TOKEN :
| < DOT : "." >
| < LPARAN : "(" >
| < RPARAN : ")">
+ | < COMPARE : "==" >
+ | < OR : "||" >
+ | < AND : "&&" >
+ | < NOT_EQ : "!=" >
}
<DEFAULT>
@@ -545,7 +550,6 @@ TOKEN : /* basic tokens */
| < #NAME : ( <NMCHAR> )+ >
}
-
<DEFAULT>
TOKEN :
{
@@ -574,6 +578,11 @@ TOKEN :
| <SUPPORTS_SYM : "@supports">
}
+< DEFAULT >
+TOKEN:
+{
+ < IF : "if" > }
+
<DEFAULT>
TOKEN:
{
@@ -1008,7 +1017,7 @@ void styleRule() :
start = true;
documentHandler.startSelector(l);
}
- ( includeDirective() | media() | extendDirective()| eachDirective() | variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())*
+ ( ifDirective() | includeDirective() | media() | extendDirective()| eachDirective() | variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())*
<RBRACE> (<S>)*
} catch (ThrowedParseException e) {
if (errorHandler != null) {
@@ -1343,6 +1352,56 @@ void variable() :
}
}
+void ifDirective() :
+{
+ Token n = null;
+ String evaluator = "";
+}
+{
+ < IF_SYM >
+ ( n = booleanExpressionToken() { evaluator += n.image; } )+ < LBRACE >(< S >)* { documentHandler.startIfElseDirective();
+ documentHandler.ifDirective(evaluator);
+ }
+ ( includeDirective() | media() | extendDirective()| variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())*
+ < RBRACE >(< S >)*
+ (elseDirective())*
+ { documentHandler.endIfElseDirective(); }
+}
+
+void elseDirective() : {
+ String evaluator = "";
+ Token n = null; }
+{
+ < ELSE_SYM >(< S >)*
+ ( < IF > (n = booleanExpressionToken() { if(n != null) evaluator += n.image; })*)?
+ < LBRACE >(< S >)*
+ { if(!evaluator.trim().equals("")){ documentHandler.ifDirective(evaluator); }
+ else{ documentHandler.elseDirective(); } } ( includeDirective() | media() | extendDirective()| variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())* < RBRACE >(< S >)*
+}
+
+Token booleanExpressionToken() : {
+ Token n = null; }
+{ ( n = < VARIABLE >
+ |n = < IDENT >
+ |n = < NUMBER >
+ |n = < LPARAN >
+ |n = < RPARAN >
+ |n = < PLUS >
+ |n = < MINUS >
+ |n = < DIV >
+ |n = < ANY >
+ |n = < COMPARE >
+ |n = < EQ >
+ |n = < PRECEDES >
+ |n = < SUCCEEDS >
+ |n = < OR >
+ |n = < AND >
+ |n = < S >
+ |n = < NOT_EQ >
+){
+ return n; }
+}
+
void eachDirective() :
{
Token var;
@@ -1513,16 +1572,6 @@ Node whileDirective() :
{ return documentHandler.whileDirective(condition, body);}
}
-JAVACODE
-Node ifDirective(){
- return documentHandler.ifDirective();
-}
-
-JAVACODE
-void elseDirective(){
- // throw new ParseException("Invalid CSS: @else must come after @if");
-}
-
void extendDirective() :
{SelectorList list;}
{
diff --git a/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java b/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java
index 41fb8ca030..6e6c0ae204 100644
--- a/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java
+++ b/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java
@@ -41,165 +41,177 @@ public interface ParserConstants {
/** RegularExpression Id. */
int PRECEDES = 21;
/** RegularExpression Id. */
- int DIV = 22;
+ int SUCCEEDS = 22;
/** RegularExpression Id. */
- int LBRACKET = 23;
+ int DIV = 23;
/** RegularExpression Id. */
- int RBRACKET = 24;
+ int LBRACKET = 24;
/** RegularExpression Id. */
- int ANY = 25;
+ int RBRACKET = 25;
/** RegularExpression Id. */
- int PARENT = 26;
+ int ANY = 26;
/** RegularExpression Id. */
- int DOT = 27;
+ int PARENT = 27;
/** RegularExpression Id. */
- int LPARAN = 28;
+ int DOT = 28;
/** RegularExpression Id. */
- int RPARAN = 29;
+ int LPARAN = 29;
/** RegularExpression Id. */
- int COLON = 30;
+ int RPARAN = 30;
/** RegularExpression Id. */
- int EACH_VAR = 31;
+ int COMPARE = 31;
/** RegularExpression Id. */
- int NONASCII = 32;
+ int OR = 32;
/** RegularExpression Id. */
- int H = 33;
+ int AND = 33;
/** RegularExpression Id. */
- int UNICODE = 34;
+ int NOT_EQ = 34;
/** RegularExpression Id. */
- int ESCAPE = 35;
+ int COLON = 35;
/** RegularExpression Id. */
- int NMSTART = 36;
+ int EACH_VAR = 36;
/** RegularExpression Id. */
- int NMCHAR = 37;
+ int NONASCII = 37;
/** RegularExpression Id. */
- int STRINGCHAR = 38;
+ int H = 38;
/** RegularExpression Id. */
- int D = 39;
+ int UNICODE = 39;
/** RegularExpression Id. */
- int NAME = 40;
+ int ESCAPE = 40;
/** RegularExpression Id. */
- int TO = 41;
+ int NMSTART = 41;
/** RegularExpression Id. */
- int THROUGH = 42;
+ int NMCHAR = 42;
/** RegularExpression Id. */
- int EACH_IN = 43;
+ int STRINGCHAR = 43;
/** RegularExpression Id. */
- int MIXIN_SYM = 44;
+ int D = 44;
/** RegularExpression Id. */
- int INCLUDE_SYM = 45;
+ int NAME = 45;
/** RegularExpression Id. */
- int FUNCTION_SYM = 46;
+ int TO = 46;
/** RegularExpression Id. */
- int RETURN_SYM = 47;
+ int THROUGH = 47;
/** RegularExpression Id. */
- int DEBUG_SYM = 48;
+ int EACH_IN = 48;
/** RegularExpression Id. */
- int WARN_SYM = 49;
+ int MIXIN_SYM = 49;
/** RegularExpression Id. */
- int FOR_SYM = 50;
+ int INCLUDE_SYM = 50;
/** RegularExpression Id. */
- int EACH_SYM = 51;
+ int FUNCTION_SYM = 51;
/** RegularExpression Id. */
- int WHILE_SYM = 52;
+ int RETURN_SYM = 52;
/** RegularExpression Id. */
- int IF_SYM = 53;
+ int DEBUG_SYM = 53;
/** RegularExpression Id. */
- int ELSE_SYM = 54;
+ int WARN_SYM = 54;
/** RegularExpression Id. */
- int EXTEND_SYM = 55;
+ int FOR_SYM = 55;
/** RegularExpression Id. */
- int MOZ_DOCUMENT_SYM = 56;
+ int EACH_SYM = 56;
/** RegularExpression Id. */
- int SUPPORTS_SYM = 57;
+ int WHILE_SYM = 57;
/** RegularExpression Id. */
- int GUARDED_SYM = 58;
+ int IF_SYM = 58;
/** RegularExpression Id. */
- int STRING = 59;
+ int ELSE_SYM = 59;
/** RegularExpression Id. */
- int IDENT = 60;
+ int EXTEND_SYM = 60;
/** RegularExpression Id. */
- int NUMBER = 61;
+ int MOZ_DOCUMENT_SYM = 61;
/** RegularExpression Id. */
- int _URL = 62;
+ int SUPPORTS_SYM = 62;
/** RegularExpression Id. */
- int URL = 63;
+ int IF = 63;
/** RegularExpression Id. */
- int VARIABLE = 64;
+ int GUARDED_SYM = 64;
/** RegularExpression Id. */
- int PERCENTAGE = 65;
+ int STRING = 65;
/** RegularExpression Id. */
- int PT = 66;
+ int IDENT = 66;
/** RegularExpression Id. */
- int MM = 67;
+ int NUMBER = 67;
/** RegularExpression Id. */
- int CM = 68;
+ int _URL = 68;
/** RegularExpression Id. */
- int PC = 69;
+ int URL = 69;
/** RegularExpression Id. */
- int IN = 70;
+ int VARIABLE = 70;
/** RegularExpression Id. */
- int PX = 71;
+ int PERCENTAGE = 71;
/** RegularExpression Id. */
- int EMS = 72;
+ int PT = 72;
/** RegularExpression Id. */
- int EXS = 73;
+ int MM = 73;
/** RegularExpression Id. */
- int DEG = 74;
+ int CM = 74;
/** RegularExpression Id. */
- int RAD = 75;
+ int PC = 75;
/** RegularExpression Id. */
- int GRAD = 76;
+ int IN = 76;
/** RegularExpression Id. */
- int MS = 77;
+ int PX = 77;
/** RegularExpression Id. */
- int SECOND = 78;
+ int EMS = 78;
/** RegularExpression Id. */
- int HZ = 79;
+ int EXS = 79;
/** RegularExpression Id. */
- int KHZ = 80;
+ int DEG = 80;
/** RegularExpression Id. */
- int DIMEN = 81;
+ int RAD = 81;
/** RegularExpression Id. */
- int HASH = 82;
+ int GRAD = 82;
/** RegularExpression Id. */
- int IMPORT_SYM = 83;
+ int MS = 83;
/** RegularExpression Id. */
- int MEDIA_SYM = 84;
+ int SECOND = 84;
/** RegularExpression Id. */
- int CHARSET_SYM = 85;
+ int HZ = 85;
/** RegularExpression Id. */
- int PAGE_SYM = 86;
+ int KHZ = 86;
/** RegularExpression Id. */
- int FONT_FACE_SYM = 87;
+ int DIMEN = 87;
/** RegularExpression Id. */
- int ATKEYWORD = 88;
+ int HASH = 88;
/** RegularExpression Id. */
- int IMPORTANT_SYM = 89;
+ int IMPORT_SYM = 89;
/** RegularExpression Id. */
- int RANGE0 = 90;
+ int MEDIA_SYM = 90;
/** RegularExpression Id. */
- int RANGE1 = 91;
+ int CHARSET_SYM = 91;
/** RegularExpression Id. */
- int RANGE2 = 92;
+ int PAGE_SYM = 92;
/** RegularExpression Id. */
- int RANGE3 = 93;
+ int FONT_FACE_SYM = 93;
/** RegularExpression Id. */
- int RANGE4 = 94;
+ int ATKEYWORD = 94;
/** RegularExpression Id. */
- int RANGE5 = 95;
+ int IMPORTANT_SYM = 95;
/** RegularExpression Id. */
- int RANGE6 = 96;
+ int RANGE0 = 96;
/** RegularExpression Id. */
- int RANGE = 97;
+ int RANGE1 = 97;
/** RegularExpression Id. */
- int UNI = 98;
+ int RANGE2 = 98;
/** RegularExpression Id. */
- int UNICODERANGE = 99;
+ int RANGE3 = 99;
/** RegularExpression Id. */
- int FUNCTION = 100;
+ int RANGE4 = 100;
/** RegularExpression Id. */
- int UNKNOWN = 101;
+ int RANGE5 = 101;
+ /** RegularExpression Id. */
+ int RANGE6 = 102;
+ /** RegularExpression Id. */
+ int RANGE = 103;
+ /** RegularExpression Id. */
+ int UNI = 104;
+ /** RegularExpression Id. */
+ int UNICODERANGE = 105;
+ /** RegularExpression Id. */
+ int FUNCTION = 106;
+ /** RegularExpression Id. */
+ int UNKNOWN = 107;
/** Lexical state. */
int DEFAULT = 0;
@@ -234,6 +246,7 @@ public interface ParserConstants {
"\",\"",
"\";\"",
"\">\"",
+ "\"<\"",
"\"/\"",
"\"[\"",
"\"]\"",
@@ -242,6 +255,10 @@ public interface ParserConstants {
"\".\"",
"\"(\"",
"\")\"",
+ "\"==\"",
+ "\"||\"",
+ "\"&&\"",
+ "\"!=\"",
"\":\"",
"<EACH_VAR>",
"<NONASCII>",
@@ -270,6 +287,7 @@ public interface ParserConstants {
"\"@extend\"",
"\"@-moz-document\"",
"\"@supports\"",
+ "\"if\"",
"<GUARDED_SYM>",
"<STRING>",
"<IDENT>",
diff --git a/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java b/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java
index 7c176f2262..a878acadec 100644
--- a/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java
+++ b/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java
@@ -37,168 +37,170 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1)
switch (pos)
{
case 0:
- if ((active0 & 0x8000000L) != 0L)
+ if ((active0 & 0x10000000L) != 0L)
return 400;
if ((active0 & 0x40800L) != 0L)
return 159;
- if ((active0 & 0x3fff00000000000L) != 0L || (active1 & 0xf80000L) != 0L)
+ if ((active0 & 0x7ffe000000000000L) != 0L || (active1 & 0x3e000000L) != 0L)
return 96;
- if ((active0 & 0x400044L) != 0L)
- return 3;
- if ((active0 & 0xe0000000000L) != 0L)
+ if ((active0 & 0x8001c00000000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 66;
return 401;
}
+ if ((active0 & 0x400000000L) != 0L)
+ return 402;
+ if ((active0 & 0x800044L) != 0L)
+ return 3;
return -1;
case 1:
- if ((active0 & 0x100000000000000L) != 0L)
- return 97;
- if ((active0 & 0x40000000000L) != 0L)
+ if ((active0 & 0x800000000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 66;
jjmatchedPos = 1;
return 401;
}
- if ((active0 & 0xa0000000000L) != 0L)
- return 401;
- if ((active0 & 0x40L) != 0L)
- return 1;
- if ((active0 & 0x2fff00000000000L) != 0L || (active1 & 0xf80000L) != 0L)
+ if ((active0 & 0x2000000000000000L) != 0L)
+ return 97;
+ if ((active0 & 0x5ffe000000000000L) != 0L || (active1 & 0x3e000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 1;
- return 402;
+ return 403;
}
+ if ((active0 & 0x8001400000000000L) != 0L)
+ return 401;
+ if ((active0 & 0x40L) != 0L)
+ return 1;
return -1;
case 2:
- if ((active0 & 0x20000000000000L) != 0L)
- return 402;
- if ((active0 & 0x3dff00000000000L) != 0L || (active1 & 0xf80000L) != 0L)
+ if ((active0 & 0x400000000000000L) != 0L)
+ return 403;
+ if ((active0 & 0x7bfe000000000000L) != 0L || (active1 & 0x3e000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 2;
- return 402;
+ return 403;
}
- if ((active0 & 0x40000000000L) != 0L)
+ if ((active0 & 0x800000000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 66;
jjmatchedPos = 2;
return 401;
}
return -1;
case 3:
- if ((active0 & 0x4000000000000L) != 0L)
- return 402;
- if ((active0 & 0x3dbf00000000000L) != 0L || (active1 & 0xf80000L) != 0L)
+ if ((active0 & 0x80000000000000L) != 0L)
+ return 403;
+ if ((active0 & 0x800000000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 66;
jjmatchedPos = 3;
- return 402;
+ return 401;
}
- if ((active0 & 0x40000000000L) != 0L)
+ if ((active0 & 0x7b7e000000000000L) != 0L || (active1 & 0x3e000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 94;
jjmatchedPos = 3;
- return 401;
+ return 403;
}
return -1;
case 4:
- if ((active0 & 0x4a000000000000L) != 0L || (active1 & 0x400000L) != 0L)
- return 402;
- if ((active0 & 0x391f00000000000L) != 0L || (active1 & 0xb80000L) != 0L)
+ if ((active0 & 0x940000000000000L) != 0L || (active1 & 0x10000000L) != 0L)
+ return 403;
+ if ((active0 & 0x723e000000000000L) != 0L || (active1 & 0x2e000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 4;
- return 402;
+ return 403;
}
- if ((active0 & 0x40000000000L) != 0L)
+ if ((active0 & 0x800000000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 66;
jjmatchedPos = 4;
return 401;
}
return -1;
case 5:
- if ((active0 & 0x11100000000000L) != 0L || (active1 & 0x100000L) != 0L)
- return 402;
- if ((active0 & 0x40000000000L) != 0L)
+ if ((active0 & 0x222000000000000L) != 0L || (active1 & 0x4000000L) != 0L)
+ return 403;
+ if ((active0 & 0x800000000000L) != 0L)
{
- jjmatchedKind = 60;
+ jjmatchedKind = 66;
jjmatchedPos = 5;
return 401;
}
- if ((active0 & 0x380e00000000000L) != 0L || (active1 & 0xa80000L) != 0L)
+ if ((active0 & 0x701c000000000000L) != 0L || (active1 & 0x2a000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 5;
- return 402;
+ return 403;
}
return -1;
case 6:
- if ((active0 & 0x80800000000000L) != 0L || (active1 & 0x80000L) != 0L)
- return 402;
- if ((active0 & 0x300600000000000L) != 0L || (active1 & 0xa00000L) != 0L)
+ if ((active0 & 0x1010000000000000L) != 0L || (active1 & 0x2000000L) != 0L)
+ return 403;
+ if ((active0 & 0x800000000000L) != 0L)
+ return 401;
+ if ((active0 & 0x600c000000000000L) != 0L || (active1 & 0x28000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 6;
- return 402;
+ return 403;
}
- if ((active0 & 0x40000000000L) != 0L)
- return 401;
return -1;
case 7:
- if ((active0 & 0x200000000000L) != 0L || (active1 & 0x200000L) != 0L)
- return 402;
- if ((active0 & 0x300400000000000L) != 0L || (active1 & 0x800000L) != 0L)
+ if ((active0 & 0x4000000000000L) != 0L || (active1 & 0x8000000L) != 0L)
+ return 403;
+ if ((active0 & 0x6008000000000000L) != 0L || (active1 & 0x20000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 7;
- return 402;
+ return 403;
}
return -1;
case 8:
- if ((active0 & 0x200400000000000L) != 0L)
- return 402;
- if ((active0 & 0x100000000000000L) != 0L || (active1 & 0x800000L) != 0L)
+ if ((active0 & 0x4008000000000000L) != 0L)
+ return 403;
+ if ((active0 & 0x2000000000000000L) != 0L || (active1 & 0x20000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 8;
- return 402;
+ return 403;
}
return -1;
case 9:
- if ((active1 & 0x800000L) != 0L)
- return 402;
- if ((active0 & 0x100000000000000L) != 0L)
+ if ((active1 & 0x20000000L) != 0L)
+ return 403;
+ if ((active0 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 9;
- return 402;
+ return 403;
}
return -1;
case 10:
- if ((active0 & 0x100000000000000L) != 0L)
+ if ((active0 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 10;
- return 402;
+ return 403;
}
return -1;
case 11:
- if ((active0 & 0x100000000000000L) != 0L)
+ if ((active0 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 11;
- return 402;
+ return 403;
}
return -1;
case 12:
- if ((active0 & 0x100000000000000L) != 0L)
+ if ((active0 & 0x2000000000000000L) != 0L)
{
- jjmatchedKind = 88;
+ jjmatchedKind = 94;
jjmatchedPos = 12;
- return 402;
+ return 403;
}
return -1;
default :
@@ -219,14 +221,17 @@ private int jjMoveStringLiteralDfa0_0()
{
switch(curChar)
{
+ case 33:
+ return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L);
case 38:
- return jjStopAtPos(0, 26);
+ jjmatchedKind = 27;
+ return jjMoveStringLiteralDfa1_0(0x200000000L, 0x0L);
case 40:
- return jjStopAtPos(0, 28);
- case 41:
return jjStopAtPos(0, 29);
+ case 41:
+ return jjStopAtPos(0, 30);
case 42:
- return jjStopAtPos(0, 25);
+ return jjStopAtPos(0, 26);
case 43:
return jjStopAtPos(0, 17);
case 44:
@@ -235,36 +240,38 @@ private int jjMoveStringLiteralDfa0_0()
jjmatchedKind = 18;
return jjMoveStringLiteralDfa1_0(0x800L, 0x0L);
case 46:
- return jjStartNfaWithStates_0(0, 27, 400);
+ return jjStartNfaWithStates_0(0, 28, 400);
case 47:
- jjmatchedKind = 22;
+ jjmatchedKind = 23;
return jjMoveStringLiteralDfa1_0(0x44L, 0x0L);
case 58:
- return jjStopAtPos(0, 30);
+ return jjStopAtPos(0, 35);
case 59:
return jjStopAtPos(0, 20);
case 60:
+ jjmatchedKind = 22;
return jjMoveStringLiteralDfa1_0(0x400L, 0x0L);
case 61:
- return jjStopAtPos(0, 16);
+ jjmatchedKind = 16;
+ return jjMoveStringLiteralDfa1_0(0x80000000L, 0x0L);
case 62:
return jjStopAtPos(0, 21);
case 64:
- return jjMoveStringLiteralDfa1_0(0x3fff00000000000L, 0xf80000L);
+ return jjMoveStringLiteralDfa1_0(0x7ffe000000000000L, 0x3e000000L);
case 91:
- return jjStopAtPos(0, 23);
- case 93:
return jjStopAtPos(0, 24);
+ case 93:
+ return jjStopAtPos(0, 25);
case 73:
case 105:
- return jjMoveStringLiteralDfa1_0(0x80000000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x8001000000000000L, 0x0L);
case 84:
case 116:
- return jjMoveStringLiteralDfa1_0(0x60000000000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0xc00000000000L, 0x0L);
case 123:
return jjStopAtPos(0, 12);
case 124:
- return jjMoveStringLiteralDfa1_0(0x4000L, 0x0L);
+ return jjMoveStringLiteralDfa1_0(0x100004000L, 0x0L);
case 125:
return jjStopAtPos(0, 13);
case 126:
@@ -284,12 +291,16 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1)
{
case 33:
return jjMoveStringLiteralDfa2_0(active0, 0x400L, active1, 0L);
+ case 38:
+ if ((active0 & 0x200000000L) != 0L)
+ return jjStopAtPos(1, 33);
+ break;
case 42:
if ((active0 & 0x40L) != 0L)
return jjStartNfaWithStates_0(1, 6, 1);
break;
case 45:
- return jjMoveStringLiteralDfa2_0(active0, 0x100000000000800L, active1, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000800L, active1, 0L);
case 47:
if ((active0 & 0x4L) != 0L)
return jjStopAtPos(1, 2);
@@ -299,50 +310,60 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1)
return jjStopAtPos(1, 14);
else if ((active0 & 0x8000L) != 0L)
return jjStopAtPos(1, 15);
+ else if ((active0 & 0x80000000L) != 0L)
+ return jjStopAtPos(1, 31);
+ else if ((active0 & 0x400000000L) != 0L)
+ return jjStopAtPos(1, 34);
break;
case 67:
case 99:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000000L);
case 68:
case 100:
- return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x20000000000000L, active1, 0L);
case 69:
case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0xc8000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x1900000000000000L, active1, 0L);
case 70:
case 102:
- return jjMoveStringLiteralDfa2_0(active0, 0x4400000000000L, active1, 0x800000L);
+ if ((active0 & 0x8000000000000000L) != 0L)
+ return jjStartNfaWithStates_0(1, 63, 401);
+ return jjMoveStringLiteralDfa2_0(active0, 0x88000000000000L, active1, 0x20000000L);
case 72:
case 104:
- return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x800000000000L, active1, 0L);
case 73:
case 105:
- return jjMoveStringLiteralDfa2_0(active0, 0x20200000000000L, active1, 0x80000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x404000000000000L, active1, 0x2000000L);
case 77:
case 109:
- return jjMoveStringLiteralDfa2_0(active0, 0x100000000000L, active1, 0x100000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L, active1, 0x4000000L);
case 78:
case 110:
- if ((active0 & 0x80000000000L) != 0L)
- return jjStartNfaWithStates_0(1, 43, 401);
+ if ((active0 & 0x1000000000000L) != 0L)
+ return jjStartNfaWithStates_0(1, 48, 401);
break;
case 79:
case 111:
- if ((active0 & 0x20000000000L) != 0L)
- return jjStartNfaWithStates_0(1, 41, 401);
+ if ((active0 & 0x400000000000L) != 0L)
+ return jjStartNfaWithStates_0(1, 46, 401);
break;
case 80:
case 112:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x10000000L);
case 82:
case 114:
- return jjMoveStringLiteralDfa2_0(active0, 0x800000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0L);
case 83:
case 115:
- return jjMoveStringLiteralDfa2_0(active0, 0x200000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000000L, active1, 0L);
case 87:
case 119:
- return jjMoveStringLiteralDfa2_0(active0, 0x12000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x240000000000000L, active1, 0L);
+ case 124:
+ if ((active0 & 0x100000000L) != 0L)
+ return jjStopAtPos(1, 32);
+ break;
default :
break;
}
@@ -367,42 +388,42 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a
break;
case 65:
case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0xa000000000000L, active1, 0x400000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x140000000000000L, active1, 0x10000000L);
case 69:
case 101:
- return jjMoveStringLiteralDfa3_0(active0, 0x1800000000000L, active1, 0x100000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x30000000000000L, active1, 0x4000000L);
case 70:
case 102:
- if ((active0 & 0x20000000000000L) != 0L)
- return jjStartNfaWithStates_0(2, 53, 402);
+ if ((active0 & 0x400000000000000L) != 0L)
+ return jjStartNfaWithStates_0(2, 58, 403);
break;
case 72:
case 104:
- return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0x200000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0x8000000L);
case 73:
case 105:
- return jjMoveStringLiteralDfa3_0(active0, 0x100000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2000000000000L, active1, 0L);
case 76:
case 108:
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x800000000000000L, active1, 0L);
case 77:
case 109:
- return jjMoveStringLiteralDfa3_0(active0, 0x100000000000000L, active1, 0x80000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x2000000000000000L, active1, 0x2000000L);
case 78:
case 110:
- return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0L);
case 79:
case 111:
- return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, active1, 0x20000000L);
case 82:
case 114:
- return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x800000000000L, active1, 0L);
case 85:
case 117:
- return jjMoveStringLiteralDfa3_0(active0, 0x200400000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x4008000000000000L, active1, 0L);
case 88:
case 120:
- return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0L);
default :
break;
}
@@ -425,45 +446,45 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a
break;
case 65:
case 97:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x200000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8000000L);
case 66:
case 98:
- return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0L);
case 67:
case 99:
- return jjMoveStringLiteralDfa4_0(active0, 0x8200000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x104000000000000L, active1, 0L);
case 68:
case 100:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x4000000L);
case 71:
case 103:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10000000L);
case 73:
case 105:
- return jjMoveStringLiteralDfa4_0(active0, 0x10000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x200000000000000L, active1, 0L);
case 78:
case 110:
- return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L, active1, 0x20000000L);
case 79:
case 111:
- return jjMoveStringLiteralDfa4_0(active0, 0x100040000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2000800000000000L, active1, 0L);
case 80:
case 112:
- return jjMoveStringLiteralDfa4_0(active0, 0x200000000000000L, active1, 0x80000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000000L, active1, 0x2000000L);
case 82:
case 114:
- if ((active0 & 0x4000000000000L) != 0L)
- return jjStartNfaWithStates_0(3, 50, 402);
- return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0L);
+ if ((active0 & 0x80000000000000L) != 0L)
+ return jjStartNfaWithStates_0(3, 55, 403);
+ return jjMoveStringLiteralDfa4_0(active0, 0x40000000000000L, active1, 0L);
case 83:
case 115:
- return jjMoveStringLiteralDfa4_0(active0, 0x40000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0L);
case 84:
case 116:
- return jjMoveStringLiteralDfa4_0(active0, 0x80800000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x1010000000000000L, active1, 0L);
case 88:
case 120:
- return jjMoveStringLiteralDfa4_0(active0, 0x100000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0L);
default :
break;
}
@@ -482,48 +503,48 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a
{
case 67:
case 99:
- return jjMoveStringLiteralDfa5_0(active0, 0x400000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000L, active1, 0L);
case 69:
case 101:
- if ((active0 & 0x40000000000000L) != 0L)
- return jjStartNfaWithStates_0(4, 54, 402);
- else if ((active1 & 0x400000L) != 0L)
- return jjStartNfaWithStates_0(4, 86, 402);
- return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0L);
+ if ((active0 & 0x800000000000000L) != 0L)
+ return jjStartNfaWithStates_0(4, 59, 403);
+ else if ((active1 & 0x10000000L) != 0L)
+ return jjStartNfaWithStates_0(4, 92, 403);
+ return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000000L, active1, 0L);
case 72:
case 104:
- if ((active0 & 0x8000000000000L) != 0L)
- return jjStartNfaWithStates_0(4, 51, 402);
+ if ((active0 & 0x100000000000000L) != 0L)
+ return jjStartNfaWithStates_0(4, 56, 403);
break;
case 73:
case 105:
- return jjMoveStringLiteralDfa5_0(active0, 0x100000000000L, active1, 0x100000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000L, active1, 0x4000000L);
case 76:
case 108:
- return jjMoveStringLiteralDfa5_0(active0, 0x10200000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x204000000000000L, active1, 0L);
case 78:
case 110:
- if ((active0 & 0x2000000000000L) != 0L)
- return jjStartNfaWithStates_0(4, 49, 402);
+ if ((active0 & 0x40000000000000L) != 0L)
+ return jjStartNfaWithStates_0(4, 54, 403);
break;
case 79:
case 111:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000L);
case 80:
case 112:
- return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x4000000000000000L, active1, 0L);
case 82:
case 114:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x200000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8000000L);
case 84:
case 116:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x20000000L);
case 85:
case 117:
- return jjMoveStringLiteralDfa5_0(active0, 0x1840000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x30800000000000L, active1, 0L);
case 90:
case 122:
- return jjMoveStringLiteralDfa5_0(active0, 0x100000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000000L, active1, 0L);
default :
break;
}
@@ -541,42 +562,42 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a
switch(curChar)
{
case 45:
- return jjMoveStringLiteralDfa6_0(active0, 0x100000000000000L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000000L, active1, 0x20000000L);
case 65:
case 97:
- if ((active1 & 0x100000L) != 0L)
- return jjStartNfaWithStates_0(5, 84, 402);
+ if ((active1 & 0x4000000L) != 0L)
+ return jjStartNfaWithStates_0(5, 90, 403);
break;
case 69:
case 101:
- if ((active0 & 0x10000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 52, 402);
+ if ((active0 & 0x200000000000000L) != 0L)
+ return jjStartNfaWithStates_0(5, 57, 403);
break;
case 71:
case 103:
- if ((active0 & 0x1000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 48, 402);
- return jjMoveStringLiteralDfa6_0(active0, 0x40000000000L, active1, 0L);
+ if ((active0 & 0x20000000000000L) != 0L)
+ return jjStartNfaWithStates_0(5, 53, 403);
+ return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L, active1, 0L);
case 78:
case 110:
- if ((active0 & 0x100000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 44, 402);
- return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L, active1, 0L);
+ if ((active0 & 0x2000000000000L) != 0L)
+ return jjStartNfaWithStates_0(5, 49, 403);
+ return jjMoveStringLiteralDfa6_0(active0, 0x1000000000000000L, active1, 0L);
case 79:
case 111:
- return jjMoveStringLiteralDfa6_0(active0, 0x200000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x4000000000000000L, active1, 0L);
case 82:
case 114:
- return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L, active1, 0x80000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x10000000000000L, active1, 0x2000000L);
case 83:
case 115:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x200000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8000000L);
case 84:
case 116:
- return jjMoveStringLiteralDfa6_0(active0, 0x400000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000L, active1, 0L);
case 85:
case 117:
- return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa6_0(active0, 0x4000000000000L, active1, 0L);
default :
break;
}
@@ -595,35 +616,35 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a
{
case 68:
case 100:
- if ((active0 & 0x80000000000000L) != 0L)
- return jjStartNfaWithStates_0(6, 55, 402);
- return jjMoveStringLiteralDfa7_0(active0, 0x100200000000000L, active1, 0L);
+ if ((active0 & 0x1000000000000000L) != 0L)
+ return jjStartNfaWithStates_0(6, 60, 403);
+ return jjMoveStringLiteralDfa7_0(active0, 0x2004000000000000L, active1, 0L);
case 69:
case 101:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x200000L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000000L);
case 70:
case 102:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x20000000L);
case 72:
case 104:
- if ((active0 & 0x40000000000L) != 0L)
- return jjStartNfaWithStates_0(6, 42, 401);
+ if ((active0 & 0x800000000000L) != 0L)
+ return jjStartNfaWithStates_0(6, 47, 401);
break;
case 73:
case 105:
- return jjMoveStringLiteralDfa7_0(active0, 0x400000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000L, active1, 0L);
case 78:
case 110:
- if ((active0 & 0x800000000000L) != 0L)
- return jjStartNfaWithStates_0(6, 47, 402);
+ if ((active0 & 0x10000000000000L) != 0L)
+ return jjStartNfaWithStates_0(6, 52, 403);
break;
case 82:
case 114:
- return jjMoveStringLiteralDfa7_0(active0, 0x200000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa7_0(active0, 0x4000000000000000L, active1, 0L);
case 84:
case 116:
- if ((active1 & 0x80000L) != 0L)
- return jjStartNfaWithStates_0(6, 83, 402);
+ if ((active1 & 0x2000000L) != 0L)
+ return jjStartNfaWithStates_0(6, 89, 403);
break;
default :
break;
@@ -643,20 +664,20 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a
{
case 65:
case 97:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000L);
case 69:
case 101:
- if ((active0 & 0x200000000000L) != 0L)
- return jjStartNfaWithStates_0(7, 45, 402);
+ if ((active0 & 0x4000000000000L) != 0L)
+ return jjStartNfaWithStates_0(7, 50, 403);
break;
case 79:
case 111:
- return jjMoveStringLiteralDfa8_0(active0, 0x100400000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa8_0(active0, 0x2008000000000000L, active1, 0L);
case 84:
case 116:
- if ((active1 & 0x200000L) != 0L)
- return jjStartNfaWithStates_0(7, 85, 402);
- return jjMoveStringLiteralDfa8_0(active0, 0x200000000000000L, active1, 0L);
+ if ((active1 & 0x8000000L) != 0L)
+ return jjStartNfaWithStates_0(7, 91, 403);
+ return jjMoveStringLiteralDfa8_0(active0, 0x4000000000000000L, active1, 0L);
default :
break;
}
@@ -675,16 +696,16 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a
{
case 67:
case 99:
- return jjMoveStringLiteralDfa9_0(active0, 0x100000000000000L, active1, 0x800000L);
+ return jjMoveStringLiteralDfa9_0(active0, 0x2000000000000000L, active1, 0x20000000L);
case 78:
case 110:
- if ((active0 & 0x400000000000L) != 0L)
- return jjStartNfaWithStates_0(8, 46, 402);
+ if ((active0 & 0x8000000000000L) != 0L)
+ return jjStartNfaWithStates_0(8, 51, 403);
break;
case 83:
case 115:
- if ((active0 & 0x200000000000000L) != 0L)
- return jjStartNfaWithStates_0(8, 57, 402);
+ if ((active0 & 0x4000000000000000L) != 0L)
+ return jjStartNfaWithStates_0(8, 62, 403);
break;
default :
break;
@@ -704,12 +725,12 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a
{
case 69:
case 101:
- if ((active1 & 0x800000L) != 0L)
- return jjStartNfaWithStates_0(9, 87, 402);
+ if ((active1 & 0x20000000L) != 0L)
+ return jjStartNfaWithStates_0(9, 93, 403);
break;
case 85:
case 117:
- return jjMoveStringLiteralDfa10_0(active0, 0x100000000000000L, active1, 0L);
+ return jjMoveStringLiteralDfa10_0(active0, 0x2000000000000000L, active1, 0L);
default :
break;
}
@@ -728,7 +749,7 @@ private int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long
{
case 77:
case 109:
- return jjMoveStringLiteralDfa11_0(active0, 0x100000000000000L);
+ return jjMoveStringLiteralDfa11_0(active0, 0x2000000000000000L);
default :
break;
}
@@ -747,7 +768,7 @@ private int jjMoveStringLiteralDfa11_0(long old0, long active0)
{
case 69:
case 101:
- return jjMoveStringLiteralDfa12_0(active0, 0x100000000000000L);
+ return jjMoveStringLiteralDfa12_0(active0, 0x2000000000000000L);
default :
break;
}
@@ -766,7 +787,7 @@ private int jjMoveStringLiteralDfa12_0(long old0, long active0)
{
case 78:
case 110:
- return jjMoveStringLiteralDfa13_0(active0, 0x100000000000000L);
+ return jjMoveStringLiteralDfa13_0(active0, 0x2000000000000000L);
default :
break;
}
@@ -785,8 +806,8 @@ private int jjMoveStringLiteralDfa13_0(long old0, long active0)
{
case 84:
case 116:
- if ((active0 & 0x100000000000000L) != 0L)
- return jjStartNfaWithStates_0(13, 56, 402);
+ if ((active0 & 0x2000000000000000L) != 0L)
+ return jjStartNfaWithStates_0(13, 61, 403);
break;
default :
break;
@@ -859,8 +880,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddTwoStates(164, 165);
if ((0x3ff000000000000L & l) != 0L)
{
- if (kind > 61)
- kind = 61;
+ if (kind > 67)
+ kind = 67;
jjCheckNAdd(163);
}
break;
@@ -869,11 +890,17 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 97;
break;
case 402:
+ if ((0x100003600L & l) != 0L)
+ jjCheckNAddTwoStates(148, 157);
+ if ((0x100003600L & l) != 0L)
+ jjCheckNAddTwoStates(140, 147);
+ break;
+ case 403:
case 98:
if ((0x3ff200000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
case 401:
@@ -883,21 +910,21 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddTwoStates(128, 129);
else if (curChar == 40)
{
- if (kind > 100)
- kind = 100;
+ if (kind > 106)
+ kind = 106;
}
if ((0x3ff200000000000L & l) != 0L)
{
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
}
break;
case 4:
if ((0x3ff000000000000L & l) != 0L)
{
- if (kind > 61)
- kind = 61;
+ if (kind > 67)
+ kind = 67;
jjCheckNAddStates(9, 82);
}
else if ((0x100003600L & l) != 0L)
@@ -1025,8 +1052,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddStates(115, 118);
break;
case 31:
- if (curChar == 34 && kind > 59)
- kind = 59;
+ if (curChar == 34 && kind > 65)
+ kind = 65;
break;
case 33:
if (curChar == 12)
@@ -1085,8 +1112,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddStates(111, 114);
break;
case 48:
- if (curChar == 39 && kind > 59)
- kind = 59;
+ if (curChar == 39 && kind > 65)
+ kind = 65;
break;
case 50:
if (curChar == 12)
@@ -1147,106 +1174,106 @@ private int jjMoveNfa_0(int startState, int curPos)
case 66:
if ((0x3ff200000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddTwoStates(66, 67);
break;
case 68:
if ((0xffffffff00000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddTwoStates(66, 67);
break;
case 69:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(278, 281);
break;
case 70:
if ((0x100003600L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddTwoStates(66, 67);
break;
case 71:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(282, 288);
break;
case 72:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(289, 291);
break;
case 73:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(292, 295);
break;
case 74:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(296, 300);
break;
case 75:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(301, 306);
break;
case 78:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(307, 310);
break;
case 79:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(311, 317);
break;
case 80:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(318, 320);
break;
case 81:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(321, 324);
break;
case 82:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(325, 329);
break;
case 83:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(330, 335);
break;
case 84:
@@ -1256,225 +1283,225 @@ private int jjMoveNfa_0(int startState, int curPos)
case 85:
if ((0x3ff200000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddTwoStates(85, 86);
break;
case 87:
if ((0xffffffff00000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddTwoStates(85, 86);
break;
case 88:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(336, 339);
break;
case 89:
if ((0x100003600L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddTwoStates(85, 86);
break;
case 90:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(340, 346);
break;
case 91:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(347, 349);
break;
case 92:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(350, 353);
break;
case 93:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(354, 358);
break;
case 94:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(359, 364);
break;
case 100:
if ((0xffffffff00000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
case 101:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(365, 368);
break;
case 102:
if ((0x100003600L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
case 103:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(369, 375);
break;
case 104:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(376, 378);
break;
case 105:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(379, 382);
break;
case 106:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(383, 387);
break;
case 107:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(388, 393);
break;
case 110:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(394, 397);
break;
case 111:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(398, 404);
break;
case 112:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(405, 407);
break;
case 113:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(408, 411);
break;
case 114:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(412, 416);
break;
case 115:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(417, 422);
break;
case 117:
if ((0x3ff200000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
break;
case 119:
if ((0xffffffff00000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
break;
case 120:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(423, 426);
break;
case 121:
if ((0x100003600L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
break;
case 122:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(427, 433);
break;
case 123:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(434, 436);
break;
case 124:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(437, 440);
break;
case 125:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(441, 445);
break;
case 126:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(446, 451);
break;
case 127:
@@ -1486,8 +1513,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddTwoStates(128, 129);
break;
case 129:
- if (curChar == 40 && kind > 100)
- kind = 100;
+ if (curChar == 40 && kind > 106)
+ kind = 106;
break;
case 131:
if ((0xffffffff00000000L & l) != 0L)
@@ -1545,8 +1572,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 163:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 61)
- kind = 61;
+ if (kind > 67)
+ kind = 67;
jjCheckNAdd(163);
break;
case 164:
@@ -1554,8 +1581,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddTwoStates(164, 165);
break;
case 165:
- if (curChar == 37 && kind > 65)
- kind = 65;
+ if (curChar == 37 && kind > 71)
+ kind = 71;
break;
case 166:
if ((0x3ff000000000000L & l) != 0L)
@@ -1628,106 +1655,106 @@ private int jjMoveNfa_0(int startState, int curPos)
case 218:
if ((0x3ff200000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddTwoStates(218, 219);
break;
case 220:
if ((0xffffffff00000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddTwoStates(218, 219);
break;
case 221:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(487, 490);
break;
case 222:
if ((0x100003600L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddTwoStates(218, 219);
break;
case 223:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(491, 497);
break;
case 224:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(498, 500);
break;
case 225:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(501, 504);
break;
case 226:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(505, 509);
break;
case 227:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(510, 515);
break;
case 230:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(516, 519);
break;
case 231:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(520, 526);
break;
case 232:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(527, 529);
break;
case 233:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(530, 533);
break;
case 234:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(534, 538);
break;
case 235:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(539, 544);
break;
case 237:
@@ -1743,8 +1770,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddTwoStates(239, 240);
break;
case 240:
- if (curChar == 41 && kind > 63)
- kind = 63;
+ if (curChar == 41 && kind > 69)
+ kind = 69;
break;
case 242:
if ((0xffffffff00000000L & l) != 0L)
@@ -1909,20 +1936,20 @@ private int jjMoveNfa_0(int startState, int curPos)
case 288:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 289;
break;
case 289:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(689, 692);
break;
case 290:
- if (curChar == 63 && kind > 99)
- kind = 99;
+ if (curChar == 63 && kind > 105)
+ kind = 105;
break;
case 291:
case 306:
@@ -1931,29 +1958,29 @@ private int jjMoveNfa_0(int startState, int curPos)
case 316:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAdd(290);
break;
case 292:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddTwoStates(290, 291);
break;
case 293:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(693, 695);
break;
case 294:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjAddStates(696, 701);
break;
case 295:
@@ -1969,8 +1996,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAdd(298);
break;
case 298:
- if ((0x3ff000000000000L & l) != 0L && kind > 99)
- kind = 99;
+ if ((0x3ff000000000000L & l) != 0L && kind > 105)
+ kind = 105;
break;
case 299:
if ((0x3ff000000000000L & l) != 0L)
@@ -1987,8 +2014,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 302:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAdd(290);
break;
case 303:
@@ -2002,8 +2029,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 305:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 306;
break;
case 307:
@@ -2013,57 +2040,57 @@ private int jjMoveNfa_0(int startState, int curPos)
case 308:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 309;
break;
case 309:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddTwoStates(290, 310);
break;
case 311:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 312;
break;
case 312:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(702, 704);
break;
case 314:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddTwoStates(290, 313);
break;
case 315:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(705, 708);
break;
case 317:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddTwoStates(290, 316);
break;
case 318:
if (curChar != 63)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(709, 711);
break;
case 319:
@@ -2081,36 +2108,36 @@ private int jjMoveNfa_0(int startState, int curPos)
case 322:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 323;
break;
case 323:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(712, 715);
break;
case 324:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAdd(298);
break;
case 325:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddTwoStates(298, 324);
break;
case 326:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(716, 718);
break;
case 327:
@@ -2136,43 +2163,43 @@ private int jjMoveNfa_0(int startState, int curPos)
case 333:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(731, 734);
break;
case 334:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(735, 741);
break;
case 335:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(742, 744);
break;
case 336:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(745, 748);
break;
case 337:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(749, 753);
break;
case 338:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(754, 759);
break;
case 339:
@@ -2198,15 +2225,15 @@ private int jjMoveNfa_0(int startState, int curPos)
case 345:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 61)
- kind = 61;
+ if (kind > 67)
+ kind = 67;
jjCheckNAddStates(9, 82);
break;
case 346:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 61)
- kind = 61;
+ if (kind > 67)
+ kind = 67;
jjCheckNAdd(346);
break;
case 347:
@@ -2435,28 +2462,34 @@ private int jjMoveNfa_0(int startState, int curPos)
case 96:
if ((0x7fffffe07fffffeL & l) != 0L)
{
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
}
else if (curChar == 92)
jjCheckNAddTwoStates(100, 110);
break;
+ case 402:
+ if ((0x20000000200L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 156;
+ else if ((0x1000000010L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 146;
+ break;
case 159:
if ((0x7fffffe07fffffeL & l) != 0L)
jjCheckNAddStates(5, 8);
if ((0x7fffffe07fffffeL & l) != 0L)
{
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
}
break;
- case 402:
+ case 403:
if ((0x7fffffe87fffffeL & l) != 0L)
{
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
}
else if (curChar == 92)
@@ -2469,8 +2502,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddTwoStates(119, 120);
if ((0x7fffffe87fffffeL & l) != 0L)
{
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
}
else if (curChar == 92)
@@ -2479,8 +2512,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 4:
if ((0x7fffffe07fffffeL & l) != 0L)
{
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(796, 801);
}
else if (curChar == 92)
@@ -2507,8 +2540,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddStates(123, 125);
break;
case 10:
- if (curChar == 125 && kind > 31)
- kind = 31;
+ if (curChar == 125 && kind > 36)
+ kind = 36;
break;
case 11:
if (curChar == 92)
@@ -2647,15 +2680,15 @@ private int jjMoveNfa_0(int startState, int curPos)
case 65:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddTwoStates(66, 67);
break;
case 66:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddTwoStates(66, 67);
break;
case 67:
@@ -2665,50 +2698,50 @@ private int jjMoveNfa_0(int startState, int curPos)
case 68:
if ((0x7fffffffffffffffL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddTwoStates(66, 67);
break;
case 69:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(278, 281);
break;
case 71:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(282, 288);
break;
case 72:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(289, 291);
break;
case 73:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(292, 295);
break;
case 74:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(296, 300);
break;
case 75:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(301, 306);
break;
case 77:
@@ -2718,50 +2751,50 @@ private int jjMoveNfa_0(int startState, int curPos)
case 78:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(307, 310);
break;
case 79:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(311, 317);
break;
case 80:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(318, 320);
break;
case 81:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(321, 324);
break;
case 82:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(325, 329);
break;
case 83:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddStates(330, 335);
break;
case 85:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddTwoStates(85, 86);
break;
case 86:
@@ -2771,50 +2804,50 @@ private int jjMoveNfa_0(int startState, int curPos)
case 87:
if ((0x7fffffffffffffffL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddTwoStates(85, 86);
break;
case 88:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(336, 339);
break;
case 90:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(340, 346);
break;
case 91:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(347, 349);
break;
case 92:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(350, 353);
break;
case 93:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(354, 358);
break;
case 94:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddStates(359, 364);
break;
case 95:
@@ -2824,15 +2857,15 @@ private int jjMoveNfa_0(int startState, int curPos)
case 97:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
case 98:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
case 99:
@@ -2842,50 +2875,50 @@ private int jjMoveNfa_0(int startState, int curPos)
case 100:
if ((0x7fffffffffffffffL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
case 101:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(365, 368);
break;
case 103:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(369, 375);
break;
case 104:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(376, 378);
break;
case 105:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(379, 382);
break;
case 106:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(383, 387);
break;
case 107:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(388, 393);
break;
case 109:
@@ -2895,50 +2928,50 @@ private int jjMoveNfa_0(int startState, int curPos)
case 110:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(394, 397);
break;
case 111:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(398, 404);
break;
case 112:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(405, 407);
break;
case 113:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(408, 411);
break;
case 114:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(412, 416);
break;
case 115:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddStates(417, 422);
break;
case 117:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
break;
case 118:
@@ -2948,50 +2981,50 @@ private int jjMoveNfa_0(int startState, int curPos)
case 119:
if ((0x7fffffffffffffffL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
break;
case 120:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(423, 426);
break;
case 122:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(427, 433);
break;
case 123:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(434, 436);
break;
case 124:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(437, 440);
break;
case 125:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(441, 445);
break;
case 126:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(446, 451);
break;
case 127:
@@ -3032,8 +3065,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAddStates(480, 486);
break;
case 141:
- if ((0x10000000100000L & l) != 0L && kind > 58)
- kind = 58;
+ if ((0x10000000100000L & l) != 0L && kind > 64)
+ kind = 64;
break;
case 142:
if ((0x100000001000L & l) != 0L)
@@ -3060,8 +3093,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 146;
break;
case 149:
- if ((0x10000000100000L & l) != 0L && kind > 89)
- kind = 89;
+ if ((0x10000000100000L & l) != 0L && kind > 95)
+ kind = 95;
break;
case 150:
if ((0x400000004000L & l) != 0L)
@@ -3102,77 +3135,77 @@ private int jjMoveNfa_0(int startState, int curPos)
case 161:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(796, 801);
break;
case 167:
- if ((0x10000000100000L & l) != 0L && kind > 66)
- kind = 66;
+ if ((0x10000000100000L & l) != 0L && kind > 72)
+ kind = 72;
break;
case 168:
if ((0x1000000010000L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 167;
break;
case 170:
- if ((0x200000002000L & l) != 0L && kind > 67)
- kind = 67;
+ if ((0x200000002000L & l) != 0L && kind > 73)
+ kind = 73;
break;
case 171:
if ((0x200000002000L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 170;
break;
case 173:
- if ((0x200000002000L & l) != 0L && kind > 68)
- kind = 68;
+ if ((0x200000002000L & l) != 0L && kind > 74)
+ kind = 74;
break;
case 174:
if ((0x800000008L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 173;
break;
case 176:
- if ((0x800000008L & l) != 0L && kind > 69)
- kind = 69;
+ if ((0x800000008L & l) != 0L && kind > 75)
+ kind = 75;
break;
case 177:
if ((0x1000000010000L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 176;
break;
case 179:
- if ((0x400000004000L & l) != 0L && kind > 70)
- kind = 70;
+ if ((0x400000004000L & l) != 0L && kind > 76)
+ kind = 76;
break;
case 180:
if ((0x20000000200L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 179;
break;
case 182:
- if ((0x100000001000000L & l) != 0L && kind > 71)
- kind = 71;
+ if ((0x100000001000000L & l) != 0L && kind > 77)
+ kind = 77;
break;
case 183:
if ((0x1000000010000L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 182;
break;
case 185:
- if ((0x200000002000L & l) != 0L && kind > 72)
- kind = 72;
+ if ((0x200000002000L & l) != 0L && kind > 78)
+ kind = 78;
break;
case 186:
if ((0x2000000020L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 185;
break;
case 188:
- if ((0x100000001000000L & l) != 0L && kind > 73)
- kind = 73;
+ if ((0x100000001000000L & l) != 0L && kind > 79)
+ kind = 79;
break;
case 189:
if ((0x2000000020L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 188;
break;
case 191:
- if ((0x8000000080L & l) != 0L && kind > 74)
- kind = 74;
+ if ((0x8000000080L & l) != 0L && kind > 80)
+ kind = 80;
break;
case 192:
if ((0x2000000020L & l) != 0L)
@@ -3183,8 +3216,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 192;
break;
case 195:
- if ((0x1000000010L & l) != 0L && kind > 75)
- kind = 75;
+ if ((0x1000000010L & l) != 0L && kind > 81)
+ kind = 81;
break;
case 196:
if ((0x200000002L & l) != 0L)
@@ -3195,8 +3228,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 196;
break;
case 199:
- if ((0x1000000010L & l) != 0L && kind > 76)
- kind = 76;
+ if ((0x1000000010L & l) != 0L && kind > 82)
+ kind = 82;
break;
case 200:
if ((0x200000002L & l) != 0L)
@@ -3211,28 +3244,28 @@ private int jjMoveNfa_0(int startState, int curPos)
jjstateSet[jjnewStateCnt++] = 201;
break;
case 204:
- if ((0x8000000080000L & l) != 0L && kind > 77)
- kind = 77;
+ if ((0x8000000080000L & l) != 0L && kind > 83)
+ kind = 83;
break;
case 205:
if ((0x200000002000L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 204;
break;
case 207:
- if ((0x8000000080000L & l) != 0L && kind > 78)
- kind = 78;
+ if ((0x8000000080000L & l) != 0L && kind > 84)
+ kind = 84;
break;
case 209:
- if ((0x400000004000000L & l) != 0L && kind > 79)
- kind = 79;
+ if ((0x400000004000000L & l) != 0L && kind > 85)
+ kind = 85;
break;
case 210:
if ((0x10000000100L & l) != 0L)
jjstateSet[jjnewStateCnt++] = 209;
break;
case 212:
- if ((0x400000004000000L & l) != 0L && kind > 80)
- kind = 80;
+ if ((0x400000004000000L & l) != 0L && kind > 86)
+ kind = 86;
break;
case 213:
if ((0x10000000100L & l) != 0L)
@@ -3245,15 +3278,15 @@ private int jjMoveNfa_0(int startState, int curPos)
case 217:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddTwoStates(218, 219);
break;
case 218:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddTwoStates(218, 219);
break;
case 219:
@@ -3263,50 +3296,50 @@ private int jjMoveNfa_0(int startState, int curPos)
case 220:
if ((0x7fffffffffffffffL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddTwoStates(218, 219);
break;
case 221:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(487, 490);
break;
case 223:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(491, 497);
break;
case 224:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(498, 500);
break;
case 225:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(501, 504);
break;
case 226:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(505, 509);
break;
case 227:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(510, 515);
break;
case 229:
@@ -3316,43 +3349,43 @@ private int jjMoveNfa_0(int startState, int curPos)
case 230:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(516, 519);
break;
case 231:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(520, 526);
break;
case 232:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(527, 529);
break;
case 233:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(530, 533);
break;
case 234:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(534, 538);
break;
case 235:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddStates(539, 544);
break;
case 236:
@@ -3477,8 +3510,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 294:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjAddStates(696, 701);
break;
case 295:
@@ -3494,8 +3527,8 @@ private int jjMoveNfa_0(int startState, int curPos)
jjCheckNAdd(298);
break;
case 298:
- if ((0x7e0000007eL & l) != 0L && kind > 99)
- kind = 99;
+ if ((0x7e0000007eL & l) != 0L && kind > 105)
+ kind = 105;
break;
case 299:
if ((0x7e0000007eL & l) != 0L)
@@ -3512,8 +3545,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 302:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 290;
break;
case 303:
@@ -3527,8 +3560,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 305:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 306;
break;
case 307:
@@ -3538,15 +3571,15 @@ private int jjMoveNfa_0(int startState, int curPos)
case 308:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 309;
break;
case 311:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 312;
break;
case 320:
@@ -3556,36 +3589,36 @@ private int jjMoveNfa_0(int startState, int curPos)
case 322:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjstateSet[jjnewStateCnt++] = 323;
break;
case 323:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(712, 715);
break;
case 324:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAdd(298);
break;
case 325:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddTwoStates(298, 324);
break;
case 326:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 99)
- kind = 99;
+ if (kind > 105)
+ kind = 105;
jjCheckNAddStates(716, 718);
break;
case 327:
@@ -3615,43 +3648,43 @@ private int jjMoveNfa_0(int startState, int curPos)
case 333:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(731, 734);
break;
case 334:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(735, 741);
break;
case 335:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(742, 744);
break;
case 336:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(745, 748);
break;
case 337:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(749, 753);
break;
case 338:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddStates(754, 759);
break;
case 339:
@@ -3690,23 +3723,23 @@ private int jjMoveNfa_0(int startState, int curPos)
case 100:
if ((jjbitVec0[i2] & l2) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
- case 402:
+ case 403:
case 98:
if ((jjbitVec0[i2] & l2) == 0L)
break;
- if (kind > 88)
- kind = 88;
+ if (kind > 94)
+ kind = 94;
jjCheckNAddTwoStates(98, 99);
break;
case 401:
if ((jjbitVec0[i2] & l2) != 0L)
{
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
}
if ((jjbitVec0[i2] & l2) != 0L)
@@ -3715,8 +3748,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 4:
if ((jjbitVec0[i2] & l2) == 0L)
break;
- if (kind > 32)
- kind = 32;
+ if (kind > 37)
+ kind = 37;
jjCheckNAddStates(796, 801);
break;
case 2:
@@ -3744,24 +3777,24 @@ private int jjMoveNfa_0(int startState, int curPos)
case 76:
if ((jjbitVec0[i2] & l2) == 0L)
break;
- if (kind > 64)
- kind = 64;
+ if (kind > 70)
+ kind = 70;
jjCheckNAddTwoStates(66, 67);
break;
case 85:
case 87:
if ((jjbitVec0[i2] & l2) == 0L)
break;
- if (kind > 82)
- kind = 82;
+ if (kind > 88)
+ kind = 88;
jjCheckNAddTwoStates(85, 86);
break;
case 117:
case 119:
if ((jjbitVec0[i2] & l2) == 0L)
break;
- if (kind > 60)
- kind = 60;
+ if (kind > 66)
+ kind = 66;
jjCheckNAddTwoStates(117, 118);
break;
case 127:
@@ -3774,8 +3807,8 @@ private int jjMoveNfa_0(int startState, int curPos)
case 228:
if ((jjbitVec0[i2] & l2) == 0L)
break;
- if (kind > 81)
- kind = 81;
+ if (kind > 87)
+ kind = 87;
jjCheckNAddTwoStates(218, 219);
break;
case 238:
@@ -4019,12 +4052,13 @@ static final int[] jjnextStates = {
public static final String[] jjstrLiteralImages = {
"", null, null, null, null, null, null, null, null, null, "\74\41\55\55",
"\55\55\76", "\173", "\175", "\174\75", "\176\75", "\75", "\53", "\55", "\54", "\73",
-"\76", "\57", "\133", "\135", "\52", "\46", "\56", "\50", "\51", "\72", null, null,
+"\76", "\74", "\57", "\133", "\135", "\52", "\46", "\56", "\50", "\51", "\75\75",
+"\174\174", "\46\46", "\41\75", "\72", null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
-null, null, null, null, null, null, null, null, null, null, null, null, null, };
+null, null, null, null, null, null, null, null, };
/** Lexer state names. */
public static final String[] lexStateNames = {
@@ -4040,10 +4074,10 @@ public static final int[] jjnewLexState = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
};
static final long[] jjtoToken = {
- 0xbffffe01fffffc03L, 0x3803ffffffL,
+ 0xffffc03ffffffc03L, 0xe00ffffffefL,
};
static final long[] jjtoSkip = {
0x190L, 0x0L,
@@ -4169,9 +4203,9 @@ public Token getNextToken()
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = jjMoveStringLiteralDfa0_0();
- if (jjmatchedPos == 0 && jjmatchedKind > 101)
+ if (jjmatchedPos == 0 && jjmatchedKind > 107)
{
- jjmatchedKind = 101;
+ jjmatchedKind = 107;
}
break;
case 1:
diff --git a/theme-compiler/src/com/vaadin/sass/selector/SelectorUtil.java b/theme-compiler/src/com/vaadin/sass/selector/SelectorUtil.java
index d93f37c175..788f297cac 100644
--- a/theme-compiler/src/com/vaadin/sass/selector/SelectorUtil.java
+++ b/theme-compiler/src/com/vaadin/sass/selector/SelectorUtil.java
@@ -29,6 +29,7 @@ import org.w3c.css.sac.SiblingSelector;
import org.w3c.css.sac.SimpleSelector;
import org.w3c.flute.parser.selectors.AndConditionImpl;
import org.w3c.flute.parser.selectors.AttributeConditionImpl;
+import org.w3c.flute.parser.selectors.ChildSelectorImpl;
import org.w3c.flute.parser.selectors.ClassConditionImpl;
import org.w3c.flute.parser.selectors.ConditionFactoryImpl;
import org.w3c.flute.parser.selectors.DirectAdjacentSelectorImpl;
@@ -305,4 +306,28 @@ public class SelectorUtil {
return one == null ? another == null : toString(one).equals(
toString(another));
}
+
+ public static Selector createSelectorAndreplaceSelectorVariableWithValue(
+ Selector selector, String variable, String value) throws Exception {
+
+ SelectorFactoryImpl factory = new SelectorFactoryImpl();
+
+ ElementSelector es = factory.createElementSelector(
+ null,
+ ((ElementSelector) selector).getLocalName().replaceAll(
+ variable, value));
+
+ if (selector instanceof ConditionalSelector) {
+ return factory.createConditionalSelector(es,
+ ((ConditionalSelector) selector).getCondition());
+ } else if (selector instanceof DescendantSelector) {
+ return factory.createDescendantSelector(es,
+ ((DescendantSelector) selector).getSimpleSelector());
+ } else if (selector instanceof ChildSelectorImpl) {
+ return factory.createChildSelector(es,
+ ((DescendantSelector) selector).getSimpleSelector());
+ } else {
+ throw new Exception("Invalid selector type");
+ }
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/BlockNode.java b/theme-compiler/src/com/vaadin/sass/tree/BlockNode.java
index e255b2a3e5..cde7c9425a 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/BlockNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/BlockNode.java
@@ -16,6 +16,9 @@
package com.vaadin.sass.tree;
+import java.util.ArrayList;
+
+import org.w3c.css.sac.Selector;
import org.w3c.css.sac.SelectorList;
import com.vaadin.sass.parser.SelectorListImpl;
@@ -23,7 +26,7 @@ import com.vaadin.sass.selector.SelectorUtil;
import com.vaadin.sass.util.Clonable;
import com.vaadin.sass.util.DeepCopy;
-public class BlockNode extends Node implements Clonable {
+public class BlockNode extends Node implements Clonable, IVariableNode {
private static final long serialVersionUID = 5742962631468325048L;
@@ -81,4 +84,35 @@ public class BlockNode extends Node implements Clonable {
return clone;
}
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ SelectorListImpl newList = new SelectorListImpl();
+
+ if (selectorList != null) {
+ for (int i = 0; i < selectorList.getLength(); i++) {
+ Selector selector = selectorList.item(i);
+
+ for (final VariableNode node : variables) {
+
+ if (SelectorUtil.toString(selector)
+ .contains(node.getName())) {
+ try {
+ selector = SelectorUtil
+ .createSelectorAndreplaceSelectorVariableWithValue(
+ selector, node.getName(), node
+ .getExpr().toString());
+ break;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return;
+ }
+ }
+ }
+ newList.addSelector(selector);
+ }
+
+ selectorList = newList;
+ }
+ }
+
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/ExtendNode.java b/theme-compiler/src/com/vaadin/sass/tree/ExtendNode.java
index 65ecb254bb..b70c20bcfe 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/ExtendNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/ExtendNode.java
@@ -16,9 +16,15 @@
package com.vaadin.sass.tree;
+import java.util.ArrayList;
+
+import org.w3c.css.sac.Selector;
import org.w3c.css.sac.SelectorList;
-public class ExtendNode extends Node {
+import com.vaadin.sass.parser.SelectorListImpl;
+import com.vaadin.sass.selector.SelectorUtil;
+
+public class ExtendNode extends Node implements IVariableNode {
private static final long serialVersionUID = 3301805078983796878L;
SelectorList list;
@@ -32,4 +38,32 @@ public class ExtendNode extends Node {
return list;
}
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ SelectorListImpl newList = new SelectorListImpl();
+
+ for (int i = 0; i < list.getLength(); i++) {
+ Selector selector = list.item(i);
+
+ for (final VariableNode node : variables) {
+
+ if (SelectorUtil.toString(selector).contains(node.getName())) {
+ try {
+ selector = SelectorUtil
+ .createSelectorAndreplaceSelectorVariableWithValue(
+ selector, node.getName(), node
+ .getExpr().toString());
+ break;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return;
+ }
+ }
+ }
+ newList.addSelector(selector);
+ }
+
+ list = newList;
+ }
+
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/FunctionNode.java b/theme-compiler/src/com/vaadin/sass/tree/FunctionNode.java
index 90b5458235..6263d557b8 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/FunctionNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/FunctionNode.java
@@ -16,7 +16,9 @@
package com.vaadin.sass.tree;
-public class FunctionNode extends Node {
+import java.util.ArrayList;
+
+public class FunctionNode extends Node implements IVariableNode {
private static final long serialVersionUID = -5383104165955523923L;
private String name;
@@ -39,4 +41,13 @@ public class FunctionNode extends Node {
return "Function Node: {name: " + name + ", args: " + args + ", body: "
+ body + "}";
}
+
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode node : variables) {
+ if (args.contains(node.getName())) {
+ args.replaceAll(node.getName(), node.getExpr().toString());
+ }
+ }
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/IVariableNode.java b/theme-compiler/src/com/vaadin/sass/tree/IVariableNode.java
new file mode 100644
index 0000000000..2c3e1c95d2
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/sass/tree/IVariableNode.java
@@ -0,0 +1,9 @@
+package com.vaadin.sass.tree;
+
+import java.util.ArrayList;
+
+public interface IVariableNode {
+
+ public void replaceVariables(ArrayList<VariableNode> variables);
+
+}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/IfNode.java b/theme-compiler/src/com/vaadin/sass/tree/IfNode.java
deleted file mode 100644
index e425538104..0000000000
--- a/theme-compiler/src/com/vaadin/sass/tree/IfNode.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2011 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.vaadin.sass.tree;
-
-public class IfNode extends Node {
- private static final long serialVersionUID = 1561250630856748066L;
-
-}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/MediaNode.java b/theme-compiler/src/com/vaadin/sass/tree/MediaNode.java
index 00a7442a24..b312d53a00 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/MediaNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/MediaNode.java
@@ -56,4 +56,5 @@ public class MediaNode extends Node {
builder.append("}");
return builder.toString();
}
+
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/MixinDefNode.java b/theme-compiler/src/com/vaadin/sass/tree/MixinDefNode.java
index b888d01971..a872d13654 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/MixinDefNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/MixinDefNode.java
@@ -19,7 +19,9 @@ package com.vaadin.sass.tree;
import java.util.ArrayList;
import java.util.Collection;
-public class MixinDefNode extends Node {
+import com.vaadin.sass.util.DeepCopy;
+
+public class MixinDefNode extends Node implements IVariableNode {
private static final long serialVersionUID = 5469294053247343948L;
private String name;
@@ -64,4 +66,18 @@ public class MixinDefNode extends Node {
this.arglist = arglist;
}
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode var : variables) {
+ for (final VariableNode arg : new ArrayList<VariableNode>(arglist)) {
+
+ if (arg.getName().equals(var.getName())) {
+ arglist.add(arglist.indexOf(arg),
+ (VariableNode) DeepCopy.copy(var));
+ arglist.remove(arg);
+ }
+ }
+ }
+ }
+
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/MixinNode.java b/theme-compiler/src/com/vaadin/sass/tree/MixinNode.java
index 0267b88e2d..2b9299bbd1 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/MixinNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/MixinNode.java
@@ -21,7 +21,9 @@ import java.util.Collection;
import org.w3c.css.sac.LexicalUnit;
-public class MixinNode extends Node {
+import com.vaadin.sass.parser.LexicalUnitImpl;
+
+public class MixinNode extends Node implements IVariableNode {
private static final long serialVersionUID = 4725008226813110658L;
private String name;
@@ -56,4 +58,17 @@ public class MixinNode extends Node {
public void setArglist(ArrayList<LexicalUnit> arglist) {
this.arglist = arglist;
}
+
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode var : variables) {
+ for (final LexicalUnit arg : new ArrayList<LexicalUnit>(arglist)) {
+ if (arg.getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE
+ && arg.getStringValue().equals(var.getName())) {
+ ((LexicalUnitImpl) arg).replaceValue(var.getExpr());
+ }
+ }
+ }
+ }
+
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/NestPropertiesNode.java b/theme-compiler/src/com/vaadin/sass/tree/NestPropertiesNode.java
index 306a73ba87..27d3f5b23f 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/NestPropertiesNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/NestPropertiesNode.java
@@ -20,7 +20,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-public class NestPropertiesNode extends Node {
+public class NestPropertiesNode extends Node implements IVariableNode {
private static final long serialVersionUID = 3671253315690598308L;
public NestPropertiesNode(String name) {
@@ -53,4 +53,14 @@ public class NestPropertiesNode extends Node {
child.getValue(), child.isImportant(), null);
return newRuleNode;
}
+
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode node : variables) {
+ if (name.contains(node.getName())) {
+ name = name.replaceAll(node.getName(), node.getExpr()
+ .toString());
+ }
+ }
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/Node.java b/theme-compiler/src/com/vaadin/sass/tree/Node.java
index 817327502b..6e871df286 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/Node.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/Node.java
@@ -19,7 +19,6 @@ package com.vaadin.sass.tree;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.List;
public abstract class Node implements Serializable {
private static final long serialVersionUID = 5914711715839294816L;
@@ -28,11 +27,9 @@ public abstract class Node implements Serializable {
private String fileName;
protected String rawString;
- protected List<String> variables;
public Node() {
children = new ArrayList<Node>();
- variables = new ArrayList<String>();
}
public Node(String raw) {
@@ -98,11 +95,4 @@ public abstract class Node implements Serializable {
return rawString;
}
- public void addVariable(String var) {
- variables.add(var);
- }
-
- public void removeVariable(String var) {
- variables.remove(var);
- }
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/RuleNode.java b/theme-compiler/src/com/vaadin/sass/tree/RuleNode.java
index 3b51468e1d..fe52844979 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/RuleNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/RuleNode.java
@@ -16,9 +16,13 @@
package com.vaadin.sass.tree;
+import java.util.ArrayList;
+
import org.w3c.css.sac.LexicalUnit;
-public class RuleNode extends Node {
+import com.vaadin.sass.parser.LexicalUnitImpl;
+
+public class RuleNode extends Node implements IVariableNode {
private static final long serialVersionUID = 6653493127869037022L;
String variable;
@@ -77,4 +81,32 @@ public class RuleNode extends Node {
this.comment = comment;
}
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode node : variables) {
+ LexicalUnit current = value;
+ if (current.getLexicalUnitType() == LexicalUnitImpl.SAC_FUNCTION) {
+ if (current.getParameters().toString().contains(node.getName())) {
+ LexicalUnit param = value.getParameters();
+ if (param != null) {
+ if (param.toString().contains(node.getName())) {
+ ((LexicalUnitImpl) param).replaceValue(node
+ .getExpr());
+ }
+ }
+ }
+ } else {
+ while (current != null) {
+ if (current.getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE
+ && current.toString()
+ .contains("$" + node.getName())) {
+
+ ((LexicalUnitImpl) current)
+ .replaceValue(node.getExpr());
+ }
+ current = current.getNextLexicalUnit();
+ }
+ }
+ }
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/SimpleNode.java b/theme-compiler/src/com/vaadin/sass/tree/SimpleNode.java
index 39a5d17b48..52329c1b14 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/SimpleNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/SimpleNode.java
@@ -1,5 +1,7 @@
package com.vaadin.sass.tree;
+import java.util.ArrayList;
+
/**
* A simple BlockNode where input text equals output. <b>Note : </b> ignores any
* possible children so only use it when you are sure no child nodes will be
@@ -8,9 +10,9 @@ package com.vaadin.sass.tree;
* @author Sebastian Nyholm @ Vaadin Ltd
*
*/
-public class SimpleNode extends Node {
+public class SimpleNode extends Node implements IVariableNode {
- private final String text;
+ private String text;
public SimpleNode(String text) {
this.text = text;
@@ -21,4 +23,14 @@ public class SimpleNode extends Node {
public String toString() {
return text;
}
+
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode node : variables) {
+ if (text.contains(node.getName())) {
+ text = text.replaceAll(node.getName(), node.getExpr()
+ .toString());
+ }
+ }
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/VariableNode.java b/theme-compiler/src/com/vaadin/sass/tree/VariableNode.java
index db014ae616..b7e9a21d51 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/VariableNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/VariableNode.java
@@ -16,9 +16,14 @@
package com.vaadin.sass.tree;
+import java.util.ArrayList;
+
import org.w3c.css.sac.LexicalUnit;
-public class VariableNode extends Node {
+import com.vaadin.sass.parser.LexicalUnitImpl;
+import com.vaadin.sass.util.DeepCopy;
+
+public class VariableNode extends Node implements IVariableNode {
private static final long serialVersionUID = 7003372557547748734L;
private String name;
@@ -64,4 +69,43 @@ public class VariableNode extends Node {
this.guarded = guarded;
}
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode node : variables) {
+ if (!this.equals(node)) {
+
+ if (name.equals(node.getName())) {
+ expr = (LexicalUnit) DeepCopy.copy(node.getExpr());
+ guarded = node.isGuarded();
+ continue;
+ }
+
+ LexicalUnit current = expr;
+ while (current != null) {
+ if (current.toString().contains(node.getName())) {
+ ((LexicalUnitImpl) current)
+ .replaceValue(node.getExpr());
+ }
+
+ current = current.getNextLexicalUnit();
+ }
+
+ }
+ }
+ }
+
+ public boolean replacePossibleVariables(ArrayList<VariableNode> list) {
+ list.remove(this);
+ LexicalUnit oldExpr = (LexicalUnit) DeepCopy.copy(expr);
+ replaceVariables(list);
+
+ if (!oldExpr.toString().equals(expr.toString())) {
+ for (VariableNode n : list) {
+ if (expr.toString().equals(n.getExpr().toString())) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlChildNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlChildNode.java
deleted file mode 100644
index a6df1e744b..0000000000
--- a/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlChildNode.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.vaadin.sass.tree.controldirective;
-
-
-public interface ControlChildNode extends ControlNode {
-
-}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlDefNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlDefNode.java
deleted file mode 100644
index 4ead42eb0a..0000000000
--- a/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlDefNode.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.vaadin.sass.tree.controldirective;
-
-
-public interface ControlDefNode extends ControlNode {
-
-}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlNode.java
deleted file mode 100644
index 453593d4d2..0000000000
--- a/theme-compiler/src/com/vaadin/sass/tree/controldirective/ControlNode.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.vaadin.sass.tree.controldirective;
-
-public interface ControlNode {
-
-}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/EachDefNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/EachDefNode.java
index 1dfa5892d9..2cb9aeb1c3 100644
--- a/theme-compiler/src/com/vaadin/sass/tree/controldirective/EachDefNode.java
+++ b/theme-compiler/src/com/vaadin/sass/tree/controldirective/EachDefNode.java
@@ -21,7 +21,7 @@ import java.util.List;
import com.vaadin.sass.tree.Node;
-public class EachDefNode extends Node implements ControlDefNode {
+public class EachDefNode extends Node {
private static final long serialVersionUID = 7943948981204906221L;
private String var;
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/ElseNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/ElseNode.java
new file mode 100644
index 0000000000..529ce4d76e
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/sass/tree/controldirective/ElseNode.java
@@ -0,0 +1,12 @@
+package com.vaadin.sass.tree.controldirective;
+
+import com.vaadin.sass.tree.Node;
+
+public class ElseNode extends Node implements IfElseNode {
+
+ @Override
+ public String getExpression() {
+ return null;
+ }
+
+}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseDefNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseDefNode.java
new file mode 100644
index 0000000000..5bd3ba526c
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseDefNode.java
@@ -0,0 +1,17 @@
+package com.vaadin.sass.tree.controldirective;
+
+import com.vaadin.sass.tree.Node;
+
+public class IfElseDefNode extends Node {
+
+ @Override
+ public String toString() {
+ StringBuilder b = new StringBuilder();
+ for (final Node child : getChildren()) {
+ b.append(child.toString());
+ b.append("\n");
+ }
+ return b.toString();
+ }
+
+}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseNode.java
new file mode 100644
index 0000000000..8f6c09addc
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfElseNode.java
@@ -0,0 +1,7 @@
+package com.vaadin.sass.tree.controldirective;
+
+public interface IfElseNode {
+
+ String getExpression();
+
+}
diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java
new file mode 100644
index 0000000000..2f31f36f0c
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2011 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.sass.tree.controldirective;
+
+import java.util.ArrayList;
+
+import com.vaadin.sass.tree.IVariableNode;
+import com.vaadin.sass.tree.Node;
+import com.vaadin.sass.tree.VariableNode;
+
+public class IfNode extends Node implements IfElseNode, IVariableNode {
+ private String expression;
+
+ public IfNode(String expression) {
+ this.expression = expression;
+ }
+
+ @Override
+ public String getExpression() {
+ if (expression != null) {
+ return expression.trim();
+ } else {
+ return "false";
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "@if" + expression;
+ }
+
+ @Override
+ public void replaceVariables(ArrayList<VariableNode> variables) {
+ for (final VariableNode node : variables) {
+ if (expression.contains(node.getName())) {
+ expression = expression.replaceAll(node.getName(), node
+ .getExpr().toString());
+ }
+ }
+ }
+
+} \ No newline at end of file
diff --git a/theme-compiler/src/com/vaadin/sass/visitor/ControlVisitor.java b/theme-compiler/src/com/vaadin/sass/visitor/EachVisitor.java
index cc736b307f..0e4fb46a23 100644
--- a/theme-compiler/src/com/vaadin/sass/visitor/ControlVisitor.java
+++ b/theme-compiler/src/com/vaadin/sass/visitor/EachVisitor.java
@@ -6,20 +6,19 @@ import java.util.regex.Pattern;
import com.vaadin.sass.tree.BlockNode;
import com.vaadin.sass.tree.Node;
import com.vaadin.sass.tree.SimpleNode;
-import com.vaadin.sass.tree.controldirective.ControlDefNode;
import com.vaadin.sass.tree.controldirective.EachDefNode;
-public class ControlVisitor implements Visitor {
+public class EachVisitor implements Visitor {
- HashSet<Node> controlDefs = new HashSet<Node>();
+ HashSet<EachDefNode> controlDefs = new HashSet<EachDefNode>();
private Node rootNode;
@Override
public void traverse(Node node) throws Exception {
this.rootNode = node;
for (Node child : node.getChildren()) {
- if (child instanceof ControlDefNode) {
- controlDefs.add(child);
+ if (child instanceof EachDefNode) {
+ controlDefs.add((EachDefNode) child);
}
}
@@ -28,10 +27,8 @@ public class ControlVisitor implements Visitor {
}
private void replaceControlNodes() {
- for (final Node defNode : controlDefs) {
- if (defNode instanceof EachDefNode) {
- replaceEachDefNode((EachDefNode) defNode);
- }
+ for (final EachDefNode defNode : controlDefs) {
+ replaceEachDefNode(defNode);
}
}
diff --git a/theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java b/theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java
new file mode 100644
index 0000000000..cff00392fb
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java
@@ -0,0 +1,112 @@
+package com.vaadin.sass.visitor;
+
+import java.util.HashMap;
+import java.util.Map.Entry;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.commons.jexl2.Expression;
+import org.apache.commons.jexl2.JexlEngine;
+import org.apache.commons.jexl2.JexlException;
+import org.w3c.flute.parser.ParseException;
+
+import com.vaadin.sass.tree.Node;
+import com.vaadin.sass.tree.controldirective.ElseNode;
+import com.vaadin.sass.tree.controldirective.IfElseDefNode;
+import com.vaadin.sass.tree.controldirective.IfElseNode;
+import com.vaadin.sass.tree.controldirective.IfNode;
+
+public class IfElseVisitor implements Visitor {
+
+ private HashMap<Node, IfElseDefNode> controlDefs = new HashMap<Node, IfElseDefNode>();
+
+ private static final JexlEngine evaluator = new JexlEngine();
+ private static final Pattern pattern = Pattern
+ .compile("[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*");
+
+ @Override
+ public void traverse(Node node) throws Exception {
+ addControlDefs(node, node);
+
+ for (final Entry<Node, IfElseDefNode> entry : controlDefs.entrySet()) {
+ IfElseDefNode defNode = entry.getValue();
+ Node parent = entry.getKey();
+ for (final Node child : defNode.getChildren()) {
+ if (child instanceof IfNode) {
+ try {
+ String expression = ((IfElseNode) child)
+ .getExpression();
+ // We need to add ' ' for strings in the expression for
+ // jexl to understand that is should do a string
+ // comparison
+ expression = replaceStrings(expression);
+ Expression e = evaluator.createExpression(expression);
+ try {
+ Boolean result = (Boolean) e.evaluate(null);
+ if (result) {
+ replaceDefNodeWithCorrectChild(defNode, parent,
+ child);
+ break;
+ }
+ } catch (ClassCastException ex) {
+ throw new ParseException(
+ "Invalid @if/@else in scss file, not a boolean expression : "
+ + child.toString());
+ } catch (NullPointerException ex) {
+ throw new ParseException(
+ "Invalid @if/@else in scss file, not a boolean expression : "
+ + child.toString());
+ }
+ } catch (JexlException e) {
+ throw new ParseException(
+ "Invalid @if/@else in scss file for "
+ + child.toString());
+ }
+ } else {
+ if (!(child instanceof ElseNode)
+ && defNode.getChildren().indexOf(child) == defNode
+ .getChildren().size() - 1) {
+ throw new ParseException(
+ "Invalid @if/@else in scss file for " + defNode);
+ } else {
+ replaceDefNodeWithCorrectChild(defNode, parent, child);
+ break;
+ }
+ }
+ }
+
+ parent.removeChild(defNode);
+ }
+
+ }
+
+ private String replaceStrings(String expression) {
+ Matcher m = pattern.matcher(expression);
+ StringBuffer b = new StringBuffer();
+ while (m.find()) {
+ String group = m.group();
+ m.appendReplacement(b, "'" + group + "'");
+ }
+
+ if (b.length() != 0) {
+ return b.toString();
+ }
+ return expression;
+ }
+
+ private void replaceDefNodeWithCorrectChild(IfElseDefNode defNode,
+ Node parent, final Node child) {
+ for (final Node n : child.getChildren()) {
+ parent.appendChild(n, defNode);
+ }
+ }
+
+ private void addControlDefs(Node current, Node node) {
+ for (Node child : current.getChildren()) {
+ addControlDefs(node, child);
+ if (child instanceof IfElseDefNode) {
+ controlDefs.put(current, (IfElseDefNode) child);
+ }
+ }
+ }
+}
diff --git a/theme-compiler/src/com/vaadin/sass/visitor/MixinVisitor.java b/theme-compiler/src/com/vaadin/sass/visitor/MixinVisitor.java
index d6008526b4..9b440fae2a 100644
--- a/theme-compiler/src/com/vaadin/sass/visitor/MixinVisitor.java
+++ b/theme-compiler/src/com/vaadin/sass/visitor/MixinVisitor.java
@@ -20,10 +20,12 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+import org.w3c.css.sac.LexicalUnit;
+
+import com.vaadin.sass.tree.IVariableNode;
import com.vaadin.sass.tree.MixinDefNode;
import com.vaadin.sass.tree.MixinNode;
import com.vaadin.sass.tree.Node;
-import com.vaadin.sass.tree.VariableNode;
import com.vaadin.sass.util.DeepCopy;
public class MixinVisitor implements Visitor {
@@ -74,21 +76,29 @@ public class MixinVisitor implements Visitor {
pre = child;
}
} else {
- for (int i = 0; i < mixinDef.getArglist().size(); i++) {
- VariableNode arg = (VariableNode) DeepCopy.copy(mixinDef
- .getArglist().get(i));
- if (i < mixinNode.getArglist().size()) {
- arg.setExpr(mixinNode.getArglist().get(i));
- }
- current.appendChild(arg, pre);
- pre = arg;
+ int i = 0;
+ for (final LexicalUnit unit : mixinNode.getArglist()) {
+ mixinDef.getArglist().get(i)
+ .setExpr((LexicalUnit) DeepCopy.copy(unit));
+ i++;
}
- for (Node child : mixinDef.getChildren()) {
- Node clonedChild = (Node) DeepCopy.copy(child);
- current.appendChild(clonedChild, pre);
- pre = clonedChild;
+
+ for (int j = mixinDef.getChildren().size() - 1; j >= 0; j--) {
+ Node child = (Node) DeepCopy
+ .copy(mixinDef.getChildren().get(j));
+ replaceChildVariables(mixinDef, child);
+ current.appendChild(child, mixinNode);
}
}
current.removeChild(mixinNode);
}
+
+ private void replaceChildVariables(MixinDefNode mixinDef, Node node) {
+ for (final Node child : node.getChildren()) {
+ replaceChildVariables(mixinDef, child);
+ }
+ if (node instanceof IVariableNode) {
+ ((IVariableNode) node).replaceVariables(mixinDef.getArglist());
+ }
+ }
}
diff --git a/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java b/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java
index 7fa62bd20f..4508237cb9 100644
--- a/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java
+++ b/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java
@@ -16,79 +16,63 @@
package com.vaadin.sass.visitor;
+import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import org.w3c.css.sac.LexicalUnit;
-
-import com.vaadin.sass.parser.LexicalUnitImpl;
-import com.vaadin.sass.parser.SCSSLexicalUnit;
+import com.vaadin.sass.tree.IVariableNode;
import com.vaadin.sass.tree.Node;
-import com.vaadin.sass.tree.RuleNode;
import com.vaadin.sass.tree.VariableNode;
public class VariableVisitor implements Visitor {
+ private final HashMap<String, VariableNode> variables = new HashMap<String, VariableNode>();
+
@Override
public void traverse(Node node) {
- Map<String, LexicalUnitImpl> variables = new HashMap<String, LexicalUnitImpl>();
- traverse(node, variables);
+
+ replaceVariables(node, node.getChildren());
+
+ removeVariableNodes(node, node);
}
- private void traverse(Node node, Map<String, LexicalUnitImpl> variables) {
- if (node instanceof RuleNode) {
- LexicalUnit value = ((RuleNode) node).getValue();
- while (updateValue(value, variables)) {
- ;
- }
- } else {
- Set<Node> toBeDeleted = new HashSet<Node>();
- for (Node child : node.getChildren()) {
- if (child instanceof VariableNode) {
- VariableNode varChild = (VariableNode) child;
- if (!varChild.isGuarded() || varChild.isGuarded()
- && variables.get(varChild.getName()) == null) {
- variables.put(((VariableNode) child).getName(),
- (LexicalUnitImpl) ((VariableNode) child)
- .getExpr());
- }
- toBeDeleted.add(child);
- } else {
- traverse(child, new HashMap<String, LexicalUnitImpl>(
- variables));
- }
- }
- for (Node child : toBeDeleted) {
- node.removeChild(child);
+ private void removeVariableNodes(Node parent, Node node) {
+ for (final Node child : new ArrayList<Node>(node.getChildren())) {
+ removeVariableNodes(node, child);
+ }
+ if (node instanceof VariableNode) {
+ for (final Node child : node.getChildren()) {
+ parent.appendChild(child, node);
}
+ parent.removeChild(node);
}
}
- private boolean updateValue(LexicalUnit value,
- Map<String, LexicalUnitImpl> variables) {
- boolean onceMore = false;
- if (value == null) {
- return false;
- }
- if (value.getLexicalUnitType() == SCSSLexicalUnit.SCSS_VARIABLE) {
- LexicalUnitImpl variableValue = variables.get(value
- .getStringValue());
- if (variableValue != null) {
- LexicalUnitImpl variableValueCloned = variableValue.clone();
- if (variableValueCloned != null) {
- LexicalUnitImpl lexVal = (LexicalUnitImpl) value;
- lexVal.replaceValue(variableValueCloned);
- onceMore = true;
+ private void replaceVariables(Node n, ArrayList<Node> children) {
+
+ ArrayList<VariableNode> variables = new ArrayList<VariableNode>(
+ this.variables.values());
+
+ for (Node node : children) {
+ if (node instanceof VariableNode) {
+
+ VariableNode variableNode = (VariableNode) node;
+ if (this.variables.containsKey(variableNode.getName())
+ && variableNode.isGuarded()) {
+ continue;
}
+ this.variables.put(variableNode.getName(), variableNode);
+ } else if (node instanceof IVariableNode) {
+ ((IVariableNode) node)
+ .replaceVariables(new ArrayList<VariableNode>(
+ this.variables.values()));
}
- } else if (value.getLexicalUnitType() == SCSSLexicalUnit.SAC_FUNCTION) {
- LexicalUnit params = value.getParameters();
- updateValue(params, variables);
+
+ replaceVariables(node, node.getChildren());
+ }
+
+ for (final VariableNode v : variables) {
+ this.variables.put(v.getName(), v);
}
- LexicalUnit next = value.getNextLexicalUnit();
- updateValue(next, variables);
- return onceMore;
}
+
}