LineLover

From Esolang
Jump to navigation Jump to search

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:

Commands
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):

Built-in tasks
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

External Sources

  1. Intrepreter