HP Forums
Parsing expressions - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: Parsing expressions (/thread-4720.html)



Parsing expressions - xset - 09-15-2015 06:11 AM

Hello

I wanted to explode expression like X^2 + 5 to the list of {operation,firstOP,secondOP}, i found i can do it in CAS window with "at" special syntax like 'X^2+5'[1 +-].

It rewrites it as at('X^2+5',0) and gives answer _x -> _x (looks like lambda).
'X^2+5'[2 +-] gives x^2
'X^2+5'[3 +-] gives 5

There is no really 'at' function and this code does not work in program.

So, question is: how to parse expressions ? If there some command like OBJ-> from 50g ?

Many many thanks anyway!
XSet


RE: Parsing expressions - Didier Lachieze - 09-15-2015 07:20 AM

In CAS mode you can use part():

[attachment=2539]

The following CAS program could be a starting point for what you want:

Code:
#cas
OBJ(f):=
BEGIN
  LOCAL k,l;
  l:={};
  FOR k FROM 0 TO part(f) DO
   l:=CONCAT(l,part(f,k));
  END;
  return l;
END;
#end

[attachment=2540]


RE: Parsing expressions - xset - 09-15-2015 07:27 AM

(09-15-2015 07:20 AM)Didier Lachieze Wrote:  In CAS mode you can use part():


OMG! What a beautiful syntax, kinda functional!
Thank you! You are Wizard !


RE: Parsing expressions - ji3m - 09-26-2015 05:44 PM

Cmd line works but obj just returns 0.

on android prime emulator.


RE: Parsing expressions - Tim Wessman - 09-26-2015 06:55 PM

(09-26-2015 05:44 PM)ji3m Wrote:  Cmd line works but obj just returns 0.

on android prime emulator.

The android emu is basically equivalent at this moment to the version from dec 2014. The "part" command was added in 2015 I believe.


RE: Parsing expressions - xset - 09-27-2015 07:42 AM

Thanks GOD i did not buy Android version