-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathabout_some_files
56 lines (47 loc) · 2.74 KB
/
about_some_files
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
=== UNITS
Units that are identical for both projects (PapajScript interpreter files):
– Unit2.pas (the main engine of PS)
– UnitEntity.pas (PS's entities, settings and some constants)
– UnitStack.pas (PS's semi-stack)
– FunctionsHeaders.fph and FunctionsImpl.fph (PS's built-in functions)
– CommandBuilder.fph (functions that create list of commands from code input)
– EnviDef1.fph, EnviDef2.fph (definitions for interpreter)
– UnitEnvironment.pas (PS environment and interpreter main mechanisms)
– UnitVariables.pas (PS variables)
– UnixCrt.pas (a better Crt substitute for Unix systems)
– MathUtils.pas (PS mathematical functions)
– DTUtils.pas (PS datetime management functions)
– ArrayUtils.pas (PS array functions)
– StringUtils.pas (utilities for strings)
– ConsoleUtils.pas (utilities for Console package functions)
– RPNAbout.pas (constants containing interpreter information)
Units that exist in both projects, but they differ slightly in each of them.
– Unit5.pas (A connector between the console output or GUI and PS language)
Additional units of rpn_console
– UnitREPL.pas (REPL of PapajScript)
Additional units of rpn_gui
– Unit1.pas (the GUI application code)
– Unit3.pas (the language files)
– Unit4.pas (an additional unit to support Unit5.pas, i.e. the connector between GUI and PS language)
– Unit6.pas (the GUI app info window code)
=== REQUIREMENTS TO COMPILE THE PROJECT AND BUILDING PAPAJ
– Have installed
a) Lazarus IDE (version 1.6 or higher recommended – I use Lazarus 2.0.4 as of now)
b) or FreePascal Compiler (FPC) for Console app (3.0.4 recommended)
c) xterm (may be recommended for non-Debian-like Linux users, if the GUI App cannot run the script in a external terminal window)
– There are three ways to build Papaj
a) if you have Lazarus IDE and you use the GUI app,
then compile it by clicking "Run" or "Compile"
b) if you have Lazarus IDE and you are on a command shell or you don't use the GUI app,
then simply run compile.sh (in Linux systems) or compile.bat (in Windows systems) to compile the project
c) if you don't have Lazarus IDE, then you may compile the console app project using either compileWithFPC.sh (Linux) or compileWithFPC.bat (Windows)
– You can make a Desktop shortcut to a Papaj REPL by running installREPL.sh (Linux) or installREPL.bat (Windows)
– Unix support is planned
=== REPORTED FLAWS AND ISSUES
– Windows systems' shell usage does not work
– Gamma and Beta distributions may not work (fix is being tested)
– Breaks and continues do not work (fix is being tested)
– Bernoulli numbers generator may produce wrong data when n>=40
===========================================
Papaj – PapajScript Interpreter
Paul Lipkowski, 2024-05-01