Skip to content

An interpreter for a subset of dotnet IL implemented in C#

Notifications You must be signed in to change notification settings

Leowbattle/microclr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

microclr

An interpreter for a subset of dotnet IL implemented in C#

Demo program:

using microclr;
using System;

namespace TestProgram
{
	class Program
	{
		public static void Fibonacci(int n)
		{
			string[] strings = new string[n];

			int a = 0;
			int b = 1;
			int c = 1;

			for (int i = 0; i < n; i++)
			{
				strings[i] = $"Fibonacci {i + 1} = {c}";
				c = a + b;
				a = b;
				b = c;
			}

			foreach (var str in strings)
			{
				Console.WriteLine(str);
			}
		}

		static void Main(string[] args)
		{
			var clr = new MicroClr();

			//Fibonacci(10);

			var method = typeof(Program).GetMethod(nameof(Fibonacci));
			clr.Execute(method, 10);
		}
	}
}

Output:

Fibonacci 1 = 1
Fibonacci 2 = 1
Fibonacci 3 = 2
Fibonacci 4 = 3
Fibonacci 5 = 5
Fibonacci 6 = 8
Fibonacci 7 = 13
Fibonacci 8 = 21
Fibonacci 9 = 34
Fibonacci 10 = 55

About

An interpreter for a subset of dotnet IL implemented in C#

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages