26 explicit ParserPosition(
const std::string* f =
nullptr, uint32_t l = 0, uint32_t c = 0)
29 inline void initialize(
const std::string* fn =
nullptr, uint32_t l = 0, uint32_t c = 0) {
40 inline void lines(uint32_t count = 1) {
110 inline void initialize(
const std::string* f =
nullptr, uint32_t l = 0, uint32_t c = 0) {
127 inline void lines(uint32_t count = 1) {
147 os <<
'-' << loc.
end.
line <<
'.' << end_col;
149 os <<
'-' << end_col;
std::ostream & operator<<(std::ostream &os, const ParserPosition &pos)
Definition ParserPosition.h:66
ParserPosition & operator+=(ParserPosition &lhs, uint32_t rhs)
Definition ParserPosition.h:57
ParserPosition operator+(ParserPosition lhs, uint32_t rhs)
Definition ParserPosition.h:62
Represents a range in a source file, from a start position to an end position.
Definition ParserPosition.h:78
void step()
Reset initial position to the end position.
Definition ParserPosition.h:119
ParserPosition begin
Definition ParserPosition.h:79
void initialize(const std::string *f=nullptr, uint32_t l=0, uint32_t c=0)
Definition ParserPosition.h:110
ParserLocation(const ParserPosition &b, const ParserPosition &e)
Construct location from 'begin' to 'end' positions.
Definition ParserPosition.h:88
ParserLocation(const ParserPosition &p=ParserPosition())
Construct a 0-width location at position 'p'.
Definition ParserPosition.h:96
void columns(uint32_t count=1)
Definition ParserPosition.h:123
ParserPosition end
Definition ParserPosition.h:80
ParserLocation(const std::string *f, uint32_t l=0, uint32_t c=0)
Construct a 0-width location at file 'f', line 'l', column 'c'.
Definition ParserPosition.h:107
void lines(uint32_t count=1)
Definition ParserPosition.h:127
Represents a single point in a source file.
Definition ParserPosition.h:21
void initialize(const std::string *fn=nullptr, uint32_t l=0, uint32_t c=0)
Definition ParserPosition.h:29
uint32_t column
Definition ParserPosition.h:24
const std::string * filename
Definition ParserPosition.h:22
uint32_t line
Definition ParserPosition.h:23
ParserPosition(const std::string *f=nullptr, uint32_t l=0, uint32_t c=0)
Definition ParserPosition.h:26
void lines(uint32_t count=1)
Increment the line number by count, resetting the column to 0.
Definition ParserPosition.h:40
void columns(uint32_t count=1)
Increment the column number by count.
Definition ParserPosition.h:52