Topple/Source Code
Development began on December 19th, 2024.
Due to complications beyond anyone's wildest nightmares (not being able to figure out how to rewrite the C99 code in C11), Topple will be redeveloped in C++. Any versions of Topple in C99 will still be accessible, but all future versions will be written in C++. Man, this is a mess...
Versions
Topple 1.0
- The first working version of Topple.
- Completed on June 22nd, 2025.
Topple 1.1
Currently in development
Changes
1. Data Type Specification
When admitting data and defining variables, you must now specify the data type. If no type is given, the data is assumed to be a character. So now this:
a. b. c. @
will be this:
a.c b.c c.c @
This will allow for a more efficient use of any command characters that utilize indexes and incrementation.
The only available types will be integers ('d') and characters ('c'). While that sounds restricting, I promise it's not. I mean, you've seen how Topple works, you won't really need hexadecimals or strings, nor would you be able to use them without any issues.
2. Structs... kinda...
You can now define variables within variables, for lack of a better description.
For example:
a=0 a^b=1 b=2
Variable 'a' is defined as 0.
Variable 'b' is then assigned to 'a' and defined as 1.
Another variable 'b' is then defined as 2, outside of 'a'
Now, there are two variables of the same name with different values. Why? Because variable 'b' of 'a' is not the same as variable 'b' alone.
3. Goto
As the name suggests, you can now “go to” a line of code and continue running the code from there. Why? Because I think it’d be cool, that’s why!
*=1 a, *^1
The above code, for example, will output ‘a’ endlessly.
In line one, it creates a “goto” and names it ‘1’.
In line three, it searches for a “goto” by the name ‘1’ (if the given value is empty, it will instead use the last admitted value).
Line two, which is in between the creation and the call of the goto, will now run endlessly.