Create Command

This commit is contained in:
2025-10-06 10:50:14 +11:00
commit 8cc737962e
5 changed files with 64 additions and 0 deletions

3
docs/syntax.md Normal file
View File

@@ -0,0 +1,3 @@
## create var = Value
Creates the variable "var" and initialises its value.

3
readme.md Normal file
View 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
View 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
View 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
View File

@@ -0,0 +1 @@
>>>>>>>>>>>>[[>>]>>]+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++><[[<<]<<]<<<<<<<<<>>>>>>>>>>>>[[>>]>>]+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++><[[<<]<<]<<<<<<<<<>>>>>>>>>>>>[[>>]>>]+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>+++>+++++++++++++++++++++++++++++++++><[[<<]<<]<<<<<<<<<