Skip to main content

Super BrainF**k Ultra Professional Max Air Neo Ex

Project description

Super BrainF**k Ultra Professional Max Air Neo Ex

** Tip: I am not the original author of BrainF**k. **

** Warning: The following content contains some profanity. Please ensure you are over 3 million years old. **

install

pip install SpBFUltraProMaxAirNeoEx

Run BF in your Python code.

import bf
bf.fuck("""
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
""")

I also added debug.

import bf
bf.fuck("""
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
""",debug=True)

There is also the classic mode.

import bf
bf.fuck("""
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
""",classic=True)

Run BF in your console

bf -c "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>."
bf helloworld.bf
bf debug helloworld.bf
bf hellowirld.bf classic
bf debug helloworld.bf classic
bf -c "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>." classic

Install the library

I've got the website up! You can now install the library via the web:

bf install copy
bf install math
bf install set
#Currently, I have only made these.

Install the local library

cd #(The directory where your library is located)
bf install -f #(Your library name)

uninstall

bf uninstall #(Your library name)

Modify URL

If you have also built a similar website, you can replace the URL with yours:

bf url "https://emocez.github.io/SpBFUltraProMaxAirNeoEx/"

Show what symbols are in a library

bf show mylib

List all libraries

bf list

Search local library (not useful (maybe?))

bf search my #Keyword

Check library updates

bf check #Just checking.
bf check -au -YES #Automatic update

BrainFuck Article

Generate bf based on the text file

bf ae mytext.txt #The default output is mytext.txt.bf
bf ae mytext.txt output=otherfile.bf #Modify the output target file name

How to create a library?

This is the tutorial for creating the first version of the library, which I call "a-pack."

This library is essentially a JSON file.

You can create a JSON file, with the file name being your library name, for example...

touch more.json

Then, you need to edit this file.

You need to think about it yourself; I usually use nano.

nano more.json

Then, write a pair of square brackets, like: []

[
]

Write a pair of curly braces inside, like: {}

[
    {
    }
]

Write the symbol.

[
    {
        "name":"#"
    }
]

Add execution logic

This counts as a DSL (if I may), it's called BFEX (BrainFuck Expression).

I'll just write an addition.

[
    {
        "name":"#",
        "expre":[
            "r",
            "get",
            "l",
            {"add":"get"}
        ]
    }
]

Currently, I have prepared these available execution logics:

"r": Move to the right

"l": Move to the left

"get": Obtain the value of the current cell

"give": Set the value of the current cell to the value obtained last time.

{"set":number}: Set the current cell to a number

{"add":number}: Increase the number in the current cell

{"sub":number}: Reduce the number in the current cell.

{"output":string}: Output content to help you debug.

{"if":[value,condition,value],"expre":BFEX}:   value:     If it is a string, it can be "now" or "val" or "get".     He can also be a list (when he is in the second position) or a number   condition:     It can be ">", "<", "=", or "in". {"cyc":BFEX}: Loop, maximum loop count 15000, the method to exit the loop is as follows:

"out": Get out of this damn loop, it's recommended to use it with if.

Tip: In the content above, the number for add or sub can be the string "get," which allows you to add the number obtained in the previous operation.

{"func":funcname}: Call a function (the function needs to be created in b-pack)

After exiting the editor, you can proceed with the installation!

bf install -f more

After installation, you can use the symbols you defined:

>+++
<+++
#

Wait, did you just mention b-pack?

How do I make a b-pack?

First, you need to create a folder.

mkdir mybpack/

Next, create an index.json and edit it.

touch index.json
nano index.json #I really like using nano!

Write it like this:

{
    "name":"mydpack",
    "func":[
        //List your functions as follows:
        "myfunc"
        //When reading, it will automatically point to "myfunc.bf".
    ],
    "mod":[
        //List your Module as follows:
        "mymod"
        //When reading, it will automatically point to "mymod.json".
    ]
}

Tip: The JSON module built into Python is used in SBF, which does not support comments in JSON!

I just listed the functions and modules I need in the JSON.

So I must write them down!

You can customize the function name or module name.

The module is very simple, just like a symbol in a-pack (not a-pack).

{
    "name":"/",
    "expre":[
        {"func":"myfunc"}
    ]
}

A function is a .bf file, and when it runs, it has its own independent runtime. I don't know how to make it share the same runtime as the main program...

>++++++++++[<++++++++++>-]<++.+++++++++++++++.------------------.++++++++.++++++++++++++.----------.++++++.[-]++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.----------.++++++.[-]++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.------------.---.[-]++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++.------------------.++++++++.--.+++++.-------.[-]++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-----------.+.+++++++++++.[-]++++++++++.

Then, you will need to use a magical command—bf build

bf build

Alright, it's not that magical.

He will package the set of things you wrote into a JSON.

emm

Yes, this is the b-pack itself.

If you think you can do it, you can challenge yourself to write a b-pack directly.

But I don't have any documentation about this.

After you have packaged it, you can directly install it.

Like a-pack

bf install -f mydpack

What are the differences between b-pack and a-pack? Why should I write b-pack?

My answer is: I don't know either! But b-pack is much more intuitive than a-pack! (If I think about it)

BF REPL

This is a temporarily added section.

bf -i

There are hints inside, and I believe you can understand English.

Because you can understand this sentence.

Disclaimer (Fake)

I can never be sure that my website won't be hacked.

Although I think no one would come to persecute me if I wanted to.

What are they trying to do by hacking this website?

Just to check my open-source file?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spbfultrapromaxairneoex-0.1.9.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spbfultrapromaxairneoex-0.1.9-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file spbfultrapromaxairneoex-0.1.9.tar.gz.

File metadata

  • Download URL: spbfultrapromaxairneoex-0.1.9.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for spbfultrapromaxairneoex-0.1.9.tar.gz
Algorithm Hash digest
SHA256 9f6196fc853640e33ebb2d704564de989159b67cb3847d59491190f291b861d2
MD5 1a6eb98daba5838f092ae286e689657e
BLAKE2b-256 bb85a20ca72d3ccc0d51652f778c13e0ef70fc2c834cde01b34ee9bc6aa15be8

See more details on using hashes here.

File details

Details for the file spbfultrapromaxairneoex-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for spbfultrapromaxairneoex-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 39069901f38b7d1179317d43eff9f2d737a63d1a989be40574de7c597fc7abb1
MD5 d6d4e43d6e20d5cdce433d14d84a89e6
BLAKE2b-256 d31183305a4efe7749d2d1d51fc9c91a0d5c4218d1775d92786242b7f1492be9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page