Reminded by the mention of automove in the previous thread,  I agree it works 
really well, though for one of my uses I needed to add the move operators to my 
local C++ skeleton.   

So I was happy to see these were recently added in the bison repo: "This will 
be used in glr2.cc, which requires C++11.", but then sad to see them explicitly 
hidden from the other skeletons:  "don't publish move ctor to lalr1.cc".    
Shouldn't the C++ version requirement ideally be determined in part from the 
user semantic type definition?  It seems a reasonable thing for a user to want 
a move-only type with an LALR1 grammar?  Or is the lalr.cc skeleton somewhat 
frozen/obsolescent/deprecated now and only GLR is recommended for new code?


Reply via email to