- Project Glacier, A JavaScript-like language for the TI84+ CE
- 10 Nov 2023 05:58:50 pm
- Last edited by DarkSystem on 03 Jan 2024 07:34:37 pm; edited 1 time in total
Recently, I started trying to make a game called Trader (which I may or may not finish) on the CE. Usually I create most of my programs with Node.js, so trying to wrap my head around the much more limited ICE is about as hard as learning how to code from scratch. So to help myself learn a bit more about ICE, I decided to create a transpiler, to convert a JavaScript-like language to ICE. The planned features are:
The project is meant to be an alternative to ICE, and was inspired by ICE in the first place
Glacier is a work in progress, so don't expect much from it right now. I'll probably be done by February (No promises though). Expect updates to this thread after every major milestone.
Repo: https://www.github.com/DarkSystemGit/Glacier/
Edits:
▪ 3 Jan:
I forgot to update this, but now Glacier is no longer a transplier, now it's a fully fledged compiler, because I forgot to look at ICE's archive message(conveniently).
So the plan for now is to generate an AST (see https://en.wikipedia.org/wiki/Abstract_syntax_tree) and feed it to the C toolchain back-end, to generate ez80 assembly, then let the toolchain do the rest of the work.
- ▪ Full on Arrays(that support strings),
▪ Functions,
▪ Multipurpose variables,
▪ Packages,
▪ Greater control over the calculator than TI-Basic,
▪ Tilemaps,
▪ Objects,
▪ and possibly more.
The project is meant to be an alternative to ICE, and was inspired by ICE in the first place
Glacier is a work in progress, so don't expect much from it right now. I'll probably be done by February (No promises though). Expect updates to this thread after every major milestone.
Repo: https://www.github.com/DarkSystemGit/Glacier/
Edits:
▪ 3 Jan:
I forgot to update this, but now Glacier is no longer a transplier, now it's a fully fledged compiler, because I forgot to look at ICE's archive message(conveniently).
So the plan for now is to generate an AST (see https://en.wikipedia.org/wiki/Abstract_syntax_tree) and feed it to the C toolchain back-end, to generate ez80 assembly, then let the toolchain do the rest of the work.