anchor.diff:    ("string" (return (values 'string 'string)))
     ("default" (return (values 'default 'default)))
     ("bool" (return (values 'bool 'bool)))
  +  ("opaque" (return (values 'opaque 'opaque)))
  +  ("case" (return (values 'case 'case)))
  +  ("default" (return (values 'default 'default)))
  +  ("program" (return (values 'program 'program)))
  +  ("version" (return (values 'version 'version)))
     ("[-]?[0-9]+" (return (values 'constant (parse-integer $@))))
  -  ("\\w+" (return (values 'identifier $@)))
  +  ("\\w+" (return (values 'identifier (alexandria:symbolicate (string-upcase $@)))))
     ("/\\*([\\S\\s]*)\\*/" (return (values 'block-comment $1)))
     ("//(.*)\\\n" (return (values 'line-comment $1))))
              
  
positive.code: 
  
  (define-parser *xdr-parser*
    (:start-symbol definition)
    (:terminals (|;| |{| |}| |=| |(| |)| |,|
                     identifier constant 
                     struct union enum typedef const default
                     unsigned int hyper float double bool void string opaque))
    (:precedence ((:left |<| |;|) (:left |[| |;|)))
  
    (definition 
      (type-def (lambda (x) (list x)))
      (constant-def (lambda (x) (list x)))
      (definition type-def (lambda (a b) (append a (list b))))
      (definition constant-def (lambda (a b) (append a (list b)))))
    
    (value 
     constant 
     identifier)
  
    (constant-def 
     (const identifier |=| constant |;|
            (lambda (c identifier e const term)
              (declare (ignore c e term))
              `(defconstant ,(alexandria:symbolicate '+ (string-upcase identifier) '+) ,const))))
  
    (type-specifier 
     (unsigned int (lambda (u i) (declare (ignore u i)) :uint32))
  
negative.code:   ("\\]" (return (values '|]| '|]|)))
    ("\\(" (return (values '|(| '|(|)))
    ("\\)" (return (values '|)| '|)|)))
    ("\\*" (return (values '|*| '|*|)))
    ("struct" (return (values 'struct 'struct)))
    ("enum" (return (values 'enum 'enum)))
    ("typedef" (return (values 'typedef 'typedef)))
  