value type: accept "->" in type tags
authorAkim Demaille <akim@lrde.epita.fr>
Thu, 21 Feb 2013 14:58:05 +0000 (15:58 +0100)
committerAkim Demaille <akim@lrde.epita.fr>
Tue, 9 Apr 2013 12:07:51 +0000 (14:07 +0200)
commitcb8d8bb9b6aec5b873e93d0bab91f0a4ab29d9b0
tree4e6dfd3eaa159d57f60cc2cf991adc9eac462619
parente52ddf820b9c9c123e4f3c3799fc1fb9b0a54c09
value type: accept "->" in type tags

Provide a means to dereference pointers when defining tags.  One
example could be:

  %code requires
  {
    typedef struct ListElementType
    {
      union value
      {
        int intVal;
        float floatVal;
        char* charptrVal;
      } value;

      struct ListElementType* next;
    } ListElementType;
  }

  %union
  {
    ListElementType* list;
  }

  %token <list->value.charptrVal> STRING
  %token <list->value.intVal> INTEGER
  %token <list->value.floatVal> REAL
  %type <list> ElementList LiteralType

* src/scan-code.l, src/scan-gram.l: Accept "->" in tags.
* tests/types.at: Add more test cases to cover this case.
src/scan-code.l
src/scan-gram.l
tests/types.at