Skip to content

ColtonSilvaonKnoxKontor/VaginaFuck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VaginaFuck | An Enhanced Brainfuck Esoteric Programming Language

VaginaFuck is an interpreter written in c++ consisting of 10 operations (as for now), adopting some of the features of c++, notably the fstream file handling that supports only write mode. This project’s goal is to add more syntaxes so that you can create a program with ease.

VaginaFuck NOW SUPPORTS UNICODE! Yes! You can write your own program that can output any of your language (Whether it is Chinese, Japanese, Cyrilic, Arabic, and many other).

It is so hard to find this feature in other portals since they'd just working only on ascii.

This interpreter can be expanded with additional syntaxes, but expected that the development will be slow.

Character Explanation In Other Words
> increment the data pointer Move the cursor one cell right.
< decrement the data pointer Move the cursor one cell left.
+ increment the byte at the data pointer. Increase the value of the current cell by 1
- decrement the byte at the data pointer. Decrease the value of the current cell by 1
* Multiply the byte at the data pointer Multiply the value of the current cell by 2 in ASCII and 4 in Unicode, this is useful for mapping larger values in unicode.
. output a character, the character value of which being the byte at the data pointer. Write the character of the current cell on screen / to file
@ output a character; but this time, it generates the fixed name “out.vfto” file (extension name “vfto” means VaginalFuckTextOutput) and it writes the character. Write the character of the current cell directly on the provided file
, accept one byte of input, storing its value in the byte at the data pointer. Input a byte and store it in the current cell.
[ if the byte at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, jump it forward to the command after the next ] command. "While" the current cell is nonzero, perform the statements between the brackets.
] if the byte at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, jump it back to the command after the previous [ command. End of a while loop

value, character or character value refers to both ASCII and UNICODE depending on the version if we talk about printing a string

UNICODE Character Table Chart

The most convenient way of outputting wide variety of characters with ease. This function displays the character and the assigned value in hexadecimal and decimal value as it is hard to interpret a specific character with values up to 80,000 (depending on your system). You can use this as reference together with your preferred UNICODE chart/list for correct character interpretation.

HowTo

Compilation:

  g++ ascii.cpp -o VaginaFuck  
or

  g++ utf8.cpp -o VaginaFuck  

Usage:

  ./VaginaFuck-x.x filename.bf  

You can download a two variant binary executable file (ASCII and UNICODE) at the right, in the Release section.

About this Maintainer

I, the maintainer of this interpreter forked from the source below is not a professional programmer, so I cannot address some of the complicated concepts or ideas of this project.

Git Mirror

This source code is also available in Gitee, a Github-like platform in Mainland China. It's documentation is translated in Simplified Chinese targeted for local chinese users.

Look Here: https://gitee.com/ColtonSilvaonKnoxKontor/VaginaFuck (as for now, it was blocked for censorship reason)

Credits

All of the source code and other texts here are came from different sources, hence I will give the proper credits to the following:

ko-fi Payment account is not available because of the slow process of National ID ; I'd just added here just in case