|Effective Computer-aided Calculator Programming - Part 1 - Voyager|
Message #1 Posted by Egan Ford on 2 Apr 2008, 1:35 a.m.
Keystroke programming for small quick&dirty programs it is very efficient, but what about for long or very long programs? Debugging a 100+ instruction program can be a challenge, especially when only one instruction is visible. Many of us can write RPN code in text editors, and then run the program in our heads before keying the sequence. While this may work for some, there are more effective ways.
The purpose for this series of articles is to describe the options available to aid in the rapid development and testing of RPN code by leveraging the use of text editors, compilers, and accelerated simulators and emulators.
Part 1 of this series supports the follow models: 11C, 12C, 15C, and the 16C.
This article highlights the new Voyager Nonpareil compiler. This compiler has the following features:
- Syntax checking with support for user definable statements.
- Numeric expansion. Multiple digit constant numbers can use a single line of code.
- Duplicate label checking. Although legal, warnings are issued when duplicate labels are encountered.
- GTO checking. No point in going nowhere.
- Macro expansion. Macros can be defined on a per calculator basis.
- Virtual 12C labels. LBL can be use with 12C programs. All LBL and GTO statements will be properly converted to line numbers when compiled.
- Pretty print listings than can contain line numbers, statements, and/or keystroke sequences. Listings can be displayed using multiple columns to minimize space usage when publishing your code.
- An internal dictionary of statements and keystrokes that can be listed and used as a reference guide.
- Windows, Linux, OS/X supported.
Lastly there are some hacks to get Nonpareil to run about 200 times faster.
I did not have time to get parts 2 (42S) and 3 (41) done before the April 1st SSMC games. IANS for the 42S you need txt2raw.pl, and for the 41 HP41UC. The 41 article will have various solutions for getting code off your desktop and into your calc.
Edited: 2 Apr 2008, 1:35 a.m.