Next: Actions and Locations, Up: Tracking Locations [Contents][Index]
Defining a data type for locations is much simpler than for semantic values, since all tokens and groupings always use the same type.
You can specify the type of locations by defining a macro called
YYLTYPE, just as you can specify the semantic value type by
defining a YYSTYPE macro (see Value Type).
When YYLTYPE is not defined, Bison uses a default structure type with
four members:
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
When YYLTYPE is not defined, at the beginning of the parsing, Bison
initializes all these fields to 1 for yylloc. To initialize
yylloc with a custom location type (or to chose a different
initialization), use the %initial-action directive. See Performing Actions before Parsing.