Leker

Hej Alla!

Vi har lekt lite och det känns helt ok.
Vår tanke var att se hur det skulle kunna bli om man gjorde om följande Adubakod till VM instruktioner som vi sedan kör:

MODULE test;
VAR
	r:REAL;

PROCEDURE AddPi(someVal:REAL):REAL
VAR
	retVal:REAL;
BEGIN
	retVal := someVal + 3.14;
	RETURN retVal;
END

BEGIN
	r := System.Pow(System.Sqrt((5.0 + 3.0) / 2.0), 5.0); (* System library calls *)
	r := AddPi(r);
	WriteLn(r);
END

Applikationens struktur är löst baserat på ECMA (se tidigare inlägg) kapitel I.12 samt III.3. Vi har också försökt använda begreppen från det dokumentet i källkoden där det lämpar sig, så förhoppningsvis går det att se kopplingarna mellan dem.

Läs också III.1.3, där förklaras hur man med enbart text beskriver hur stackens förändras när en instruktion utförs.

Applikationen är skapad med C# (.Net 7) och finns att ladda hem här som .zip-fil.

Vi är inte riktigt klara över vad som är nästa steg. Kanske fundera mer över hur olika Adubakonstruktioner översätts till motsvarande sekvens av VM instruktioner?

Som alltid, är det någon som vill vara med och skapa Aduba så är ni ypperligt välkomna oavsett kunskapsnivå. Det viktiga är att vi har kul tillsammans!

Föregående
Föregående

Crafting Interpreters

Nästa
Nästa

Virtuell maskin