LinkerDotLang an experimental language separating logic blocks from main linker

Graght2 pts0 comments

GitHub - Graght/LinkerDotLang: LinkerDotLang is an open-source, strict language separating isolated logic blocks from a master linker controller. Code blocks act as closed blueprints with no side effects. The linker handles instantiation, tracks variable dependencies to automatically skip unused inputs, and converts clean syntax into highly optimized, rounded-integer C code. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

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

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Graght

LinkerDotLang

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>2 Commits<br>2 Commits

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

program.txt

program.txt

transpiler.py

transpiler.py

View all files

Repository files navigation

LinkerDotLang

An experimental and very new programming language that aims to separate code into blocks and a main linker.<br>Let's say you have a block A and block B and it has variables, they never touch each other(the ones between block A and B)<br>but then how do we program anything at all? the main linker is the answer. blocks are just blueprints for the linker<br>we pass the variables to the linker and it does all the work. for example:

[ block A<br>integer totalSubjects isinput // input an integer, in this example it acts as i in for loop.<br>loop totalSubjects [<br>integer mark isinput // for loop with input<br>sum = sum + mark<br>avg = sum / totalSubjects // output which goes to the main linker

[ block B<br>string name isinput<br>string class isinput

[ linker<br>create A first<br>printout sum<br>printout avg<br>create B student // even if we use the block B blueprint but do not printout - nothing from it will be used.

Getting Started

Prerequisites

Python 3.x

GCC (or any standard C compiler)

Running a Program

Write your custom logic inside program.txt.<br>Run the transpiler toolchain pipeline:

python3 transpiler.py<br>The output.c file will be generated which you can compile after by using GCC with gcc output.c -o my_program and then run ./my_program

About

LinkerDotLang is an open-source, strict language separating isolated logic blocks from a master linker controller. Code blocks act as closed blueprints with no side effects. The linker handles instantiation, tracks variable dependencies to automatically skip unused inputs, and converts clean syntax into highly optimized, rounded-integer C code.

Resources

Readme

License

MIT license

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

stars

Watchers

watching

Forks

forks

Report repository

Releases

No releases published

Packages

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

Python<br>100.0%

You can’t perform that action at this time.

linker blocks linkerdotlang code reload block

Related Articles