CVS 2002/css-validator/org/w3c/css/parser/analyzer

Update of /sources/public/2002/css-validator/org/w3c/css/parser/analyzer
In directory roscoe:/var/tmp/cvs-serv20487/org/w3c/css/parser/analyzer

Modified Files:
	CssParser.java CssParser.jj CssParserConstants.java 
	CssParserTokenManager.java ParseException.java 
	SimpleCharStream.java Token.java TokenMgrError.java 
Log Message:
added q unit (absolute length) per css3-values edcopy http://dev.w3.org/csswg/css-values-3/ added calc() parsing, more to be done on type checking...

--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.java	2013/01/10 11:19:12	1.94
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.java	2015/05/18 08:52:37	1.95
@@ -1,3 +1,4 @@
+/* CssParser.java */
 /* Generated By:JavaCC: Do not edit this line. CssParser.java */
 package org.w3c.css.parser.analyzer;
 
@@ -75,7 +76,7 @@
  * A CSS3 parser  
  *
  * @author Philippe Le Hegaret and Sijtsche Smeman
- * @version $Revision: 1.94 $
+ * @version $Revision: 1.95 $
  */
 public abstract class CssParser implements CssParserConstants {
 
@@ -145,7 +146,7 @@
     /**
      * Set the attribute mediaDeclaration
      *
-     * @param mediaDeclaration indicator if in a media expression list or not
+     * @param mediadeclaration indicator if in a media expression list or not
      */
     public void setMediaDeclaration(boolean mediadeclaration) {
         this.mediaDeclaration = mediadeclaration;
@@ -222,7 +223,7 @@
      *
      * @param ident  The ident for this at-rule (for example: 'font-face')
      * @param string The string associate to this at-rule
-     * @see          org.w3c.css.parser.Analyzer.Couple
+     * @see          org.w3c.css.parser.analyzer.Couple
      */
     public abstract void handleAtRule(String ident, String string);
 
@@ -250,7 +251,7 @@
      *
      * @return           <code>null</code>or a property
      * 
-     * @see              org.w3c.css.css.CssProperty
+     * @see              org.w3c.css.properties.css.CssProperty
      */
     public abstract CssProperty handleDeclaration(String property,
                                                   CssExpression values,
@@ -260,16 +261,16 @@
     /**
      * Assign an expression to a mediafeature.
      * This function create a new mediafeature
-     * with <code>featureName</code> and assign to it the expression.
+     * with <code>mediaFeature</code> and assign to it the expression.
      * <p>
      * A subclass must provide an implementation of this method.
      *
-     * @param  featureName  the name of the media feature
-     * @param  expr    the expression representation of values
+     * @param  mediaFeature  the name of the media feature
+     * @param  expr          the expression representation of values
      *
      * @return           <code>null</code>or a property
      *
-     * @see              org.w3c.css.css.CssProperty
+     * @see              org.w3c.css.properties.css.CssProperty
      */
     public abstract MediaFeature handleMediaFeature(AtRuleMedia rule,
                                                     String mediaFeature,
@@ -309,7 +310,7 @@
     /**
      * Set the URL of the style sheet.
      *
-     * @param URL The URL for the style sheet
+     * @param url The URL for the style sheet
      */
     public final void setURL(URL url) {
         this.url = url;
@@ -430,41 +431,44 @@
  *
  * @exception ParseException exception during the parse
  */
-  final public void parserUnit() throws ParseException {
-    Token n = null;
+  final public void parserUnit() throws ParseException {Token n = null;
     try {
       label_1:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case HTMLSTARTTAG:
-        case HTMLENDTAG:
+        case HTMLENDTAG:{
           ;
           break;
+          }
         default:
           jj_la1[0] = jj_gen;
           break label_1;
         }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case HTMLSTARTTAG:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case HTMLSTARTTAG:{
           n = jj_consume_token(HTMLSTARTTAG);
           break;
-        case HTMLENDTAG:
+          }
+        case HTMLENDTAG:{
           n = jj_consume_token(HTMLENDTAG);
           break;
+          }
         default:
           jj_la1[1] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
-            addError (
+addError (
 new ParseException(ac.getMsg().getString("generator.dontmixhtml")), n.image);
       }
       label_2:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case CHARSET_SYM:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case CHARSET_SYM:{
           ;
           break;
+          }
         default:
           jj_la1[2] = jj_gen;
           break label_2;
@@ -473,26 +477,30 @@
       }
       label_3:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
         case S:
         case CDO:
-        case CDC:
+        case CDC:{
           ;
           break;
+          }
         default:
           jj_la1[3] = jj_gen;
           break label_3;
         }
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case S:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case S:{
           jj_consume_token(S);
           break;
-        case CDO:
+          }
+        case CDO:{
           jj_consume_token(CDO);
           break;
-        case CDC:
+          }
+        case CDC:{
           jj_consume_token(CDC);
           break;
+          }
         default:
           jj_la1[4] = jj_gen;
           jj_consume_token(-1);
@@ -501,10 +509,11 @@
       }
       label_4:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case IMPORT_SYM:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case IMPORT_SYM:{
           ;
           break;
+          }
         default:
           jj_la1[5] = jj_gen;
           break label_4;
@@ -514,10 +523,11 @@
       }
       label_5:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case NAMESPACE_SYM:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case NAMESPACE_SYM:{
           ;
           break;
+          }
         default:
           jj_la1[6] = jj_gen;
           break label_5;
@@ -528,13 +538,12 @@
       afterImportDeclaration();
       jj_consume_token(0);
     } catch (TokenMgrError err) {
-   addError (new ParseException(ac.getMsg().getString("generator.unrecognize")),
+addError (new ParseException(ac.getMsg().getString("generator.unrecognize")),
              err.getMessage());
     }
   }
 
-  final public void charset() throws ParseException {
-    Token n = null;
+  final public void charset() throws ParseException {Token n = null;
     Token charsetToken = null;
     Token space1Token = null;
     Token space2Token = null;
@@ -545,24 +554,26 @@
       charsetToken = jj_consume_token(CHARSET_SYM);
       label_6:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case S:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case S:{
           ;
           break;
+          }
         default:
           jj_la1[7] = jj_gen;
           break label_6;
         }
         space1Token = jj_consume_token(S);
-                                                       nb_S++;
+nb_S++;
       }
       n = jj_consume_token(STRING);
       label_7:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case S:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case S:{
           ;
           break;
+          }
         default:
           jj_la1[8] = jj_gen;
           break label_7;
@@ -570,7 +581,7 @@
         space2Token = jj_consume_token(S);
       }
       semicolonToken = jj_consume_token(SEMICOLON);
-                if (charsetdeclared && !reinited) {
+if (charsetdeclared && !reinited) {
                     {if (true) throw new ParseException(
                                      ac.getMsg().getString("parser.charset"));}
                 }
@@ -613,7 +624,7 @@
                     reinited = false;
                 }
     } catch (Exception e) {
-        String skip = charsetToken +
+String skip = charsetToken +
             ((space1Token == null) ? "" : space1Token.image) +
             n +
             ((space2Token == null) ? "" : space2Token.image) +
@@ -622,12 +633,11 @@
     }
   }
 
-  final public void afterImportDeclaration() throws ParseException {
- String ret;
+  final public void afterImportDeclaration() throws ParseException {String ret;
     label_8:
     while (true) {
       ;
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case IDENT:
       case HASHIDENT:
       case HASH:
@@ -645,35 +655,43 @@
       case PSEUDOELEMENT_SYM:
       case CLASS:
       case FUNCTIONNOT:
-      case 100:
+      case 102:{
         ruleSet();
         break;
-      case MEDIA_SYM:
+        }
+      case MEDIA_SYM:{
         media();
         break;
-      case PAGE_SYM:
+        }
+      case PAGE_SYM:{
         page();
         break;
-      case FONT_FACE_SYM:
+        }
+      case FONT_FACE_SYM:{
         fontFace();
         break;
-      case KEYFRAMES_SYM:
+        }
+      case KEYFRAMES_SYM:{
         keyframes();
         break;
-      case PREF_SYM:
+        }
+      case PREF_SYM:{
         preference();
         break;
-      case COLOR_PROFILE:
+        }
+      case COLOR_PROFILE:{
         colorprofile();
         break;
-      case PHONETIC_ALPHABET_SYM:
+        }
+      case PHONETIC_ALPHABET_SYM:{
         phoneticAlphabet();
         break;
+        }
       default:
         jj_la1[9] = jj_gen;
         ret = skipStatement();
-          if ((ret == null) || (ret.length() == 0)) {
-                {if (true) return;}
+if ((ret == null) || (ret.length() == 0)) {
+                {if ("" != null) return;}
             }
           // quite ugly but necessary to avoid probably a lot of changes in the
           // grammar, still having a beautiful error message
@@ -698,26 +716,30 @@
   final public void ignoreStatement() throws ParseException {
     label_9:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
       case CDO:
       case CDC:
-      case ATKEYWORD:
+      case ATKEYWORD:{
         ;
         break;
+        }
       default:
         jj_la1[10] = jj_gen;
         break label_9;
       }
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case CDO:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case CDO:{
         jj_consume_token(CDO);
         break;
-      case CDC:
+        }
+      case CDC:{
         jj_consume_token(CDC);
         break;
-      case ATKEYWORD:
+        }
+      case ATKEYWORD:{
         atRuleDeclaration();
         break;
+        }
       default:
         jj_la1[11] = jj_gen;
         jj_consume_token(-1);
@@ -725,10 +747,11 @@
       }
       label_10:
       while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case S:
+        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+        case S:{
           ;
           break;
+          }
         default:
           jj_la1[12] = jj_gen;
           break label_10;
@@ -738,8 +761,7 @@
     }
   }
 
-  final public void namespaceDeclaration() throws ParseException {
-    Token n=null;
+  final public void namespaceDeclaration() throws ParseException {Token n=null;
     Token v=null;
     boolean is_url; /* for formatting */
     String nsname;
@@ -748,26 +770,28 @@
     jj_consume_token(NAMESPACE_SYM);
     label_11:
     while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case S:
+      switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+      case S:{
         ;
         break;
+        }

[4229 lines skipped]
--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.jj	2013/06/12 09:51:00	1.94
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParser.jj	2015/05/18 08:52:37	1.95
@@ -3,7 +3,7 @@
  * (c) COPYRIGHT MIT and INRIA, 1997.
  * Please first read the full copyright statement in file COPYRIGHT.html
  *
- * $Id: CssParser.jj,v 1.94 2013/06/12 09:51:00 ylafon Exp $
+ * $Id: CssParser.jj,v 1.95 2015/05/18 08:52:37 ylafon Exp $
  *
  */
 
@@ -95,7 +95,7 @@
  * A CSS3 parser  
  *
  * @author Philippe Le Hegaret and Sijtsche Smeman
- * @version $Revision: 1.94 $
+ * @version $Revision: 1.95 $
  */
 public abstract class CssParser {
 
@@ -165,7 +165,7 @@
     /**
      * Set the attribute mediaDeclaration
      *
-     * @param mediaDeclaration indicator if in a media expression list or not
+     * @param mediadeclaration indicator if in a media expression list or not
      */
     public void setMediaDeclaration(boolean mediadeclaration) {
         this.mediaDeclaration = mediadeclaration;
@@ -242,7 +242,7 @@
      *
      * @param ident  The ident for this at-rule (for example: 'font-face')
      * @param string The string associate to this at-rule
-     * @see          org.w3c.css.parser.Analyzer.Couple
+     * @see          org.w3c.css.parser.analyzer.Couple
      */  
     public abstract void handleAtRule(String ident, String string);
 
@@ -270,7 +270,7 @@
      *
      * @return           <code>null</code>or a property
      * 
-     * @see              org.w3c.css.css.CssProperty
+     * @see              org.w3c.css.properties.css.CssProperty
      */
     public abstract CssProperty handleDeclaration(String property, 
 						  CssExpression values, 
@@ -280,16 +280,16 @@
     /**
      * Assign an expression to a mediafeature.
      * This function create a new mediafeature
-     * with <code>featureName</code> and assign to it the expression.
+     * with <code>mediaFeature</code> and assign to it the expression.
      * <p>
      * A subclass must provide an implementation of this method.
      *
-     * @param  featureName  the name of the media feature
-     * @param  expr    the expression representation of values
+     * @param  mediaFeature  the name of the media feature
+     * @param  expr          the expression representation of values
      *
      * @return           <code>null</code>or a property
      *
-     * @see              org.w3c.css.css.CssProperty
+     * @see              org.w3c.css.properties.css.CssProperty
      */
     public abstract MediaFeature handleMediaFeature(AtRuleMedia rule,
                                                     String mediaFeature,
@@ -329,7 +329,7 @@
     /**
      * Set the URL of the style sheet.
      *
-     * @param URL The URL for the style sheet
+     * @param url The URL for the style sheet
      */
     public final void setURL(URL url) {
 	this.url = url;
@@ -567,6 +567,7 @@
                    | <NUM> "vmax" >
   | <ABSOLUTLENGTH : <NUM> "cm"
                    | <NUM> "mm"
+                   | <NUM> "q"
                    | <NUM> "in"
                    | <NUM> "pt"
                    | <NUM> "pc"
@@ -647,17 +648,13 @@
 <DEFAULT>
 TOKEN [IGNORE_CASE] :
 {
-    < FUNCTIONLANG : "lang(" >
+    < FUNCTIONLANG  : "lang(" >
+    | <FUNCTIONNOT  : ":not(" >
+    | <FUNCTIONCALC : "calc(" >
+    | <FUNCTIONATTR : "attr(" >
 }
 
 <DEFAULT>
-TOKEN [IGNORE_CASE] :
-{
-    < FUNCTIONNOT : ":not(" >
-}
-
-
-<DEFAULT>
     TOKEN :
 {
     < FUNCTION : <IDENT> "(" >
@@ -2435,6 +2432,91 @@
 				UNICODERANGE); }
     ) ( <S> )* )
 }
+
+CssCheckableValue mathcalc() :
+{
+CssCheckableValue v;
+}
+{
+  ( <FUNCTIONCALC>  ( <S> )* v=mathsum() ( <S> )* ")" ) {
+    return v;
+  }
+}
+
+CssCheckableValue mathsum() :
+{ Token n,o;
+  CssCheckableValue v1 = null;
+  CssCheckableValue v2 = null;
+}
+{   // product [ S+ [ "+" | "-" ] S+ product ]*;
+   ( v1=mathproduct() ( LOOKAHEAD(1) ( <S> )+ ( o="+" | o="-" ) ( <S> )+ v2=mathproduct() {
+                      // TODO add stuff, type checking etc...
+                     }
+                    )*
+ ) { return v1; }
+}
+
+
+CssCheckableValue mathproduct() :
+{ Token n,o;
+  CssCheckableValue v1 = null;
+  CssCheckableValue v2 = null;
+}
+{
+
+ ( v1=mathunit()  ( LOOKAHEAD(1) ( <S> )* (  ( o="*" ( <S> )* v2=mathunit() )
+                             | ( o="/" ( <S> )* n=<NUMBER> { v2 = new CssNumber(); v2.set(n.image, ac); } )
+                          ) { /* TODO check */
+                              if ("/".equals(o.image)) {
+                                  BigDecimal p = (BigDecimal) v1.get();
+                                  BigDecimal d = (BigDecimal) v2.get();
+                                  if (BigDecimal.ZERO.equals(d)) {
+                                  // TODO throw divided by zero error
+                                  }
+                                  p.divide(d);
+                                  v1.setValue(p);
+                              } else {
+                                  if ((v1.getType() != CssTypes.CSS_NUMBER) &&
+                                      (v2.getType() != CssTypes.CSS_NUMBER)) {
+                                  // TODO one operand must be a number
+                                  }
+                                  BigDecimal p = (BigDecimal) v1.get();
+                                  BigDecimal d = (BigDecimal) v2.get();
+                                  p.multiply(d);
+                                  if (v1.getType() == CssTypes.CSS_NUMBER) {
+                                     v2.setValue(p);
+                                     v1 = v2;
+                                  } else {
+                                     v1.setValue(p);
+                                  }
+                              }
+                          }
+                  )*
+ ) { return v1; }
+}
+
+CssCheckableValue mathunit() :
+{ Token n;
+CssCheckableValue v = null;
+}
+{
+( n=<NUMBER> { v = new CssNumber(); v.set(n.image, ac); }
+ | n=<PERCENTAGE> { v = new CssPercentage(); v.set(n.image, ac); }
+     | n=<RELFONTLENGTH> { v = new CssLength(); v.set(n.image, ac); }
+     | n=<RELVIEWLENGTH> { v = new CssLength(); v.set(n.image, ac); }
+     | n=<ABSOLUTLENGTH> { v = new CssLength(); v.set(n.image, ac); }
+     | n=<ANGLE> { v = new CssAngle(); v.set(n.image, ac); }
+     | n=<TIME> { v = new CssTime(); v.set(n.image, ac); }
+     | n=<FREQ> { v= new CssFrequency(); v.set(n.image, ac); }
+     | ( "(" ( <S> )* v=mathsum() ( <S> )* ")" )
+     | v=mathcalc()
+   // | v=attr()
+     ) {
+     return v;
+     }
+}
+
+
 /**
  * @exception ParseException exception during the parse
  */
--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParserConstants.java	2013/01/10 11:19:13	1.25
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParserConstants.java	2015/05/18 08:52:37	1.26
@@ -203,11 +203,15 @@
   /** RegularExpression Id. */
   int FUNCTIONNOT = 96;
   /** RegularExpression Id. */
-  int FUNCTION = 97;
+  int FUNCTIONCALC = 97;
   /** RegularExpression Id. */
-  int HTMLSTARTTAG = 98;
+  int FUNCTIONATTR = 98;
   /** RegularExpression Id. */
-  int HTMLENDTAG = 99;
+  int FUNCTION = 99;
+  /** RegularExpression Id. */
+  int HTMLSTARTTAG = 100;
+  /** RegularExpression Id. */
+  int HTMLENDTAG = 101;
 
   /** Lexical state. */
   int DEFAULT = 0;
@@ -311,10 +315,13 @@
     "<CLASS>",
     "\"lang(\"",
     "\":not(\"",
+    "\"calc(\"",
+    "\"attr(\"",
     "<FUNCTION>",
     "<HTMLSTARTTAG>",
     "<HTMLENDTAG>",
     "\"|\"",
+    "\"+\"",
   };
 
 }
--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParserTokenManager.java	2013/06/12 09:51:00	1.51
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/CssParserTokenManager.java	2015/05/18 08:52:37	1.52
@@ -1,3 +1,4 @@
+/* CssParserTokenManager.java */
 /* Generated By:JavaCC: Do not edit this line. CssParserTokenManager.java */
 package org.w3c.css.parser.analyzer;
 import java.io.InputStream;
@@ -69,8 +70,7 @@
 import org.w3c.css.selectors.attributes.AttributeSuffix;
 
 /** Token Manager. */
-public class CssParserTokenManager implements CssParserConstants
-{
+@SuppressWarnings("unused")public class CssParserTokenManager implements CssParserConstants {
 
   /** Debug output. */
   public  java.io.PrintStream debugStream = System.out;
@@ -82,8 +82,7 @@
    jjmatchedPos = pos;
    return pos + 1;
 }
-private int jjMoveStringLiteralDfa0_0()
-{
+private int jjMoveStringLiteralDfa0_0(){
    switch(curChar)
    {
       case 36:
@@ -97,6 +96,9 @@
       case 42:
          jjmatchedKind = 48;
          return jjMoveStringLiteralDfa1_0(0x20000000000L, 0x0L);
+      case 43:
+         jjmatchedKind = 103;
+         return jjMoveNfa_0(7, 0);
       case 45:
          jjmatchedKind = 43;
          return jjMoveStringLiteralDfa1_0(0x800000L, 0x0L);
@@ -129,12 +131,15 @@
          return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L);
       case 65:
       case 97:
-         return jjMoveStringLiteralDfa1_0(0x80000000L, 0x0L);
+         return jjMoveStringLiteralDfa1_0(0x80000000L, 0x400000000L);
+      case 67:
+      case 99:
+         return jjMoveStringLiteralDfa1_0(0x0L, 0x200000000L);
       case 76:
       case 108:
          return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000L);
       case 124:
-         jjmatchedKind = 100;
+         jjmatchedKind = 102;
          return jjMoveStringLiteralDfa1_0(0x2000000L, 0x0L);
       case 125:
          jjmatchedKind = 38;
@@ -143,8 +148,7 @@
          return jjMoveNfa_0(7, 0);
    }
 }
-private int jjMoveStringLiteralDfa1_0(long active0, long active1)
-{
+private int jjMoveStringLiteralDfa1_0(long active0, long active1){
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
    return jjMoveNfa_0(7, 0);
@@ -186,7 +190,7 @@
          break;
       case 65:
       case 97:
-         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x80000000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x280000000L);
       case 66:
       case 98:
          return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000L);
@@ -219,14 +223,13 @@
          return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x4000L);
       case 84:
       case 116:
-         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400002000L);
       default :
          break;
    }
    return jjMoveNfa_0(7, 1);
 }
-private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
-{
+private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1){
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 1);
    try { curChar = input_stream.readChar(); }
@@ -264,6 +267,9 @@
       case 73:
       case 105:
          return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x4000L);
+      case 76:
+      case 108:
+         return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x200000000L);
       case 77:
       case 109:
          return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20L);
@@ -276,13 +282,15 @@
       case 82:
       case 114:
          return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800L);
+      case 84:
+      case 116:
+         return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x400000000L);
       default :
          break;
    }
    return jjMoveNfa_0(7, 2);
 }
-private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1)
-{
+private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1){
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 2);
    try { curChar = input_stream.readChar(); }
@@ -301,6 +309,9 @@
       case 65:
       case 97:
          return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10L);
+      case 67:
+      case 99:
+         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x200000000L);
       case 68:
       case 100:
          return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x80L);
@@ -333,6 +344,9 @@
             jjmatchedPos = 3;
          }
          return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x20L);
+      case 82:
+      case 114:
+         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400000000L);
       case 84:
       case 116:
          return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100008000L);
@@ -347,8 +361,7 @@
    }
    return jjMoveNfa_0(7, 3);
 }
-private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1)
-{
+private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1){
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 3);
    try { curChar = input_stream.readChar(); }
@@ -368,6 +381,16 @@
             jjmatchedKind = 96;
             jjmatchedPos = 4;
          }
+         else if ((active1 & 0x200000000L) != 0L)
+         {
+            jjmatchedKind = 97;
+            jjmatchedPos = 4;
+         }
+         else if ((active1 & 0x400000000L) != 0L)
+         {
+            jjmatchedKind = 98;
+            jjmatchedPos = 4;
+         }
          break;
       case 69:
       case 101:
@@ -408,8 +431,7 @@
    }
    return jjMoveNfa_0(7, 4);
 }
-private int jjMoveStringLiteralDfa5_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa5_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 4);
    try { curChar = input_stream.readChar(); }
@@ -453,8 +475,7 @@
    }
    return jjMoveNfa_0(7, 5);
 }
-private int jjMoveStringLiteralDfa6_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa6_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 5);
    try { curChar = input_stream.readChar(); }
@@ -501,8 +522,7 @@
    }
    return jjMoveNfa_0(7, 6);
 }
-private int jjMoveStringLiteralDfa7_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa7_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 6);
    try { curChar = input_stream.readChar(); }
@@ -547,8 +567,7 @@
    }
    return jjMoveNfa_0(7, 7);
 }
-private int jjMoveStringLiteralDfa8_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa8_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 7);
    try { curChar = input_stream.readChar(); }
@@ -574,8 +593,7 @@
    }
    return jjMoveNfa_0(7, 8);
 }
-private int jjMoveStringLiteralDfa9_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa9_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 8);
    try { curChar = input_stream.readChar(); }
@@ -618,8 +636,7 @@
    }
    return jjMoveNfa_0(7, 9);
 }
-private int jjMoveStringLiteralDfa10_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa10_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 9);
    try { curChar = input_stream.readChar(); }
@@ -647,8 +664,7 @@
    }
    return jjMoveNfa_0(7, 10);
 }
-private int jjMoveStringLiteralDfa11_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa11_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 10);
    try { curChar = input_stream.readChar(); }
@@ -668,8 +684,7 @@
    }
    return jjMoveNfa_0(7, 11);
 }
-private int jjMoveStringLiteralDfa12_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa12_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 11);
    try { curChar = input_stream.readChar(); }
@@ -689,8 +704,7 @@
    }
    return jjMoveNfa_0(7, 12);
 }
-private int jjMoveStringLiteralDfa13_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa13_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 12);
    try { curChar = input_stream.readChar(); }
@@ -715,8 +729,7 @@
    }
    return jjMoveNfa_0(7, 13);
 }
-private int jjMoveStringLiteralDfa14_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa14_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 13);
    try { curChar = input_stream.readChar(); }
@@ -733,8 +746,7 @@
    }
    return jjMoveNfa_0(7, 14);
 }
-private int jjMoveStringLiteralDfa15_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa15_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 14);
    try { curChar = input_stream.readChar(); }
@@ -751,8 +763,7 @@
    }
    return jjMoveNfa_0(7, 15);
 }
-private int jjMoveStringLiteralDfa16_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa16_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 15);
    try { curChar = input_stream.readChar(); }
@@ -769,8 +780,7 @@
    }
    return jjMoveNfa_0(7, 16);
 }
-private int jjMoveStringLiteralDfa17_0(long old1, long active1)
-{
+private int jjMoveStringLiteralDfa17_0(long old1, long active1){
    if (((active1 &= old1)) == 0L)
       return jjMoveNfa_0(7, 16);
    try { curChar = input_stream.readChar(); }
@@ -808,7 +818,7 @@
    catch(java.io.IOException e) { throw new Error("Internal Error"); }
    curPos = 0;
    int startsAt = 0;
-   jjnewStateCnt = 756;
+   jjnewStateCnt = 761;
    int i = 1;
    jjstateSet[0] = startState;
    int kind = 0x7fffffff;
@@ -828,36 +838,36 @@
                   {
                      if (kind > 65)
                         kind = 65;
-                     jjCheckNAddStates(0, 96);
+                     { jjCheckNAddStates(0, 100); }
                   }
                   else if ((0x100003600L & l) != 0L)
                   {
                      if (kind > 21)
                         kind = 21;
-                     jjCheckNAddStates(97, 116);
+                     { jjCheckNAddStates(101, 120); }
                   }
                   else if (curChar == 46)
-                     jjCheckNAddStates(117, 142);
+                     { jjCheckNAddStates(121, 147); }
                   else if (curChar == 35)
-                     jjCheckNAddStates(143, 147);
+                     { jjCheckNAddStates(148, 152); }
                   else if (curChar == 45)
-                     jjAddStates(148, 151);
+                     { jjAddStates(153, 156); }
                   else if (curChar == 39)
                   {
                      if (kind > 34)
                         kind = 34;
-                     jjCheckNAddStates(152, 156);
+                     { jjCheckNAddStates(157, 161); }
                   }
                   else if (curChar == 34)
                   {
                      if (kind > 34)
                         kind = 34;
-                     jjCheckNAddStates(157, 161);
+                     { jjCheckNAddStates(162, 166); }
                   }
                   else if (curChar == 60)
                      jjstateSet[jjnewStateCnt++] = 189;
                   else if (curChar == 33)
-                     jjCheckNAddTwoStates(20, 37);
+                     { jjCheckNAddTwoStates(20, 37); }
                   else if (curChar == 44)
                   {
                      if (kind > 29)
@@ -876,31 +886,31 @@
                   else if (curChar == 47)
                      jjstateSet[jjnewStateCnt++] = 0;
                   if (curChar == 60)
-                     jjCheckNAddStates(162, 165);
+                     { jjCheckNAddStates(167, 170); }
                   break;
                case 0:
                   if (curChar == 42)
-                     jjCheckNAddTwoStates(1, 2);
+                     { jjCheckNAddTwoStates(1, 2); }
                   break;
                case 1:
                   if ((0xfffffbffffffffffL & l) != 0L)
-                     jjCheckNAddTwoStates(1, 2);
+                     { jjCheckNAddTwoStates(1, 2); }
                   break;
                case 2:
                   if (curChar == 42)
-                     jjCheckNAddStates(166, 168);
+                     { jjCheckNAddStates(171, 173); }
                   break;
                case 3:
                   if ((0xffff7bffffffffffL & l) != 0L)
-                     jjCheckNAddTwoStates(4, 5);
+                     { jjCheckNAddTwoStates(4, 5); }
                   break;
                case 4:
                   if ((0xfffffbffffffffffL & l) != 0L)
-                     jjCheckNAddTwoStates(4, 5);
+                     { jjCheckNAddTwoStates(4, 5); }
                   break;
                case 5:
                   if (curChar == 42)
-                     jjCheckNAddStates(169, 171);
+                     { jjCheckNAddStates(174, 176); }
                   break;
                case 6:
                   if (curChar == 47 && kind > 1)
@@ -920,39 +930,39 @@
                   break;
                case 19:
                   if (curChar == 33)
-                     jjCheckNAddTwoStates(20, 37);
+                     { jjCheckNAddTwoStates(20, 37); }
                   break;
                case 20:
                   if ((0x100003600L & l) != 0L)
-                     jjCheckNAddStates(172, 174);
+                     { jjCheckNAddStates(177, 179); }

[6343 lines skipped]
--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/ParseException.java	2011/01/12 15:01:56	1.9
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/ParseException.java	2015/05/18 08:52:38	1.10
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 6.0 */
 /* JavaCCOptions:KEEP_LINE_COL=null */
 package org.w3c.css.parser.analyzer;
 
@@ -184,4 +184,4 @@
    }
 
 }
-/* JavaCC - OriginalChecksum=a911dc9423fc4ae479022a5ae7f747f3 (do not edit this line) */
+/* JavaCC - OriginalChecksum=6b814b86a7f83d7302418ed01d10c383 (do not edit this line) */
--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/SimpleCharStream.java	2009/12/17 16:08:12	1.6
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/SimpleCharStream.java	2015/05/18 08:52:38	1.7
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 6.0 */
 /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 package org.w3c.css.parser.analyzer;
 
@@ -31,9 +31,10 @@
   protected int maxNextCharInd = 0;
   protected int inBuf = 0;
   protected int tabSize = 8;
+  protected boolean trackLineColumn = false;
 
-  protected void setTabSize(int i) { tabSize = i; }
-  protected int getTabSize(int i) { return tabSize; }
+  public void setTabSize(int i) { tabSize = i; }
+  public int getTabSize() { return tabSize; }
 
 
   protected void ExpandBuff(boolean wrapAround)
@@ -467,5 +468,7 @@
     column = bufcolumn[j];
   }
 
+  boolean getTrackLineColumn() { return trackLineColumn; }
+  void setTrackLineColumn(boolean trackLineColumn) { this.trackLineColumn = trackLineColumn; }
 }
-/* JavaCC - OriginalChecksum=f1f536b0a95e735e1ffa2f33fb15522a (do not edit this line) */
+/* JavaCC - OriginalChecksum=e2781e1a6e95beb7efed54cdfe328ade (do not edit this line) */
--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/Token.java	2009/12/17 16:08:12	1.4
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/Token.java	2015/05/18 08:52:38	1.5
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. Token.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. Token.java Version 6.0 */
 /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 package org.w3c.css.parser.analyzer;
 
@@ -128,4 +128,4 @@
   }
 
 }
-/* JavaCC - OriginalChecksum=4e7b49f4432ef3961fd251097f1cb491 (do not edit this line) */
+/* JavaCC - OriginalChecksum=7af9a5dffce9b3c54b5b20fb3ae238c7 (do not edit this line) */
--- /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/TokenMgrError.java	2009/12/17 16:08:12	1.7
+++ /sources/public/2002/css-validator/org/w3c/css/parser/analyzer/TokenMgrError.java	2015/05/18 08:52:38	1.8
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 6.0 */
 /* JavaCCOptions: */
 package org.w3c.css.parser.analyzer;
 
@@ -144,4 +144,4 @@
     this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
   }
 }
-/* JavaCC - OriginalChecksum=cc02fb98267e0c6f3b51b8c9f914dd15 (do not edit this line) */
+/* JavaCC - OriginalChecksum=a0e8995d1ac9564645c0d60018a41934 (do not edit this line) */

Received on Monday, 18 May 2015 08:52:40 UTC