[Prev][Next][Index][Thread]

Re: CSS draft 4.0 [Level 2 YACC Spec]




While I'm on the subject of LEX/YACC specs, I don't know if anyone has
tried it, but the level 2 YACC spec in the 4.0 draft is in serious need
of repair.  Besides a variety of typos, the following productions
produce a variety of problems:

1. imports: imports IMPORT url

This rule prevents any rule from applying.  Change to:

   imports: imports IMPORT url | /* empty */;

2. term: length | STRING | HEXCOLOR | NUMBER | IDENT | attref | propref |
         ENVVAR | '(' value ')';

Here propref conflicts with IDENT.  Change to:

   term: length | STRING | HEXCOLOR | NUMBER | IDENT | attref |
         ENVVAR | '(' value ')';

3. op: '+' | '-' | '*' | '/' | INTERPOLATEHI | INTERPOLATELO | /* empty */;

Produces 2 shift/reduce conflicts. Change to:

   op: '+' | '-' | '*' | '/' | INTERPOLATEHI | INTERPOLATELO;

Regards,
Glenn Adams


Follow-Ups: