GithubHelp home page GithubHelp logo

beatussum / brainfuck Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 201 KB

A Brainfuck interpreter

Home Page: https://beatussum.github.io/brainfuck/

License: GNU General Public License v3.0

CMake 31.67% C 68.33%
ensimag brainfuck brainfuck-interpreter

brainfuck's Introduction

Brainfuck

License GitHub release

Quel est ce projet ?

Ce projet consiste en un interpréteur Brainfuck. Il s'agit d'un projet donné lors de mes études à l'ENSIMAG, une école d'ingénieur française en informatique, durant l'année scolaire 2023-2024.

Qu'est-ce que le Brainfuck ?

Brainfuck est un langage de programmation exotique, inventé par Urban Müller en 1993. Il tire son nom de l’union de deux mots anglais, brain (« cerveau ») et fuck (« niquer »), et joue sur les mots, puisque ce langage est volontairement simpliste, et parce que l'expression Brain Fuck évoque, en argot, ce qui met le cerveau dans un état de confusion par sa complexité apparente. Ce vocabulaire peu flatteur lui a d'ailleurs valu d'être écrit sous d'autres orthographes plus prudes, telles que Brainf*ck, Brainf*** ou encore BF. 1

Construction depuis les sources

Dépendances

Pour construire brainfuck, les dépendances suivantes sont nécessaires (uniquement lors de la construction) :

Instructions

  1. Récupérer les sources.

    git clone "https://github.com/beatussum/brainfuck.git"
  2. Se placer dans le répertoire.

    cd brainfuck
  3. Créer le dossier de construction.

    mkdir build
    cd build
  4. Lancer CMake.

    cmake -DCMAKE_BUILD_TYPE:STRING="Release" -G Ninja ..

    Pour construire en plus la documentation, rajouter l'option -DWITH_DOCS:BOOL=YES.

  5. Construire l'exécutable.

    ninja

    Pour construire la documentation, appeler

    ninja docs

Utilisation

USAGE:
    brainfuck compile <input> <output>
    brainfuck run <input>

For the `compile` command, you can replace:
    - `input` by `-` to set the standard input as input,
    - `output` by `-` to set the standard output as output.

Pour compile, le programme va générer dans la sortie output un source C à partir du programme Brainfuck input donné en entrée.

Pour run, l'exécutable prend un paramètre correspondant à un fichier contenant un programme Brainfuck.

Licence

Le code de ce logiciel est sous licence GPL-3 ou toute version ultérieure.

Footnotes

  1. https://fr.wikipedia.org/wiki/Brainfuck

  2. seulement si vous souhaitez construire la documentation

brainfuck's People

Contributors

beatussum avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.