1Making a new class, derivative of gen_user
2
3You must declare
4class my_gen::public gen_user {
5  virtual my_gen * memory_alloc() const { return (my_gen *) malloc(sizeof(*this)); }
6};
7and redefine each operator you would like to redefine.
8You must define a constructor taking a gen (it will be of type _COMP most
9certainly) and returning a gen of type _USER with it's _USERptr pointing
10to a * my_gen, make from this constructor a standard unary_function_ptr
11at_my_gen with name my_gen and register it for the lexer
12sym_tab_register("my_gen",at_my_gen);
13so that the user can write something like that
14a:=my_gen(1,2,3)
15