Skip to content

Esolang-NET/Brainfuck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

305 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Esolang.Brainfuck

.NET

Quick Start (Generator)

Write Brainfuck once, call it as a C# method.

using Esolang.Brainfuck;

Console.WriteLine(BrainfuckSample.SampleMethod1());

partial class BrainfuckSample
{
	[GenerateBrainfuckMethod("++++++[>++++++++<-]++++++++++[>.+<-]")]
	public static partial string? SampleMethod1();
}

// output:
// 0123456789

As far as we know, this is the first Brainfuck source generator for .NET.

Generator Guide

For detailed Generator signatures and patterns, see:

Generator Signatures

Attribute Argument partial Method Parameters (Input) partial Method Return Types (Output)
string (Source) TextReader?, PipeReader?, byte[]? void, string, string?, int, Task, ValueTask, IEnumerable<byte>, IAsyncEnumerable<byte>

For runnable examples, see:

Implementation Status

Area Status
Core Brainfuck instructions
[ ] matching
Event-based I/O
TextReader / PipeReader input (Adapter)
TextWriter / PipeWriter output (Adapter)

Install

dotnet add package Esolang.Brainfuck.Generator
dotnet add package Esolang.Brainfuck.Parser
dotnet add package Esolang.Brainfuck.Processor
dotnet tool install -g dotnet-brainfuck

Choose Package

Want to do Package
Generate C# methods from Brainfuck at compile time Esolang.Brainfuck.Generator
Parse source into sequence tokens Esolang.Brainfuck.Parser
Execute Brainfuck in-process (Event-based) Esolang.Brainfuck.Processor
Run Brainfuck from CLI dotnet-brainfuck

License

This project is licensed under the MIT License - see the LICENSE file for details.

NuGet

Project NuGet Summary
dotnet-brainfuck NuGet: dotnet-brainfuck brainfuck command line utility dotnet-brainfuck command.
Esolang.Brainfuck.Generator NuGet: Esolang.Brainfuck.Generator brainfuck method generator.
Esolang.Brainfuck.Parser NuGet: Esolang.Brainfuck.Parser brainfuck source parser.
Esolang.Brainfuck.Processor NuGet: Esolang.Brainfuck.Processor brainfuck processor.

Framework Support

Project Target frameworks
Esolang.Brainfuck.Generator netstandard2.0
Esolang.Brainfuck.Parser net8.0, net9.0, net10.0, netstandard2.1, netstandard2.0
Esolang.Brainfuck.Processor net8.0, net9.0, net10.0, netstandard2.1, netstandard2.0
dotnet-brainfuck net8.0, net9.0, net10.0

Changelog

See also

About

Brainfuck parser, processor, and source generator for .NET — includes a dotnet-brainfuck global tool.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages