[chbot] GCC and recursion
Mark Atherton
markaren1 at xtra.co.nz
Sat Apr 13 19:24:20 BST 2024
Didn't pursue it, found a simpler solution.
Just investigating Shunting yard algorithm for Algebraic to RPN
conversion; can't see how can avoid recursion to process complex
expressions :)
Hair-loss to follow...
-Mark
On 4/13/2024 6:42 PM, Charles Manning wrote:
> I am curious Mark: did you get the recursion working?
>
>
> On Sat, Mar 30, 2024 at 1:25 PM Mark Atherton <markaren1 at xtra.co.nz
> <mailto:markaren1 at xtra.co.nz>> wrote:
>
> All,
>
> The cross assembler is x86 based, has a deterministic exit condition,
> and debug code showing return values. It only exits once, hence
> checking
> compiler constraints before looking closer look for stupidity on my
> part.
>
> Thanks for all the comments.
>
> Mark
>
> On 3/30/2024 12:15 PM, Volker Kuhlmann wrote:
> >> I am building an RPN expression evaluator for the uCPU
> assembler; I can't
> >> see any other way to go other than to use recursion to do the nested
> >> processing that I wish.
> >
> > I agree that that should have nothing to do with gcc, although it is
> > possible that gcc has quite a few bugs affecting correct code
> generation
> > for some µC cores. Those are gcc version dependent too.
> >
> > What architecture are you generating code for? Is your assembler
> running
> > on x86? It's safe to assume for that that crashes are caused by your
> > code, not gcc.
> >
> > Recursive programming relies on having a reliable exit condition,
> taken
> > before resources like stack run out. An easy way to check is to write
> > out the parameters for each call on a single line, one line per call,
> > and any unrestrained criteria show up at the bottom of the screen.
> >
> >> It could be that the compiler is not generating re-entrant code.
> >
> > Not for x86. More likely a variable which changes with each call
> is not
> > local. A compiler bug, if it's for esoteric cores, would still be
> down
> > on my list.
> >
> > Why don't you just compile for x86 and test in a high-resource
> > environment first?
> >
> > Volker
> >
>
>
> _______________________________________________
> Chchrobotics mailing list Chchrobotics at lists.ourshack.com
> <mailto:Chchrobotics at lists.ourshack.com>
> https://lists.ourshack.com/mailman/listinfo/chchrobotics
> <https://lists.ourshack.com/mailman/listinfo/chchrobotics>
> Mail Archives: http://lists.ourshack.com/pipermail/chchrobotics/
> <http://lists.ourshack.com/pipermail/chchrobotics/>
> Meetings usually 3rd Monday each month. See http://kiwibots.org
> <http://kiwibots.org> for venue, directions and dates.
> When replying, please edit your Subject line to reflect new subjects.
>
>
> _______________________________________________
> Chchrobotics mailing list Chchrobotics at lists.ourshack.com
> https://lists.ourshack.com/mailman/listinfo/chchrobotics
> Mail Archives: http://lists.ourshack.com/pipermail/chchrobotics/
> Meetings usually 3rd Monday each month. See http://kiwibots.org for venue, directions and dates.
> When replying, please edit your Subject line to reflect new subjects.
More information about the Chchrobotics
mailing list