FiMSharp
A FiM++ interpreter written in C#
(I ran out of buget to design a logo)
What's FiM++?
- esolangs.com description about FiM++
But what's new on this one since NetFiM?
Cleaner code.*
It's now a full-on library and the CLI is now separate from the main project.
Switches and For Loops are finally supported. They have been for a long time
Allows users to add/read variables and add/execute methods from C# itself.
There's still some minor bugs with this (which is why its still not on its first major version), but for the most part it should work.
* Subjective
What are the reports that can run on this?
See the test program for more details. Note that some reports require experimental functions.
Is it on NuGet now?
Hell yeah!
How do I use it?
using FiMSharp; // Available on NuGet and in the GitHub Release.
FiMReport report = new FiMReport(@"Dear Princess Celestia: Hello World!
Today I learned how to say hello world.
I said ""Hello World!"".
That's all about how to say hello world.
Your faithful student, Twilight Sparkle."); // You can also use FiMReport.FromFile(string path); to use a path instead.
if( report.MainParagraph != null ) {
report.MainParagraph.Execute(); // Outputs "Hello World!" into the console.
}
If you want to use the CLI instead:
Usage: ./fim [options] report_path
Interprets the specified FiM++ report.
Options:
-p, --pretty Prettify console output.
-h, --help Show this message and exit.
-e, --experimental Add experimental functions.
-j, --javascript Convert file to Javascript.
Example: ./fim hello.fim
But what if I don't want to download it?
I got you! There is an online interpreter using Blazor to run the C# code.
Note that there are some limitations to it (such as being very slow on complicated reports), but this may change in the future.
The online interpreter transpiles your report into Javascript now!
Are you okay?
its been five years at this point and i am at the sixth iteration. there has been no development in the language for over what, 8 years now?
i think i have an addiction. but hey - its fun, and it makes for a nice challenge.
~ Links ~
Github Repository: https://github.com/Jaezmien/FiMSharp
VS Code Syntax Highlighter: https://github.com/Jaezmien/NetFiM_Syntax
FiM++ Wikia: http://fimpp.wikia.com/wiki/FiM%2B%2B_Wiki
Language Specification: https://docs.google.com/
-- Old Post --
-- Older Post --