It's time for maybe the biggest update ever of ICE. As you all know, it can only handle 8-bit integers, and is pretty limited to only variables and numbers, not strings, not lists, a very few functions, no arguments for a function. So it's time for a giant update. Since I at least need to change the whole algorithm to handle 3-byte integers, I thought it would be useful to change the whole stuff, so that
1) lists(functions) are supported
2) strings(functions) are supported
3) easy way to add functions
4) correct handling of arguments, even lists or strings
The giant update means too a giant increasing size... I still need to have all the code for adding, subbing, dividing etc, but now even more. For the interesting part: here are all the possibilities that should be supported, for adding (in this case functions are getKey, rand):
- <integer> <integer>
- <integer> <variable>
- <integer> <list>
- <integer> <function>
- <variable> <integer>
- <variable> <variable>
- <variable> <list>
- <variable> <function>
- <list> <integer>
- <list> <variable>
- <list> <list> (even not the same dimension)
- <list> <function>
- <string> <string> ("ABC"+"DEF" -> "ABCDEF"
Interesting, not?
This would mean a giant update, and that takes much time, but if this is finished, adding new stuff is peanuts. I hope you don't blame me, as this is very useful. Also, university starts next week, so I doubt if I have enough time.... I will continue this!
@mr womp womp:
I solved your first bug. The second bug can be fixed by adding _Get_Tok_String in the compiling process, wouldn't be hard.
The last part... yeah... I dunno how that's possible