bovine: Bovine Examples

 
 4 Examples
 **********
 
 The rule:
 
      any-symbol: symbol
                ;
 
    is equivalent to
 
      any-symbol: symbol
                  ( $1 )
                ;
 
    which, if it matched the string ‘"A"’, would return
 
      ( "A" )
 
    If this rule were used like this:
 
      %token <punctuation> EQUAL "="
      ...
      assign: any-symbol EQUAL any-symbol
              ( $1 $3 )
            ;
 
    it would match ‘"A=B"’, and return
 
      ( ("A") ("B") )
 
    The letters ‘A’ and ‘B’ come back in lists because ‘any-symbol’ is a
 nonterminal, not an actual lexical element.
 
    To get a better result with nonterminals, use , to splice lists in
 like this:
 
      %token <punctuation> EQUAL "="
      ...
      assign: any-symbol EQUAL any-symbol
              ( ,$1 ,$3 )
            ;
 
    which would return
 
      ( "A" "B" )