Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A C# interpreter for the Lox programming language

NotificationsYou must be signed in to change notification settings

mhmd-azeez/LoxSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Lox is a little programming language created byBob Nystrom in his bookCrafting Interpreters. This is my attempt at recreating it in C#. I've published a web based version of the interpreterhere.

What's implemented

The interprer is still a work in progress as I've not finished the book yet.

Operators

NameOperatorsAssociates
Unary! -Right
Multiplication/ * %Left
Addition- +Left
Comparison> >= < <=Left
Equality== !=Left

Variables

Lox is a dynamically typed language, variables can have values of four types:nil,number (64-bit floating point numbers),boolean andstring.

var x=5.8;var y;y=10;var z= x* y;var i=true;print(i);print(z);

If conditional

var x=250;if (x%2==0){print("Even");}else{print("Odd");}

Loops

While loop

var x=0;while(x<10){if (x>5)break;print(x);    x= x+1;}

For loop

for (var i=0; i<10; i= i+1){print("i is:"+ i);}

Functions

Functions can return something:

funcoolify(thing){return"cool"+ thing;}print(coolify("app"));

Or return nothing:

fundoSomething() {print("Doing something...");}doSomething();

Standard Library

There are only two functions in the standard library:

Print

pPrints the value to stdout:

print("Hello World!");print(42);print(true);

Clock

Returns the number of seconds since 0001-01-01:

print(clock());

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp