+ public Location Location {
+ get { return new Location (file, row, column); }
+ }
+
+ public string Value {
+ get { return value; }
+ }
+ }
+
+ public class LocatedTokenBuffer
+ {
+ readonly LocatedToken[] buffer;
+ public int pos;
+
+ public LocatedTokenBuffer ()
+ {
+ buffer = new LocatedToken[0];
+ }
+
+ public LocatedTokenBuffer (LocatedToken[] buffer)
+ {
+ this.buffer = buffer ?? new LocatedToken[0];
+ }
+
+ public LocatedToken Create (SourceFile file, int row, int column)
+ {
+ return Create (null, file, row, column);
+ }
+
+ public LocatedToken Create (string value, SourceFile file, int row, int column)