Skip to content

Latest commit

 

History

History
69 lines (56 loc) · 1.97 KB

README.md

File metadata and controls

69 lines (56 loc) · 1.97 KB

P+ for HP Prime


P+ is a proprietary programming language designed to mitigate the challenges associated with code maintenance and comprehensibility in the HP Programming Language (PPL). P+ serves as an intermediary language that addresses these issues by introducing support for substitutions and facilitating code organization. The final output is a PPL program file with a minimal footprint, optimized to conserve the limited storage space available on the HP Prime.

P+ is essentially the PPL language with additional features, such as substitution capabilities, and requires all keywords to be in lowercase.

GROB to be intergrated in the future.

#pragma mode( separator(.,,) integer(h64) )
#include <pplang>

auto:displayCopyright()
begin
  TEXTOUT_P("Copyright (c) 2023-2025 Insoft. All rights reserved.", 0, 0);
end;

#PYTHON
#END

EXPORT START()
BEGIN
  displayCopyright();
#PPL
  // In P+ `=` is treated as `:=` were in PPL `=` is treated as `==`
  // So only PPL code in this section.
#END
  WAIT;
  var a:alpha = 0;
  alpha += 10;
  RETURN a;
END;

PPL and P+ code can co-exist as P+ is just an extension of PPL.

p+ project.pp -l pplib

#pragma mode( separator(.,,) integer(h64) )
fn1()
BEGIN
  TEXTOUT_P("Copyright (c) 2023-2025 Insoft. All rights reserved.", 0, 0);
END;

#PYTHON
#END
EXPORT START()
BEGIN
  fn1;
  // In P+ `=` is treated as `:=` were in PPL `=` is treated as `==`
  // So only PPL code in this section.
  WAIT;
  LOCAL a := 0;
  a := a + 10;
  RETURN a;
END;

Important

In P+ = is treated as := were in PPL = is treated as ==

Note

The P+ proprietary programming language is susceptible to change, while also maintaining some compatibility with previous versions.