bfa(1) Brain Fuck Assembler bfa(1) NNAAMMEE bfa - Brain Fuck Assembler SSYYNNOOPPSSIISS bbffaa IINNFFIILLEE OOUUTTFFIILLEE DDEESSCCRRIIPPTTIIOONN bbffaa is an assembler for the minimalized programming lan- guage Brain Fuck. It translates a better readable BFA source code to native absolutely unreadable Brain Fuck code. The produced code can be executed with a Brain Fuck Interpreter like bbffii from Urban Mueller, or directly on a system providing a Brain Fuck processor. The first argument IINNFFIILLEE is the file name of the BFA source code. This file will be translated to native Brain Fuck code and written to the file given by the second argument. Use -- instead of a filename to use ssttddiinn or ssttddoouutt. EEXXAAMMPPLLEESS bbffaa oorrddeerr..bbffaa oorrddeerr..bb Read BFA code from oorrddeerr..bbffaa translate it to Brain Fuck code and write it to oorrddeerr..bb. bbffaa -- oorrddeerr..bb Read BFA code from ssttddiinn translate it to Brain Fuck code and write it to oorrddeerr..bb. bbffaa oorrddeerr..bbffaa -- Read BFA code from oorrddeerr..bbffaa translate it to Brain Fuck code and write it to ssttddoouutt. SSOOUURRCCEE CCOODDEE One command per line. Empty lines will be ignored. Text behind the comment char ;; will be ignored. Spaces and tabs outside quotation marks will be ignored. To print a quo- tation mark it must be escaped with \\. The sequence \\nn will brake a line. To print the char \\ itself it must be written as \\\\. The following standard commands are currently supported: MMVVLL Move left. This is equivalent to the Brain Fuck command <<. MMVVRR Move right. This is equivalent to the Brain Fuck command >>. AADDDD Add one. This is equivalent to the Brain Fuck com- mand ++. SSUUBB Subtract one. This is equivalent to the Brain Fuck command --. 0.2 January 26th, 2000 1 bfa(1) Brain Fuck Assembler bfa(1) GGEETT Get char from ssttddiinn. This is equivalent to the Brain Fuck command ,,. PPUUTT Write char to ssttddoouutt. This is equivalent to the Brain Fuck command ... LLOOBB Begin loop. This is equivalent to the Brain Fuck command [[. LLOOEE End loop. This is equivalent to the Brain Fuck com- mand ]]. The following extended commands are currently supported: MMVVLL xx Move left xx times. MMVVRR xx Move right xx times. AADDDD xx Add xx. SSUUBB xx Subtract xx. GGEETT xx Get xx chars from ssttddiinn. PPUUTT xx Write character number xx to ssttddoouutt. PPUUTT ""TTeexxtt"" Write text to ssttddoouutt. SSEETT Set current value to zero. SSEETT xx Set current value to xx. CCPPLL xx Create xx copies of current value to the left. After this copy action the current value will be zeroed. CCPPRR xx Create xx copies of the current value to the right. After this copy action the current value will be zeroed. EEXXIITT SSTTAATTUUSS 00 Successfull program execution. 11 Unsuccessfull program execution. An error message was sent to ssttddeerrrr. SSEEEE AALLSSOO bbffii. HHIISSTTOORRYY VVeerrssiioonn 00..11 -- 1122//1199//11999999 Initial release. 0.2 January 26th, 2000 2 bfa(1) Brain Fuck Assembler bfa(1) VVeerrssiioonn 00..22 -- 0011//2266//22000000 bbffaa now creates optimized Brain Fuck code. Man page added. Some other file changes in the archive. AAUUTTHHOORR bbffaa was written by Klaus Reimer and is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 0.2 January 26th, 2000 3