Create Command
This commit is contained in:
3
docs/syntax.md
Normal file
3
docs/syntax.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## create var = Value
|
||||
|
||||
Creates the variable "var" and initialises its value.
|
||||
3
readme.md
Normal file
3
readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## Welcome to BrainAssembly!
|
||||
|
||||
BrainAssembly is a language that compiles to Brainfuck. Similar to Assembly languages, it has simple syntax, and is designed to make Brainfuck easier to write code for. Enjoy!
|
||||
54
src/main.py
Normal file
54
src/main.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import string
|
||||
from sys import argv
|
||||
file = open(argv[1]).readlines();
|
||||
bfcode = ""
|
||||
def removeChar(str, char):
|
||||
ans = 0
|
||||
for i in str:
|
||||
if (i != char):
|
||||
ans += i
|
||||
return ans
|
||||
|
||||
def removeEnd(string, num):
|
||||
ans = ""
|
||||
for i in range(len(string)-1):
|
||||
ans += string[i]
|
||||
return ans
|
||||
|
||||
def ord2(char):
|
||||
if (len(char) == 1):
|
||||
return ord(char)
|
||||
elif (len(char == 0)):
|
||||
return(0)
|
||||
|
||||
for i in file:
|
||||
if (i.split(" ")[0] == "create"):
|
||||
i = removeEnd(i, 2)
|
||||
bfcode += ">>>>>>>>>>>>[[>>]>>]"
|
||||
|
||||
bytes = int(i.split("*", 1)[1].split("=", 1)[0])
|
||||
|
||||
a = i.split("=", 1)[1]
|
||||
if (a[0] == " "):
|
||||
a = a.split(" ", 1)[1]
|
||||
|
||||
# Get type
|
||||
if ((a[0] == "\"") & (a[len(a)-1] == "\"")):
|
||||
type = "string"
|
||||
else:
|
||||
type = "undefined"
|
||||
|
||||
if (type == "string"):
|
||||
a = a.split("\"", 1)[1]
|
||||
a = removeEnd(a, 1)
|
||||
for j in range(bytes):
|
||||
bfcode += "+++>"
|
||||
if (j < len(a)):
|
||||
bfcode += "+" * ord(a[j]) + ">"
|
||||
bfcode += "<[[<<]<<]<<<<<<<<<"
|
||||
print(type)
|
||||
else:
|
||||
print("what the sigma")
|
||||
|
||||
with open(argv[2], "w") as file:
|
||||
file.write(bfcode)
|
||||
3
tests/main.basm
Normal file
3
tests/main.basm
Normal file
@@ -0,0 +1,3 @@
|
||||
create str *5= "Hello, world!"
|
||||
create str *5= "World, hello!"
|
||||
create str *6= "Sigma!"
|
||||
1
tests/main.bf
Normal file
1
tests/main.bf
Normal file
@@ -0,0 +1 @@
|
||||
>>>>>>>>>>>>[[>>]>>]+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++><[[<<]<<]<<<<<<<<<>>>>>>>>>>>>[[>>]>>]+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++><[[<<]<<]<<<<<<<<<>>>>>>>>>>>>[[>>]>>]+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++><[[<<]<<]<<<<<<<<<
|
||||
Reference in New Issue
Block a user