LineLover
LineLover is an esoteric programing language made by IkenusDisnem (talk). LineLover is similar to other programming languages with the exception of the way you write it's code. This is an example of a program that declares a constant named 'CONSTANT' with the value of 123
i d m o m n o e r t a l d a t a C O N S T A N T a s 1 2 3 ;
As you can see, the code is vertical instead of horizontal.
Syntax
Always put the keyword bellow to tell the lexer that it is the end of your program
d o n e
Comments
To write comments, put '~' between the contents of your comment. eg:
~ t h i s i s a c o m m e n t ~
Strings
To write strings, put '#' between the contents of your string. eg:
# t h i s i s a s t r i n g #
Writing a 'Column' of code
This is an example code that declares a variable named 'a' with the value of "hello.". Make sure to put a semicolon (;) at the end of the code for the parser to proses:
d d a o t n a e a a s # h e l l o . # ;
List of Commands
here are the list of commands in LineLover:
Format | Summary | Description |
---|---|---|
d a t a ~ v a r i a b l e n a m e ~ a s ~ v a l u e ~ ; |
Variable declarer | Declares a variable named with the given name holding a value with the given value. To make an immutable variable, put 'immortal' at the beginning. |
c h a n g e ~ v a r i a b l e n a m e ~ a s ~ v a l u e ~ ; |
Variable value changer | Changes the variable's value with the given value. THIS DOES NOT WORK IF THE VARIABLE IS IMMUTABLE |
t a s k ~ t a s k n a m e ~ ; { ~ c o d e ~ } ; |
Task declarer | Declares a task with the given name, Tasks are similar to functions or methods in other programming languages. |
( ~ t a s k n a m e ~ ) ; |
Task caller | Calls the task of the given name |
p e r h a p s ~ c o n d i t i o n ~ s h a l l ; { ~ c o d e ~ ; } |
If statment | Constructs an if statment |
c l i m b ~ s t e p ~ r e a c h ~ e n d ~ f r o m ~ v a r i a b l e ~ ; { ~ c o d e ~ ; } |
For loop | Constructs a for loop that increases the given variable with the given step amount until the variable's value is more than the given end value |
Built-in tasks
These are the lists of built-in tasks (note that it is formated this way for the sake of readability):
Task Name | Variables for task usage | Description |
---|---|---|
||BUILTIN|CONSOLEOUT |
||BUILTIN|CONSOLEOUT|INPUT |
outputs the ||BUILTIN|CONSOLEOUT|INPUT's value |
||BUILTIN|STRINGCONCAT |
||BUILTIN|CONSOLEOUT|INPUT0 ||BUILTIN|CONSOLEOUT|INPUT1 ||BUILTIN|CONSOLEOUT|OUTPUT |
concatenates ||BUILTIN|CONSOLEOUT|INPUT0's value with ||BUILTIN|CONSOLEOUT|INPUT1's value and stores it in ||BUILTIN|CONSOLEOUT|OUTPUT |
||BUILTIN|COMPAREEQUALS |
||BUILTIN|COMPAREEQUALS|INPUT0 ||BUILTIN|COMPAREEQUALS|INPUT0 ||BUILTIN|COMPAREEQUALS|OUTPUT |
performs ||BUILTIN|COMPAREEQUALS|INPUT0's value == ||BUILTIN|COMPAREEQUALS|INPUT1's value and stores it in ||BUILTIN|COMPAREEQUALS|OUTPUT |
||BUILTIN|COMPARENOTEQ |
||BUILTIN|COMPARENOTEQ|INPUT0 ||BUILTIN|COMPARENOTEQ|INPUT0 ||BUILTIN|COMPARENOTEQ|OUTPUT |
performs ||BUILTIN|COMPARENOTEQ|INPUT0's value != ||BUILTIN|COMPARENOTEQ|INPUT1's value and stores it in ||BUILTIN|COMPARENOTEQ|OUTPUT |
||BUILTIN|COMPAREGREAT |
||BUILTIN|COMPAREGREAT|INPUT0 ||BUILTIN|COMPAREGREAT|INPUT0 ||BUILTIN|COMPAREGREAT|OUTPUT |
performs ||BUILTIN|COMPAREGREAT|INPUT0's value > ||BUILTIN|COMPAREGREAT|INPUT1's value and stores it in ||BUILTIN|COMPAREGREAT|OUTPUT |
||BUILTIN|COMPARELESS |
||BUILTIN|COMPARELESS|INPUT0 ||BUILTIN|COMPARELESS|INPUT0 ||BUILTIN|COMPARELESS|OUTPUT |
performs ||BUILTIN|COMPARELESS|INPUT0's value < ||BUILTIN|COMPARELESS|INPUT1's value and stores it in ||BUILTIN|COMPARELESS|OUTPUT |
||BUILTIN|COMPAREGREATEQ |
||BUILTIN|COMPAREGREATEQ|INPUT0 ||BUILTIN|COMPAREGREATEQ|INPUT0 ||BUILTIN|COMPAREGREATEQ|OUTPUT |
performs ||BUILTIN|COMPAREGREATEQ|INPUT0's value >= ||BUILTIN|COMPAREGREATEQ|INPUT1's value and stores it in ||BUILTIN|COMPAREGREATEQ|OUTPUT |
||BUILTIN|COMPARELESSEQ |
||BUILTIN|COMPARELESSEQ|INPUT0 ||BUILTIN|COMPARELESSEQ|INPUT0 ||BUILTIN|COMPARELESSEQ|OUTPUT |
performs ||BUILTIN|COMPARELESSEQ|INPUT0's value <= ||BUILTIN|COMPARELESSEQ|INPUT1's value and stores it in ||BUILTIN|COMPARELESSEQ|OUTPUT |
||BUILTIN|ADD |
||BUILTIN|ADD|INPUT0 ||BUILTIN|ADD|INPUT0 ||BUILTIN|ADD|OUTPUT |
performs ||BUILTIN|ADD|INPUT0's value + ||BUILTIN|ADD|INPUT1's value and stores it in ||BUILTIN|ADD|OUTPUT |
||BUILTIN|SUB |
||BUILTIN|SUB|INPUT0 ||BUILTIN|SUB|INPUT0 ||BUILTIN|SUB|OUTPUT |
performs ||BUILTIN|SUB|INPUT0's value - ||BUILTIN|SUB|INPUT1's value and stores it in ||BUILTIN|SUB|OUTPUT |
||BUILTIN|MUL |
||BUILTIN|MUL|INPUT0 ||BUILTIN|MUL|INPUT0 ||BUILTIN|MUL|OUTPUT |
performs ||BUILTIN|MUL|INPUT0's value * ||BUILTIN|MUL|INPUT1's value and stores it in ||BUILTIN|MUL|OUTPUT |
||BUILTIN|DIV |
||BUILTIN|DIV|INPUT0 ||BUILTIN|DIV|INPUT0 ||BUILTIN|DIV|OUTPUT |
performs ||BUILTIN|DIV|INPUT0's value / ||BUILTIN|DIV|INPUT1's value and stores it in ||BUILTIN|DIV|OUTPUT |
||BUILTIN|MOD |
||BUILTIN|MOD|INPUT0 ||BUILTIN|MOD|INPUT0 ||BUILTIN|MOD|OUTPUT |
performs ||BUILTIN|MOD|INPUT0's value % ||BUILTIN|MOD|INPUT1's value and stores it in ||BUILTIN|MOD|OUTPUT |