An fx-92 Scientifique Collège+ algorithmic interpreter for PC.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lephe c52e7ccaa3
lexer: record each constant's representation in the token
6 days ago
doc add the theta variable name 1 week ago
fx92 lexer: record each constant's representation in the token 6 days ago
tests add the theta variable name 1 week ago
.gitignore initial commit: most of the lexing and parsing work 3 weeks ago
README.md add a README file 2 weeks ago
fx92.py allow <sign><function> atoms 2 weeks ago
tests.py allow <sign><function> atoms 2 weeks ago

README.md

Python-based fx-92 Scientifique Collège+ interpreter

This is an alternate imlementation of the fx-92 SC+ Algorithmic application. It interprets programs read from QR code URLs or text files, and renders images using the SDL.

Requirements:

  • Python ≥ 3.5 (may work with older versions)
  • PySDL2 (pip3 install --user PySDL2)

Running programs

To run programs, execute fx92.py and specify an input file:

./fx92.py [-s|-u] <input file> [options...]
  • If the input file contains text instructions (for example goto 12,35), specify -s (this is the default).
  • If the input file contains a QR code URL (for example https://...F908313200333500), specify -u.

The input can also be set to -, in which case the interpreter reads from standard input. Typical use case is for URLs:

echo -n "F908313200333500" | ./fx92.py -u -

Output options

  • --scale <n> lets you set the (integer) scaling ratio of the output.
  • --save <bmp> will save a screenshot of the output to the designated file.
  • --quiet will “hide” the window while executing. (At the moment the window is still shown, but closed immediately, due to SDL subtleties.)

Tests

A few units tests are provided. Run tests.py to execute them.