FiMSharp 0.3.2
See the version list below for details.
dotnet add package FiMSharp --version 0.3.2
NuGet\Install-Package FiMSharp -Version 0.3.2
<PackageReference Include="FiMSharp" Version="0.3.2" />
paket add FiMSharp --version 0.3.2
#r "nuget: FiMSharp, 0.3.2"
// Install FiMSharp as a Cake Addin
#addin nuget:?package=FiMSharp&version=0.3.2
// Install FiMSharp as a Cake Tool
#tool nuget:?package=FiMSharp&version=0.3.2
🐎 FiMSharp
FiMSharp is a FiM++ interpreter library written in C#.
🖥 Usage
To use the library, simply include the library to your project:
using FiMSharp;
And create a FiMReport
with the lines of your report!
FiMReport report = new FiMReport( lines );
// Run the main paragraph!
if( report.MainParagraph != null ) report.MainParagraph.Execute();
You can also build and use FiMSharp.Test
.
🔃 Compiling
You'll need .NET SDK to compile the solution from source.
Most of the work can be done by the included makefile.
Included runtimes are:
win32
- Windows x86-64win
- Windows x64linux
- Linux-x64linuxarm
- Linux ARMdarwin
- OSX-64
You can use this command to build the Win32 executable of FiMSharp.Test
make win32
🏃♀️ Running (FiMSharp.Test)
The releases page should include a bin.zip
which contains:
- A pre-built .dll for both
FiMSharp
andFiMSharp.Javascript
- Pre-built executables for different platforms listed in the release.
🐳 Running from Docker
FiMSharp is also available on Docker as Docker container. While it makes it easy to setup FiMSharp at many machine, it comes with a large filesize.
docker pull jaezmien/fimsharp:0.3.2
Example usage:
docker run jaezmien/fimsharp:0.3.2 Reports/hello.fim
For reports which require user inputs, you'll need to add the -i
flag.
docker run -i jaezmien/fimsharp:0.3.2 Reports/input.fim
📚 External Resources
Online Interpreter using Blazor
📝 Notes
FiMSharp is just a personal hobby project, seeing as FiM++ has never been updated for quite some time now.
The syntax used here follows the proposed
Sparkle 1.0
syntax, unlike what fimpp uses. You can see the difference in readability in the Brainfuck Interpreter example:This is my first semi-compilcated README.md, please yell at me on the issues page if I did something wrong 🙏
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 1.3
- Microsoft.CSharp (>= 4.7.0)
- NETStandard.Library (>= 1.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.