Post Reply 
An HPPL compiler question...
06-24-2017, 11:50 AM
Post: #1
An HPPL compiler question...
Various documents say that programs are compiled when created. My question is whether the HPPL compiler compiles to some kind of p-code like java bytecodes (the CPU is Jazelle compatible and handles Java bytecodes in hardware/firmware).....or does it compile to ARM assembler with library calls? Then if it compiles to machine language, does it get optimized or is it very basic assembly language constructs with library calls?
Thanks
-Donald
Find all posts by this user
Quote this message in a reply
06-26-2017, 05:34 AM
Post: #2
RE: An HPPL compiler question...
Hello,

Nope, not that complex.
PPL programs are transformed into a tree representation of the program/expressions, with a program being a list of user functions, user functions being themselves lists of expressions or objects (like lists numbers, matrices...), expression having a standard tree structure.

The execution of a program is the sequential execution of these lists and expression trees.

The code is non-recursive (even if the program is), to allow deep recursive program execution (like a factorial).

It is not very memory efficient, but it is quite fast and relatively simple to implement.

Cyrille

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
Find all posts by this user
Quote this message in a reply
06-26-2017, 10:40 PM
Post: #3
RE: An HPPL compiler question...
So, to clarify, sounds like a parser. So, the original code is parsed and stored in a parsed tree. Then this tree is traversed and interpreted during execution. Right?
Thx
-D
Find all posts by this user
Quote this message in a reply
06-27-2017, 04:31 AM
Post: #4
RE: An HPPL compiler question...
Hello,

yep, that is about correct.

Cyrille

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: