> On 18 Aug 2016, at 18:07, Min Wang <mingew...@gmail.com> wrote:

> (1) when ListExp was returned up to PROG (e.g: PROG($1)), does it use copy
> constructor? or
> use move constructor if it existed?

A part from translation of the $-variables, the action code is copied verbatim 
to the C++ parser. So do not think move constructors are invoked, since that 
happens in special syntactic context where it is known that a variable will 
perish.

> (2) should I use object ( ListExp)  inside PROG class or  a
> std::unique_ptr inside the PROG to save some copy ? In the latter case,
> how can I initial std::unique_ptr if the passed parameters if a obj?

Don’t use that, because in some cases there may be an implicit $$ = $1, which 
might make it obsolete. Instead use a reference count or a GC, like the Hans 
Boehm one:
  http://www.hboehm.info/gc/



_______________________________________________
help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to