savannah-register-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-register-public] [task #5412] Submission of libbf


From: Even Rouault
Subject: [Savannah-register-public] [task #5412] Submission of libbf
Date: Sat, 15 Apr 2006 13:44:33 +0000
User-agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.2 (like Gecko) Kubuntu 6.04 Dapper

URL:
  <http://savannah.gnu.org/task/?func=detailitem&item_id=5412>

                 Summary: Submission of libbf
                 Project: Savannah Administration
            Submitted by: rouault
            Submitted on: samedi 15.04.2006 à 13:44
         Should Start On: samedi 15.04.2006 à 00:00
   Should be Finished on: mardi 25.04.2006 à 00:00
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Percent Complete: 0%
             Open/Closed: Open
                  Effort: 0.00

    _______________________________________________________

Details:

A new project has been registered at Savannah 
The project account will remain inactive until a site admin approve or
discard the registration.


######### REGISTRATION ADMINISTRATION #########

While this item will be useful to track the registration process, approving
or discarding the registration must be done using the specific "Group
Administration" page, accessible only to site administrators, effectively
logged as site administrators (superuser):

  <https://savannah.gnu.org/siteadmin/groupedit.php?group_id=8481>


######### REGISTRATION DETAILS ######### 

Full Name:
----------
  libbf

System Group Name:
-----------------
  libbf

Type:
-----
  non-GNU software & documentation

License:
-------- 
  GNU Lesser General Public License

Description:
------------
  libbf is a free portable library for Brainfuck fast interpretion,
optimization, compilation and execution. 
It is developped under the GNU Lesser General Public License (GNU LGPL).

-----------------------------------------------------------------------------------------

The library supports regular Brainfuck source code as input, composed of
the following 8 opcodes
                            [ ] + - < > . ,

The library includes :
* a naive Brainfuck interpreter
* a less naive Brainfuck interpreter
* a FAST! Brainfuck interpreter with optimization passes
* a cross-compiler with optimization passes for the following target
architectures :
  i386, x86_64 (amd64), ppc, arm, sparc, mips
* a in-memory Brainfuck optimizer-compiler and launcher for
  those architectures

The optimizer-interpreter includes a profiling tool.
The optimizer-interpreter/compiler includes a step-by-step memory display.
Brainfuck code can be output can be dumped into equivalent C or Java code.

The optimization process transforms the 8 Brainfuck opcodes into a slightly
larger
opcode set enabling basic and complex expression detection (affectation,
addition/substraction/multiplication)
and simplifications, loop removal, etc...

The library supports many sizes for the Brainfuck data cell (regular
Brainfuck data cell is 8 bits) :
* 8, 16, 32, 64 bits for the various interpreters
* 8, 16, 32, 64, 64n bits for the compiler for 64 bits supported
architectures (x86_64)
* 8, 16, 32, 32n bits for the compiler for 32 bits supported architectures
(i386, ppc, arm, sparc, mips)

For i386 and x86_64 compiled code execution (under Linux, Win32, FreeBSD,
OpenBSD), the library offers
a suspend-and-resume feature.

The library offers a rather nice "free" dynamic memory allocation feature for
running brainfuck code.
It works through page protection mechanism and catching of SIGSEGV signals.
It has been successfully tested for the following cases:
* Linux x86_64 optimizer-interpreter and compiler
* Linux/Win32/FreeBSD/OpenBSD i386 optimizer-interpreter and compiler
* Solaris SPARC optimizer-interpreter and compiler
* Linux ppc optimizer-interpreter and compiler

Dynamic allocation should also work for the optimizer-interpreter for all
Linux hosts.









    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/task/?func=detailitem&item_id=5412>

_______________________________________________
  Message posté via/par Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]