1
0

Worked on BefunGen Descriptions

This commit is contained in:
Mike Schwörer 2014-07-08 17:46:09 +02:00
parent 6a797015cb
commit e17154d28c
7 changed files with 191 additions and 80 deletions

130
.idea/workspace.xml generated
View File

@ -2,9 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="802a3fea-d257-43f4-acd0-825667875110" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/www.mikescher.de.iml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/www.mikescher.de.iml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/encodings.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
@ -66,7 +66,7 @@
<file leaf-file-name="ProgramsController.php" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/www/protected/controllers/ProgramsController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="74" selection-start="338" selection-end="338" vertical-scroll-proportion="0.32435465" vertical-offset="0" max-vertical-offset="4420">
<state line="22" column="42" selection-start="392" selection-end="392" vertical-scroll-proportion="0.09582864" vertical-offset="289" max-vertical-offset="4420">
<folding />
</state>
</provider>
@ -75,7 +75,7 @@
<file leaf-file-name="LogController.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/www/protected/controllers/LogController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="74" selection-start="266" selection-end="266" vertical-scroll-proportion="-9.153846" vertical-offset="0" max-vertical-offset="3400">
<state line="14" column="74" selection-start="266" selection-end="266" vertical-scroll-proportion="0.0" vertical-offset="238" max-vertical-offset="3400">
<folding />
</state>
</provider>
@ -84,7 +84,7 @@
<file leaf-file-name="admin.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/www/protected/views/log/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="0" selection-start="1224" selection-end="1224" vertical-scroll-proportion="-24.807692" vertical-offset="188" max-vertical-offset="1105">
<state line="49" column="0" selection-start="1224" selection-end="1224" vertical-scroll-proportion="0.0" vertical-offset="188" max-vertical-offset="1105">
<folding />
</state>
</provider>
@ -167,7 +167,7 @@
<option name="x" value="55" />
<option name="y" value="-8" />
<option name="width" value="1873" />
<option name="height" value="1096" />
<option name="height" value="1092" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
@ -250,20 +250,6 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope">
<subPane subId="Mikescher.de App">
<PATH>
<PATH_ELEMENT USER_OBJECT="Root">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
<PATH_ELEMENT USER_OBJECT="www.mikescher.de">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="ProjectPane">
<subPane>
<PATH>
@ -556,6 +542,20 @@
</PATH>
</subPane>
</pane>
<pane id="Scope">
<subPane subId="Mikescher.de App">
<PATH>
<PATH_ELEMENT USER_OBJECT="Root">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
<PATH_ELEMENT USER_OBJECT="www.mikescher.de">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
@ -711,7 +711,7 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="55" y="-8" width="1873" height="1096" extended-state="0" />
<frame x="55" y="-8" width="1873" height="1092" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
@ -720,7 +720,7 @@
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24958678" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Framework" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3294766" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27603304" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27878788" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39448568" sideWeight="0.4997245" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2214876" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3244963" sideWeight="0.5002755" order="9" side_tool="true" content_ui="tabs" />
@ -728,12 +728,12 @@
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32661718" sideWeight="0.4997245" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32661718" sideWeight="0.4997245" order="1" side_tool="false" content_ui="tabs" />
<window_info id="PHP-CGI Server" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="UnknownFeatures">
@ -761,6 +761,13 @@
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/www/protected/views/log/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="0" selection-start="1224" selection-end="1224" vertical-scroll-proportion="0.0" vertical-offset="188" max-vertical-offset="1105">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/about.php">
<provider selected="true" editor-type-id="text-editor">
<state line="97" column="64" selection-start="3708" selection-end="3708" vertical-scroll-proportion="2.882867" vertical-offset="0" max-vertical-offset="2210" />
@ -775,9 +782,7 @@
</entry>
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/php/lib/php.jar!/com/jetbrains/php/lang/psi/stubs/data/date_c.php">
<provider selected="true" editor-type-id="text-editor">
<state line="329" column="47" selection-start="12475" selection-end="12475" vertical-scroll-proportion="0.2888889" vertical-offset="5424" max-vertical-offset="10948">
<folding />
</state>
<state line="329" column="47" selection-start="12475" selection-end="12475" vertical-scroll-proportion="0.2888889" vertical-offset="5424" max-vertical-offset="10948" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programupdates/view.php">
@ -832,9 +837,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/models/ProgramUpdates.php">
<provider selected="true" editor-type-id="text-editor">
<state line="6" column="25" selection-start="154" selection-end="159" vertical-scroll-proportion="-3.8846154" vertical-offset="1" max-vertical-offset="1853">
<folding />
</state>
<state line="6" column="25" selection-start="154" selection-end="159" vertical-scroll-proportion="-3.8846154" vertical-offset="1" max-vertical-offset="1853" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programupdates/admin.php">
@ -864,9 +867,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/helpers/TbHtml.php">
<provider selected="true" editor-type-id="text-editor">
<state line="3682" column="27" selection-start="146162" selection-end="146162" vertical-scroll-proportion="0.52136755" vertical-offset="62170" max-vertical-offset="74018">
<folding />
</state>
<state line="3682" column="27" selection-start="146162" selection-end="146162" vertical-scroll-proportion="0.52136755" vertical-offset="62170" max-vertical-offset="74018" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/config/main.php">
@ -926,37 +927,27 @@
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/layouts/main.php">
<provider selected="true" editor-type-id="text-editor">
<state line="91" column="103" selection-start="2939" selection-end="2939" vertical-scroll-proportion="0.0" vertical-offset="1547" max-vertical-offset="1972">
<folding />
</state>
<state line="91" column="103" selection-start="2939" selection-end="2939" vertical-scroll-proportion="0.0" vertical-offset="1547" max-vertical-offset="1972" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/widgets/ProgDescription.php">
<provider selected="true" editor-type-id="text-editor">
<state line="21" column="49" selection-start="399" selection-end="399" vertical-scroll-proportion="0.0" vertical-offset="357" max-vertical-offset="612">
<folding />
</state>
<state line="21" column="49" selection-start="399" selection-end="399" vertical-scroll-proportion="0.0" vertical-offset="357" max-vertical-offset="612" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/widgets/views/progDescription_tabbed.php">
<provider selected="true" editor-type-id="text-editor">
<state line="7" column="12" selection-start="113" selection-end="113" vertical-scroll-proportion="0.0" vertical-offset="119" max-vertical-offset="425">
<folding />
</state>
<state line="7" column="12" selection-start="113" selection-end="113" vertical-scroll-proportion="0.0" vertical-offset="119" max-vertical-offset="425" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programs/view.php">
<provider selected="true" editor-type-id="text-editor">
<state line="139" column="69" selection-start="3922" selection-end="3922" vertical-scroll-proportion="1.919192" vertical-offset="653" max-vertical-offset="2601">
<folding />
</state>
<state line="139" column="69" selection-start="3922" selection-end="3922" vertical-scroll-proportion="1.919192" vertical-offset="653" max-vertical-offset="2601" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programs/update.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0" vertical-offset="0" max-vertical-offset="527">
<folding />
</state>
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0" vertical-offset="0" max-vertical-offset="527" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/framework/db/ar/CActiveRecord.php">
@ -968,54 +959,37 @@
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/MsHelper.php">
<provider selected="true" editor-type-id="text-editor">
<state line="55" column="5" selection-start="1237" selection-end="1237" vertical-scroll-proportion="0.9618406" vertical-offset="78" max-vertical-offset="1054">
<folding>
<marker date="1404652548711" expanded="true" signature="-1:-1" placeholder="SELECT SValu..." />
<marker date="1404652548711" expanded="true" signature="-1:-1" placeholder="SELECT [Valu..." />
</folding>
</state>
<state line="55" column="5" selection-start="1237" selection-end="1237" vertical-scroll-proportion="0.9618406" vertical-offset="78" max-vertical-offset="1054" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/css/styles.css">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="26" selection-start="281" selection-end="281" vertical-scroll-proportion="0.31515813" vertical-offset="0" max-vertical-offset="10863">
<folding />
</state>
<state line="17" column="26" selection-start="281" selection-end="281" vertical-scroll-proportion="0.31515813" vertical-offset="0" max-vertical-offset="10863" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programs/create.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="917">
<folding />
</state>
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="917" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programs/_view.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="917">
<folding />
</state>
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="917" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/widgets/TbActiveForm.php">
<provider selected="true" editor-type-id="text-editor">
<state line="700" column="20" selection-start="28914" selection-end="28914" vertical-scroll-proportion="0.33333334" vertical-offset="11501" max-vertical-offset="12461">
<folding />
</state>
<state line="700" column="20" selection-start="28914" selection-end="28914" vertical-scroll-proportion="0.33333334" vertical-offset="11501" max-vertical-offset="12461" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/widgets/views/progDescription.php">
<provider selected="true" editor-type-id="text-editor">
<state line="13" column="75" selection-start="244" selection-end="310" vertical-scroll-proportion="-8.5" vertical-offset="0" max-vertical-offset="357">
<folding />
</state>
<state line="13" column="75" selection-start="244" selection-end="310" vertical-scroll-proportion="-8.5" vertical-offset="0" max-vertical-offset="357" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/ProgramHelper.php">
<provider selected="true" editor-type-id="text-editor">
<state line="142" column="54" selection-start="2992" selection-end="3027" vertical-scroll-proportion="0.332211" vertical-offset="2118" max-vertical-offset="3009">
<folding />
</state>
<state line="142" column="54" selection-start="2992" selection-end="3027" vertical-scroll-proportion="0.332211" vertical-offset="2118" max-vertical-offset="3009" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/models/Program.php">
@ -1027,35 +1001,31 @@
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programs/_form.php">
<provider selected="true" editor-type-id="text-editor">
<state line="77" column="105" selection-start="2945" selection-end="2945" vertical-scroll-proportion="0.80920315" vertical-offset="588" max-vertical-offset="1649">
<folding />
</state>
<state line="77" column="105" selection-start="2945" selection-end="2945" vertical-scroll-proportion="0.80920315" vertical-offset="588" max-vertical-offset="1649" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/_form.php">
<provider selected="true" editor-type-id="text-editor">
<state line="21" column="0" selection-start="675" selection-end="904" vertical-scroll-proportion="0.4006734" vertical-offset="0" max-vertical-offset="1054">
<folding />
</state>
<state line="21" column="0" selection-start="675" selection-end="904" vertical-scroll-proportion="0.4006734" vertical-offset="0" max-vertical-offset="1054" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="0" selection-start="1224" selection-end="1224" vertical-scroll-proportion="-24.807692" vertical-offset="188" max-vertical-offset="1105">
<state line="49" column="0" selection-start="1224" selection-end="1224" vertical-scroll-proportion="0.0" vertical-offset="188" max-vertical-offset="1105">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/LogController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="74" selection-start="266" selection-end="266" vertical-scroll-proportion="-9.153846" vertical-offset="0" max-vertical-offset="3400">
<state line="14" column="74" selection-start="266" selection-end="266" vertical-scroll-proportion="0.0" vertical-offset="238" max-vertical-offset="3400">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/ProgramsController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="74" selection-start="338" selection-end="338" vertical-scroll-proportion="0.32435465" vertical-offset="0" max-vertical-offset="4420">
<state line="22" column="42" selection-start="392" selection-end="392" vertical-scroll-proportion="0.09582864" vertical-offset="289" max-vertical-offset="4420">
<folding />
</state>
</provider>

View File

@ -0,0 +1,60 @@
BefunExec is a fast Befunge-93 interpreter.
![BEFUNEXEC_MAINWINDOW](/data/programs/desc/BefunGen/01_Manuals/BefunExec_Main.png)
BefunExec can either be controlled over the menu or by keyboard shortcuts.
You can read about the shortcuts and the command line parameters in the console window of BefunExec.
##Program
In the center you can see the program, depending on your options highlighted or not.
You can zoom in either with your mouse wheel or by dragging a selection box. With `Esc` can you go one zoom level back.
By pressing `R` can you reset the whole program and by pressing `Space` can you pause/un-pause it.
While he program s paused you can do a single step by pressing `Left`
You can also change the simulation speed with the shortcuts `1` to `5` and add breakpoints by clicking on a single command (breakpoints are displayed blue).
> **Tip:**
> Access debug information like FPS and your current interpretation speed by holding `tab`
##Stack
On the left side is the current program stack, if you have enabled it you can see behind the numbers the ASCII representation of the number.
##In/Output
Every output is written into the output field and the console, you can also access all the output over the menu entry "show output".
For the input there is an input buffer in place. You can enter a series of chars in the input-box and press the input button.
Your text is then in the input buffer and the next time the program wants to read a character it will take it from this buffer.
If the buffer is empty the program will pause until there is a character in it which it can read.
When the programs reads a number on the other side will always pause the program and ask the user to enter a number.
##Settings
Over the menu you can change a few settings:
- **Syntax Highlighting**: Choose your Syntax highlighting method
- **Follow cursor**: Zoom in and follow the PC automatically around
- **Show trail**: Show trail behind PC
- **ASCII stack**: Show ASCII characters in stack display
- **Skip NOP's**: Skip continuous White spaced
- **Debug mode**: While in debug mode you will be warned of operations that would never occur in a BefunGen created program (wrap-around-edge, pop empty stack ...)
###Extended Syntax Highlighting
![BEFUNEXEC_ESH](/data/programs/desc/BefunGen/01_Manuals/BefunExec_ESH_example.png)
BefunExec can use BefunHighlight to highlight the program (= extended Syntax highlighting).
It will automatically choose so if the program isn't too big and you haven't explicitly specified another highlighting method.
Be aware that when you run on top speed and BefunExec is getting slowed down a lot by BefunHighlight it will automatically change the highlighting method.
##Additional
###Capture GIF
![BEFUNEXEC_CAPTUREGIFDIALOG](/data/programs/desc/BefunGen/01_Manuals/BefunExec_CaptureGifDialog.png)
With the menu point "Capture GIF" you can create an animated .gif animation of your running program.
You can set the amount of steps to capture and the animation delay between the steps. You can also set the final delay before the animation restarts.
There is also the "Automatic frame count" option, only use this if your program terminates in a reasonable amount of frames.

View File

@ -0,0 +1,81 @@
BefunWrite is an IDE to write and compile TextFunge, once started you will see the main window:
![BEFUNWRITE_MAINWINDOW](/data/programs/desc/BefunGen/01_Manuals/BefunWrite_Main.png)
You can write your code in the center and see a summary of current constants/variables/methods on the right side.
On the bottom site you can also expand the tabs `Output` and `ErrorList`.
In the code section you can see an example program (a simple hello world), feel free to edit this example or delete it completely.
You can safe your code in the menu or by pressing `STRG+S`. 3 different files will be created:
- `projectname.tfp` : The project file, it contains settings and the path to the other files
- `projectname.tf` : The actual source-code
- `projectname.tfdv` : The initial display value (or empty if not defined)
If you want to set an initial display value (see the topic `TextFunge` for more information) you can modify the tab `Display` beside the tab `code`.
To build the project simply choose a build configuration (Debug and Release are the defaults) and click `Build`.
The builded Befunge files will end up in the sub-folder `projectname\configname`.
To test the program you can also choose run, this will build the project and then open it in BefunExec.
##Build configurations
With the build configurations dialog you can modify the build process
![BEFUNWRITE_SETTINGS](/data/programs/desc/BefunGen/01_Manuals/BefunWrite_Settings.png)
> **Note:**
>
> - **PC** is the *Program Counter*, the current position in the program
> - **NOP-cells** are the unused parts of the program, they are neither variable space, nor commands.
> The PC will enter them and they should never be evaluated.
###General
> General BefunWrite Settings
- **Name**
###Execution
> BefunExec Settings
- **Debugging Enabled**: Enable debugging options (warnings on unexpected behaviours)
- **Start Paused**: Starts the program non-running
- **Syntax highlighting**: Sets the preferred syntax highlighting method
- **Show chars in stack**: Show the ASCII chars in the stack
- **Follow PC**: Start with follow mode enabled
- **Skip Whitespace**: Skip continuous white-spaces
- **Initial speed**: Sets (the index) of the initial interpretation speed
- **Speed[x]**: The delay between cycles on speed level *x*
- **Show Tail**: Show a fading tail behind the actual PC
- **Lifetime Tail**: The time (in ms) until the tail has faded away
- **Start zoomed in on display**: Set the initial zoom fitting for the display
###Code Generation
> BefunGen Settings
- **Number literal representation**: The used algorithm for presenting number literals
- **Optimize double string-mode**: Try to combine two adjacent `"` together
- **Set NOP to special char**: Set NOP cells to a special character
- **Custom NOP char**: The special character for NOP cells (if used)
- **Horizontal compression**: Try to horizontally compress the program
- **Vertical compression**: Try to vertically compress the program
- **Minimum VarDecl. width**: The minimum width of a declaration block, increase this if your initialization-blocks grow in height.
- **Default VarDecl char**: The initial char (before initialization) of variable fields
- **Default TempDecl/TempResult char**: The initial char (before use) of temporary fields
- **Safe boolean cast**: When hard-casting a variable to boolean it will result in either a **1** or a **0**
- **Default local int/char/bool var value**: The initial value of a local variable *(should stay default)*
- **Initial disp char**: The initial character of the display fields
- **Display border value**: The character of the border around the display
- **Display border thickness**: The thickness of the border around the display
- **Prevent Display overflow**: When accessing coordinates outside of the display wrap around the edges.
- **Optimize static Expr**: Try to compile-time interpret simple expressions (4 * 4 + 4 ==> 20)
- **Remove unused methods**: Don't include methods that get never called
> **Warning !**
> If **Prevent Display overflow** is not set you can write into your own program and cause *really* strange behaviour.
> If you choose this path you have to prevent an out-of-bounds display access for yourself.
Be aware that it is wise to leave most code generation settings on their default values.
For the most cases only the settings **Set NOP to special char**, **Safe boolean cast** and **Prevent Display overflow** should be interesting.