You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#include"Skeleton.H"voidSkeleton::visitProgram(Program *program) {} //abstract classvoidSkeleton::visitPrg(Prg *prg)
{
/* Code For Prg Goes Here */visitName_(prg->name_1);
visitName_(prg->name_2);
}
voidSkeleton::visitName(Name p)
{
/* Code for Name Goes Here */
}
...
Note the extra underscore in calls visitName_.
I think the (quite ugly) code implementing the skeleton generator makes the type name from the variable name name_1, but expects only names of the form name_ without trailing number.
The regression, non-compileable Skeleton.C, was introduced during the
fix of #277 in 4fb4116.
CPP/STL respects position tokens, CPP/NoSTL ignores `position`.
The unification of the Skeleton-generators broke cpp-nostl.
Fixed by workarounds that treat position tokens just as tokens when
useSTL == False.
The
--cpp-nostl
backend produces thisSkeleton.C
:Note the extra underscore in calls
visitName_
.I think the (quite ugly) code implementing the skeleton generator makes the type name from the variable name
name_1
, but expects only names of the formname_
without trailing number.bnfc/source/src/BNFC/Backend/CPP/NoSTL/CFtoCVisitSkel.hs
Lines 264 to 272 in e5574db
See also #239 for a similar problem with the C backend.
The text was updated successfully, but these errors were encountered: