Skip to content

A language with simple grammar, standard library, networking support.

Notifications You must be signed in to change notification settings

c272/stork-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

storklogo

deps license version support

A programming language which aims to make mundane tasks less mundane.

Introduction

Stork is a C#-like programming language that aims to make the tasks that would be considered "boilerplate code" easier, by stripping the required work down, and by exporting the tasks into a vast standard library.

The language is currently not ready for general use, and is currently in the lexing/action tree stage of development. If, however, you want to contribute to the library, feel free to fork and make a pull request, which are considered on a case-by-case basis. Please remember to check the pull request templates beforehand.

Building Stork

To build the interpreter or transpiler for Stork, you need at least Visual Studio 2015 (Update 3) or higher. Since Stork uses .NET Standard, this is only compileable on Linux through the use of Mono.

(Note: The transpiler will output files that are compileable on Mac and Linux, however the transpiler itself and the interpreter are strictly Windows-only.)

Building in "Debug" mode is recommended for all contributions to the update branch, but if you are using it for a personal modification, using "Release" is a better option, for size and compute efficiency.

Code Examples

The basic "Hello World" program in Stork:

~import "log";
log("Hello World");

C-like "if" and preprocessor statements.

#preprocesscommand "parameter1" "parameter2";
if (somestatement && 3==4 || 5==exampleVar) {
    dosomething();
}

Functions and parameters:

//This is an example of function predefinition.//
proc exampleFunc(int,string);
exampleFunc(2, "hello");

proc exampleFunc(int parameter1, string parameter2) {
	log("This is a function example.");
return true;
}

Variable declaration:

int variable1;
int variable2 = 3;
gen genericVariable;

Using the Interpreter

For debugging purposes, there is a rudimentary interpreter in place. Please note that this language is intended to be compiled, and this will likely be discontinued in the future when the transpiler and compiler are finished and functional with the latest builds.

You can use the interpreter like so:

stki somefile.stork

And for further command help,

stki --help

About

A language with simple grammar, standard library, networking support.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published