π
<-
Chat plein-écran
[^]

ICE Compiler

Assembleur, Axe, C/C++, ICE...

Re: ICE Compiler

Message non lude sautax » 20 Mar 2017, 19:18

Cool update !
It will be more fun ! :troll:
Mes projets :
-Environnement numworks sur PC
-TILIB
-AGAME
Avatar de l’utilisateur
sautaxProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 21.6%
 
Messages: 65
Inscription: 21 Sep 2016, 14:31
Localisation: Quelque part dans le sud
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale S-SI
YouTube: sautax

Re: ICE Compiler

Message non lude PT_ » 12 Avr 2017, 22:09

In Case of Emergency (ICE..), you can join #icedev for (almost) instant help :)
Join this channel as well for discussion about ICE, features, updates etc
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ICE Compiler

Message non lude PT_ » 21 Avr 2017, 09:12

We are more than happy to announce that the online TI-BASIC editor and IDE SourceCoder 3 gets an upgrade again. You have now the possibility to compile ICE programs online, rather than doing it on-calc! The syntax is basically the same as TI-BASIC, but you don't need a "Then" for indentation. While the highlighting is exactly the same, except the commands of course, we are still working on a nice styling system for ICE, to make it even easier to write programs! But, you say, why can't we use the TI-BASIC section of SourceCoder 3? That is very simple: ICE has a lot of graphic commands, imported from the C libraries, and replaced them with det(XX..). From now on, you don't need to remember this anymore, you can just directly type "FillScreen(255)" for example!

In the sidebar you can see some groups, which are the same groups as listed in commands file of ICE Compiler, to make it even easier! Also, you can easily add comments as well, in order to explain variables or routines to yourself. You can do this by placing "//" in front of the line, the same as in with BASIC.

As far as we know, there is only 1 thing to mention:
  • There is a graphic command "End", but BASIC itself also has an "End". Therefore, I removed the graphic command "End", so typing in "End", gives you the token End, not det(1).
Anyway, we hope that this makes development of ICE programs much easier, and we are happy to receive feedback and or questions/comments about this!

Launch Tool:
Image SourceCoder 3 Online TI-BASIC, ASM, and C Editor and IDE

Image

Many thanks to KermMartian for helping me in this process, correcting me when needed, and moving it to the real website!

Source: https://www.cemetech.net/forum/viewtopic.php?t=13679
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ICE Compiler

Message non lude PT_ » 01 Mai 2017, 22:28

So well, yeah, time for some updates, or whatever you call it. As you might already know, I'm recreating ICE in C to make development faster, and easy add new features. This is coming along very well, I need to say. Currently numbers, variables, operators and parenthesis are supported (still need code for every operator), and more are coming soon. However, I'm running into a huge problem, and that are C functions. They are not like 'normal functions', such as not( and remainder( and so on. For the last type of tokens, I just add code for every possible argument type(s), rather than using the stack, like C functions need. However, this method simply doesn't apply to C functions, as they are supposed to take the input (arguments) from the stack, not registers etc. Thus, with the Shunting Yard Algorithm I'm doing, it is VERY hard to add C functions, and I'm not sure yet how to solve this. Let's take a look at some example:
Code: Tout sélectionner
det(2,det(15,X+2->X                 2 15 X 2 + det( det( X ->

det(2,det(15,X)+2->X                2 15 X det( 2 + det( X ->

det(2,det(15),X+2->X                2 15 det( X 2 + det( X ->

det(2,X+det(15),2->X                2 X 15 det( + 2 det( X ->

det(2,X,2*det(15))+3->X             2 X 2 15 det( * det( 3 + X ->

2*det(15,X)+3->X                    2 15 X det( * 3 + X ->

det(2,X+2,1,2,3                     2 X 2 + 1 2 3 det(

Left is the input, right is the input in infix notation.

Now let's take my last example. If I just parse them as normal, first the "+" is parsed, so X+2, but since the output isn't used in the next 2 elements (as an operator or function), the output is pushed to the stack, and that is where problems arise, it should not even parse the +. First 3, then 2, then 1 should be pushed, afterwards X+2 parsed and pushed, then the det( function will be called.

Again, I've no idea how to solve this, and I'm open for any ideas! :)


Progress: I've added icon and description support:
Image
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

En ligne

Re: ICE Compiler

Message non lude Bisam » 02 Mai 2017, 21:46

PT_ a écrit:Left is the input, right is the input in infix notation.

You meant "postfix" notation, I think.

I do not know anything about ICE, but I assume that you use "det(num, args" to call a special function whose number is "num" and "args" are the arguments.
If so, the problem you are exposing will appear each time you call such a function.

You can easily rewrite the beginning of theses functions to reverse the list of the arguments, no ?
You can even write a private reversing list function to do that.

But maybe I didn't understand well the problem...
In fact, it is not clear if your problem is getting from the input to the RPN or from the RPN to the final output ?
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ICE Compiler

Message non lude PT_ » 08 Mai 2017, 17:03

I've added SetBASICVar( which... sets a BASIC variable! :D

Download: archives_voir.php?id=587211
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ICE Compiler

Message non lude PT_ » 09 Mai 2017, 00:24

I'm SUUUUUPPEERRRRR excited to announce this very great news:

http://ice.cemetech.net

It redirects you to a page at Cemetech Learn, where I will put all the needed information, and Tips and Tricks! :D
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ICE Compiler

Message non lude PT_ » 13 Mai 2017, 16:35

GetBASICVar( is added as well!

Time for some quick updates about my C version: I've implemented all the operators, and added code for functions, which work fine, I only need to add them :P Chaining things also work, so the only thing I need to do is doing weird stuff with C functions and get that working :)
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ICE Compiler

Message non lude Wistaro » 22 Mai 2017, 18:40

Cool, well done!
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 87.5%
 
Messages: 3152
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: ICE Compiler

Message non lude PT_ » 15 Juil 2017, 19:11

I had finally a free day off, which means I had a lot of time for programming :D

Today, I added Asm(, ReturnIf, remainder(, Lbl, Goto, Output( and Disp. The days before, in my spare free time, I added strings + string concatenation (like "ABC"+Str1) and length(. I have the framework done for sub( and toString(, both will be implemented soon :)

As far as I know, this is my to-do-list until the first C version release:
  • Integer types and pointers
  • sub(, toString(
  • For( loops
  • prgmX
  • DefineSprite(, ExecHex(, Call , CompilePrgm(, SetBASICVar(, GetBASICVar(
  • Eventually some sort of lists/data ish
  • More C functions
  • More random functions

If you have suggestions on what to add more, feel free to nag me, I'm now in the mood for adding things :)
Age of CEmpires I - In progress!
40%
Avatar de l’utilisateur
PT_Programmeur
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 57.2%
 
Messages: 259
Inscription: 09 Fév 2016, 23:06
Genre: Homme
Calculatrice(s):
MyCalcs profile

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
862 utilisateurs:
>838 invités
>19 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)