Interesting stuff
Maybe there could be some options somewhere, to let the user choose if optimization (which could take time) happens or not. Could be useful for quick programming, vs. a release build.
ICE Compiler
Re: ICE Compiler
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14727
- Images: 1119
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: ICE Compiler
Thanks!
Adriweb: compiling happens within 1/20 of a second, so it wouldn't matter, and everyone wants a smaller program
GUI almost done:
Adriweb: compiling happens within 1/20 of a second, so it wouldn't matter, and everyone wants a smaller program
GUI almost done:
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Messages: 259
- Inscription: 09 Fév 2016, 23:06
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: ICE Compiler
That's impressively fast
But it might get slower with optimization enabled?
But it might get slower with optimization enabled?
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14727
- Images: 1119
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: ICE Compiler
Adriweb a écrit:That's impressively fast
But it might get slower with optimization enabled?
Yes, 1/19 s instead of 1/20 s
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Messages: 259
- Inscription: 09 Fév 2016, 23:06
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: ICE Compiler
Another big problem is fixed: custom tokens. Now it finally works fine!
The code is so complicated you don't want to see it
I had 2 possibilities: either locating the hooks at a fixed point in RAM, or create my own appvar, and insert them. I chose the last option, because compiled ICE programs can use all the RAM, and I suffer what will happen when one accidentally overwrites the hooks. So, each time I start ICE, it checks if it exists, remove it if necessary and create an appvar with the hooks in it. Then it archives it, so it's a bit harder to delete it, and if you delete it from the memory management, it still exists. The main problem is, that you now don't know what the starting memory of the hooks is, for relative jumps/whatever. So yeah, it seems I fixed it, and I'm pretty happy with it ^^
Now that I have fixed the main structure, is it pretty easy to add new tokens.
The code is so complicated you don't want to see it
I had 2 possibilities: either locating the hooks at a fixed point in RAM, or create my own appvar, and insert them. I chose the last option, because compiled ICE programs can use all the RAM, and I suffer what will happen when one accidentally overwrites the hooks. So, each time I start ICE, it checks if it exists, remove it if necessary and create an appvar with the hooks in it. Then it archives it, so it's a bit harder to delete it, and if you delete it from the memory management, it still exists. The main problem is, that you now don't know what the starting memory of the hooks is, for relative jumps/whatever. So yeah, it seems I fixed it, and I'm pretty happy with it ^^
Now that I have fixed the main structure, is it pretty easy to add new tokens.
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Messages: 259
- Inscription: 09 Fév 2016, 23:06
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: ICE Compiler
Waw, it seems you worked hard while I was tanning on the beach
By the way, which "token addresses" do you use? I mean 'Disp_'=DEh, but TileMap('=? ? And do you allow a plain Basic program to use those tokens? What happens if you execute a basic program which contains ICE tokens using the basic interpreter?
Good luck
By the way, which "token addresses" do you use? I mean 'Disp_'=DEh, but TileMap('=? ? And do you allow a plain Basic program to use those tokens? What happens if you execute a basic program which contains ICE tokens using the basic interpreter?
Good luck
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.
Unis par la flèche sacrée de cupidon
Unis par la flèche sacrée de cupidon
-
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 1160
- Images: 4
- Inscription: 08 Déc 2014, 17:38
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Ensimag
- GitHub: MathisLav
Re: ICE Compiler
Epharius a écrit:Waw, it seems you worked hard while I was tanning on the beach
By the way, which "token addresses" do you use? I mean 'Disp_'=DEh, but TileMap('=? ? And do you allow a plain Basic program to use those tokens? What happens if you execute a basic program which contains ICE tokens using the basic interpreter?
Good luck
The tokens are replacements of accented letters, which are BB 3F for example. The accented letters are not accessable in the Catalog or somewhere else, so if you press [TRACE] in the program editor, a menu will open with all my tokens. Because the BASIC interpreter still thinks it is Á, or Î etc, you will only get an syntax error - nothing wrong
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Messages: 259
- Inscription: 09 Fév 2016, 23:06
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: ICE Compiler
PT_ a écrit:The tokens are replacements of accented letters, which are BB 3F for example. The accented letters are not accessable in the Catalog or somewhere else
They definitely are when you enable another language - another catalog item appears, at the top, with lots of extra symbols/tokens.
Using accented letter may prove annoying for users of the 83 Premium CE since French is by default.
Although I'm tempted to say that the ones who are active coders will probably understand that it's better to do so without another language enabled, since it's just better.
PT_ a écrit:so if you press [TRACE] in the program editor, a menu will open with all my tokens.
Hmm, but what if you want to put the TRACE token? Though I guess you can fetch it in the catalog.
Did you look at how to do it the Omnicalc's way? (showing your menu when
prgmis pressed twice)
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14727
- Images: 1119
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: ICE Compiler
Hmm, that's true, although not many people use another language, outside of the 83+CE ofcourse; maybe I need to replace them with other non-used tokens; I will fix it!Adriweb a écrit:They definitely are when you enable another language - another catalog item appears, at the top, with lots of extra symbols/tokens.
Using accented letter may prove annoying for users of the 83 Premium CE since French is by default.
Although I'm tempted to say that the ones who are active coders will probably understand that it's better to do so without another language enabled, since it's just better.
Adriweb a écrit:Hmm, but what if you want to put the TRACE token? Though I guess you can fetch it in the catalog.
Did you look at how to do it the Omnicalc's way? (showing your menu whenprgmis pressed twice)
I've really never, never, never, NEVER seen the Trace token before, in any program. And yes, it's still accessable in the Catalog. That given, I think it's easier to remember than twice [PRGM], which is also harder to code, because it needs to remember that [PRGM] is being pressed.
EDIT: what about this?
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Messages: 259
- Inscription: 09 Fév 2016, 23:06
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: ICE Compiler
Well, you just have to check whether you're in the [prgm] menu or not. If so, you display your menu. Else, you let the calculator do its job
(have a look at "menuCurrent")
(have a look at "menuCurrent")
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.
Unis par la flèche sacrée de cupidon
Unis par la flèche sacrée de cupidon
-
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 1160
- Images: 4
- Inscription: 08 Déc 2014, 17:38
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: Ensimag
- GitHub: MathisLav
Retourner vers Langages alternatifs
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités