+------------------------------------------------+
|                   D2 Parser                    |
|                                                |
+------------------------------------------------+
|+reader                           io.RuneReader |
|+readerPos                       d2ast.Position |
|-lookahead                               []rune |
+------------------------------------------------+
|#peekn(n int)              (s string, eof bool) |
|+peek()                      (r rune, eof bool) |
|+rewind()                                  void |
|+commit()                                  void |
|                                                |
+------------------------------------------------+
