JamogusLamogusAmogus
Jump to navigation
Jump to search
JamogusLamogusAmogus (refer to it as "Jlamogus" in formal situations) is a very "sussy" esoteric interpreted programming language made in python. JamogusLamogusAmogus uses the incredibly unique file extension of "ඞ".
List of JamogusLamogusAmogus' functions:
Function | Parameters | Usage |
---|---|---|
JoinGame | Var | Sets a variable to 0 (initializes variable if it doesn't exist already). |
guysTheImposterIs | Var | Takes a variable, converts its value to Unicode, and prints it to the console. |
addNewVent | VentName | Creates a new vent. |
vent | VentName | Sets program counter to position of vent. |
completeTask | Var | increments a variable by one. |
sabotage | Var | decrements a variable by one. |
slice | Var | halves a variable. |
twoAmogus | Var | doubles a variable. |
where? | Var | sets variable to user input read as a float. |
{arg0} hasCompleted {arg1} tasks | Var, Float | sets a variable to a float value. |
ventIf {arg0} {arg1} {arg2} {arg3} | Var, equallySus/moreSus/lessSus, Float, VentName | vents to a vent if a variable is > or = or < than a float. |
Hello World (x10)
joinGame letter; joinGame i; addNewVent hello; completeTask i; letter hasCompleted 72 tasks; guysTheImposterIs letter; letter hasCompleted 101 tasks; guysTheImposterIs letter; letter hasCompleted 108 tasks; guysTheImposterIs letter; letter hasCompleted 108 tasks; guysTheImposterIs letter; letter hasCompleted 111 tasks; guysTheImposterIs letter; letter hasCompleted 32 tasks; guysTheImposterIs letter; letter hasCompleted 87 tasks; guysTheImposterIs letter; letter hasCompleted 111 tasks; guysTheImposterIs letter; letter hasCompleted 114 tasks; guysTheImposterIs letter; letter hasCompleted 108 tasks; guysTheImposterIs letter; letter hasCompleted 100 tasks; guysTheImposterIs letter; letter hasCompleted 33 tasks; guysTheImposterIs letter; letter hasCompleted 10 tasks; guysTheImposterIs letter; ventIf i moreSus 10 done; ventIf i equallySus 10 done; vent hello; addNewVent done;
Running ".ඞ" files:
Run "python Jlamogus.py main.ඞ" in the terminal.
Jlamogus.py:
import os import sys def represents_int(s): try: float(s) except ValueError: return False else: return True def execCode(code:str): variables = {} tasks = {} codeList = code.replace("\n","").split(";") counter = 0 for i in codeList: c = i.split(" ") if c[0] == "addNewVent": tasks[c[1]] = counter counter += 1 counter = 0 while True: try: line = codeList[counter] except IndexError: return sections = line.split(" ") if len(sections) == 2: if sections[0] == "joinGame": variables[sections[1]] = 0 elif sections[0] == "guysTheImposterIs": print(chr(int(float(variables[sections[1]]))), end="") elif sections[0] == "vent": counter = tasks[sections[1]] elif sections[0] == "completeTask": variables[sections[1]] += 1 elif sections[0] == "sabotage": variables[sections[1]] -= 1 elif sections[0] == "slice": variables[sections[1]] /= 2 elif sections[0] == "twoAmogus": variables[sections[1]] *= 2 elif sections[0] == "where?": variables[sections[1]] = float(input("> ")) elif len(sections) == 4: if sections[1] == "hasCompleted" and sections[3] == "tasks": variables[sections[0]] = float(sections[2]) elif len(sections) == 5: if sections[0] == "ventIf": if sections[2] == "equallySus": if represents_int(sections[3]): if variables[sections[1]] == float(sections[3]): counter = tasks[sections[4]] else: if variables[sections[1]] == variables[sections[3]]: counter = tasks[sections[4]] elif sections[2] == "moreSus": if represents_int(sections[3]): if variables[sections[1]] > float(sections[3]): counter = tasks[sections[4]] else: if variables[sections[1]] > variables[sections[3]]: counter = tasks[sections[4]] elif sections[2] == "lessSus": if represents_int(sections[3]): if variables[sections[1]] < float(sections[3]): counter = tasks[sections[4]] else: if variables[sections[1]] < variables[sections[3]]: counter = tasks[sections[4]] counter+=1 os.system('cls' if os.name == 'nt' else 'clear') execCode(open(sys.argv[1],"r").read())