Axolotl: Full Documentation

-------------------------------------------------------------------------------- Introduction : Axolotl is a new pseudo-programming language. What is a "pseudo programming language" ? This means that the Axolotl language is simply a more intuitive way of writing code and it does not actually interact with the computer itself. Coded in java, AXOLOTL aims to offer a syntax, a unified syntax that one needs to learn in order to code. It is more like a translator, converting a base syntax into any other language. In the future, we plan to support all the popular programming languages. In doing so, one can learn only the AXOLOTL syntax and be able to convert it to any other language code, ready for compilation. Obviously, since our current version is very young, one needs to have basic knowledge of compiling the source code of the desired language once it is produced by the AXOLOTL compiler. But, in the near future, we plan to have optional plug-ins to compile the converted code for the user, thus making it more user friendly. Currently, Exception handling and checking of other errors is not supported. That will be incorporated in future versions. AXOLOTL is a community project. Two versions will primarily exist. Both will be from the co-creators of the original AXOLOTL. One will be a stable version with all its components checked and tested for bugs and in which all the features will be refined for the ultimate user experience while the other one will be sort of the testing branch whose features will be cutting edge but may be less refined than that of the other one. [version : 1.0 is currently available.] -------------------------------------------------------------------------------- | Copyright notice: | | [version 2 to be registered under GNU General Public License ...] | | [version 1 copyright(c) Greymtr Smith] | -------------------------------------------------------------------------------- Syntax : [Current syntax is as follows: ] [Syntax as well as some features are subject to change.] Print / Display tag: <d] TEXT TO BE DISPLAYED [d> Text to be displayed is written inside the "d" tag. "d" stands for display [duh !] Input tag: <i] {var} [i> "var" is the variable in which the input that the user gives will be stored in. Prompt for input is not included in the syntax. Prompt to be given in display tag. while loop tag: <wh] (condition) CODE [wh> "condition" is a statement that must return a Boolean. Some examples may be :- "x < 5" "s == 1" [The quotation marks are not part of the syntax] "CODE" is the literally the code that is supposed to exist inside the loop body. It may consist of one or more tag statements one after the other. As long as each of the tags in the loop body are opened and closed properly and the statements are syntactically correct, AXOLOTL will generate the equivalent loop in the syntax of the language of your choice. do-while loop tag: <dw] CODE (condition) [dw> "CODE" is the literally the code that is supposed to exist inside the loop body. It may consist of one or more tag statements one after the other. As long as each of the tags in the loop body are opened and closed properly and the statements are syntactically correct, AXOLOTL will generate the equivalent loop in the syntax of the language of your choice. "condition" is a statement that must return a Boolean. Some examples may be :- "x < 5" "s == 1" [The quotation marks are not part of the syntax] wait tag: <w] seconds [w> Wait will halt the processor for the given number of seconds. This feature can be used in making some pretty amazing text animations. switch-case tag(s): <sw] {var} CASE1[A]! CASE2[B] CASE3[C]! #[CODE] [sw> In this example the syntax is spread over to many lines. That is optional. The whole thing can also be written in one single line. "sw" stands for "switch" "Switch" is an alternative to if-else where only equality has to be checked. "var" is the variable whose value is being checked. The value in this variable will be compared to the "cases" given and the code corresponding to the right case will be executed. "CASE1", "CASE2", "CASE3" are the values that you want to check for. For example, if you want to check for the values "1", "5" and "8", you would have to replace the words "CASE1", "CASE2", "CASE3" with "1", "5" and "8". It does not matter which number comes first. It works with any given values, even if they are arranged in some sort of order or not. The same applies to String values. If you want to check for the values "Gorrila", "Rabbit" and "Axolotl",all you have to do, is replace the words "CASE1", "CASE2", "CASE3" with "Gorrila", "Rabbit" and "Axolotl". "A", "B", "C" are enclosed inside brackets and must be replaced with the code that you want to execute when the "case" of your choice is encountered. It may consist of one or more tag statements one after the other. Remember, during execution, only the statements inside the respective block for the encountered "case" will be executed. In other words, if the user-input is being checked and the input turns out to be "Axolotl", Then only the code written inside the brackets to the side of "Axolotl" will be executed. The "!" symbol denotes a "break" statement. When this statement is encountered, none of the code inside brackets to the side of other "cases" will be executed. If not encountered, the statements that you do not want to run may also get executed. This is called "fall-through" and almost always produces undesired results. The "#" symbol denotes "default". If the options / "cases" to be checked are "Gorrila", "Rabbit" and "Axolotl" and the user ends up typing "Monkey" or mispells the word that he wants to type, then what must happen? Normally an error message must be displayed telling the user that he has gone wrong in doing something. By combining loops and switch blocks, one can achieve great many things. The "CODE" inside the brackets adjacent to the "#" may consist of one or more tag statements one after the other. For loop: We do have a syntax for "for-loops" but currently it is optimized only for "Java" and "C" and "C++". Therefore it has not been mentioned here. Nevertheless if you want it, it is there on the address given below. Once a general syntax is made, a notification shall be given on this page. [source for syntax: http://ctrl-c.club/~greymtr/Documentation.html] --------------------------------------------------------------------------------
                        

Another AXOLOTL webpage ?

So, Why this page when ~greymtr has his own page on our new programming language? Well, this is not going to be the "official page". Axolotl is a free/libre productivity tool and since I was a part of its creation, I do seem to possess some understanding of its working( Is it safe to say I understand it all ?). Therefore, I plan to make this page a documentation and NEWS-page on its fork which I still intend on calling AXOLOTL (Is that allowed ?). Anyways, follow this page as it may get new interesting stuff in the days to come.
                

Axolotl: An introduction.


Axolotl is a new pseudo-programming language that was designed to change the process of writing code. It has been observed that many people move away from programming just because they process of learning the syntax of the programming language is tiresome and many a times overwhelming. While this may seem stupid to some, it is the truth. And in this process of leaving programming just because it is too hard to master the syntax of a specific programming language, the world is losing out on people capable of writing amazing applications that may be life-altering. To prevent this loss, we aim at bringing in those people who feel it is too hard to master the art of programming and giving them a powerful tool that not only helps in reducing burden of learning the syntax of multiple languages but also allows them to write code in our language and with a few commands, turn it into code in other languages. So now the only requirement to code would be : learning AXOLOTL, and BOOM ! You now have a fully functional, syntactically correct and completely converted code in ANY other computer language of your choice.