Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Semantic Actions

Has the form:

l[f]

where f is a function with the signatures:

void f();
void f(Iterator&, Iterator&);
void f(Iterator&, Iterator&, pass_flag&);
void f(Iterator&, Iterator&, pass_flag&, Idtype&);
void f(Iterator&, Iterator&, pass_flag&, Idtype&, Context&);

You can use Boost.Bind to bind member functions. For function objects, the allowed signatures are:

void operator()(unused_type, unused_type, unused_type, unused_type, unused_type) const;
void operator()(Iterator&, Iterator&, unused_type, unused_type, unused_type) const;
void operator()(Iterator&, Iterator&, pass_flag&, unused_type, unused_type) const;
void operator()(Iterator&, Iterator&, pass_flag&, Idtype&, unused_type) const;
void operator()(Iterator&, Iterator&, pass_flag&, Idtype&, Context&) const;

The unused_type is used in the signatures above to signify 'don't care'.

For more information see Lexer Semantic Actions.


PrevUpHomeNext