anchor.diff:            (syntax-abstract vc :start 0))))))
   
   ;; Demos
  -;(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'")+;(iso14977:syntax "(* hello *) test='ab c',\"g\'night\"(*test*) | 'c' , 'd', {'e'}, ['f'] | 3 * 'q'; test2='b'")
  
positive.code: 
  (grammar-rule single-definition
    "see 4.5"
    (grammar-and syntactic-term
                 (grammar-* (grammar-and concatenate-symbol
                                         syntactic-term))))
  
  (grammar-rule definitions-list
    "see 4.4"
    (grammar-and single-definition
                 (grammar-* (grammar-and definition-separator-symbol
                                         single-definition))))
  
  (grammar-rule syntax-rule
    "see 4.3"
    (grammar-and meta-identifier
                 defining-symbol
                 definitions-list
                 terminator-symbol))
  
  (grammar-rule syntax-abstract
    "see 4.2"
    (grammar-and syntax-rule
                 (grammar-* syntax-rule)))
  
  (grammar-rule syntax
    "Full ISO-14977 EBNF syntax"
  
negative.code:                 definitions-list
                  end-repeat-symbol)
     (lambda (x)
       (list (list 'grammar-* (caadr x))))))
    
  
  (grammar-rule grouped-sequence
    "see 4.13"
    (grammar-func
     (grammar-and start-group-symbol
                  definitions-list
                  end-group-symbol)
     (lambda (x)
       (cadr x))))
  
  (grammar-rule empty-sequence
    "see 4.14"
  