Releases: TabulateJarl8/ti842py
Small changes
Add prgm support
This release adds prgm
support. prgm
will search the current directory for a file matching the provided name (case insensitive; extension of .8xp). If found, the file will be passed to the command ti842py {filename} --run
, where {filename}
is the name of the file. For example, prgmTEST
would search for TEST.8Xp
(case insensitive) in the current directory. If a path is given that contains .
or ~
, or if the path is not all uppercase, the transpiler will assume that the path has been manually provided by the user (this will be useful once I implement a TI-BASIC shell).
Bug fixes
First release of Ans support
First release of support for Ans
. May be unstable
Drawing fix
The Draw
class had a few default arguments for color that were still the color name as a string which cased an error. This patch fixes that
Matrices
- Add the ability to use matrices. I wrote a custom class that behaves like the matrices in the TI calculators, except for the fact that indexes start at 1 on TI calculators. This is compensated for in the actual parsing and transpiling rather than in the class.
- Added the ability to use 1 line While statements
- Fixed some bugs regarding one-line If and While statements that contain variable assignments.
- Fixed bug where lists were all references to each other
- Added parsing for some special characters like
≥
,≤
, and≠
- Translate
int()
tomath.floor()
since that is how it behaves on TI calculators
This release may introduce more bugs, so report any that are found.
Fixes to Drawing Colors
When a number was under the specified range of 1-24, it wouldn't catch that and translate into something like -blue
. This is now fixed
Small fixes
Small fixes
Drawing
Two digit numbers were being double replaced in tiColorToGraphicsColor
. For example, 33
would be interpreted as 3
and 3
and therefore converted to blueblue
. This was fixed using a regular expression, and I also implemented a ValueError for any numbers not in range 1-24
getKey
Duplicate keymap values for -
and −
. They were mapped to 85 as well as 104 which was causing issues. They are now mapped to 85, with 104 being ?
Better getKey
Use pynput instead of the getkey module in order to improve non-blocking input support. It also better reflects the real behavior of getKey
from TI-BASIC
stdin Support
This release adds support for piping programs to ti842py's stdin. The files can be 8Xp files or plain text files, just like normal
$ cat BAR.8Xp | ti842py --run
$ ti842py -o bar.py < BAR.8Xp
$ cat CLOCK.bas | ti842py -nr
$ ti842py --no-fix-floating-point --run < CLOCK.bas