anchor.diff:  ;(iso14977:syntax-abstract "test='ab c',\"g\'night\"|'c','d';")
   ;(iso14977:syntax-abstract "test='a b','c d'|3*('e','f');")
   ;(iso14977:syntax "(* hello *) test='ab c',\"g\'night\"(*test*) | 'c' , 'd';")
  +;(iso14977:syntax "(* hello *) test='ab c',\"g\'night\"(*test*) | 'c' , 'd', {'e'}, ['f'] | 3 * 'q'; test2='b'")
positive.code:         (values (1+ start) (string c))))))
  
  (grammar-rule concatenate-symbol
    (grammar-string ","))
  
  (grammar-rule defining-symbol
    (grammar-string "="))
  
  (grammar-rule definition-separator-symbol
    (grammar-or (grammar-string "|")
                (grammar-string "/")
                (grammar-string "!")))
  
  (grammar-rule end-comment-symbol
    (grammar-string "*)"))
  
negative.code: 
  (grammar-rule optional-sequence
    "see 4.11"
    (grammar-func
     (grammar-and start-option-symbol
                  definitions-list
                  end-option-symbol)
     (lambda (x)
       (list (list :opt (caaadr x))))))
  
  (grammar-rule repeated-sequence
    "see 4.12"
    (grammar-func
     (grammar-and start-repeat-symbol
                  definitions-list
                  end-repeat-symbol)
     (lambda (x)
       (list (list :* (caaadr x))))))
    
  
  (grammar-rule grouped-sequence
    "see 4.13"
  