{"repo":"corth-lang/Corth","free":true,"listed":false,"github":"https://github.com/corth-lang/Corth","clone":"git clone https://github.com/corth-lang/Corth.git","description":"A self-hosted stack based language like Forth","language":"Makefile","stars":11,"topics":["compiler","programming-language","linux","nasm-assembly","stack-based-language"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"Corth A stack based programming language I designed based on Forth and Porth from the Porth programming language series of Tsoding Daily channel. The language is quite similar to Porth, however there are several differences. The compiler was written in Python first, but then rewrote it using Corth language itself. It is now a self hosted language. The repo consists of the compiler source code in Corth, an already compiled and assembled compiler, standard library and examples. Requirements - Right now, the compiler can only compile in ELF64 format. - Compiler uses NASM which can be downloaded using a package manager or from its repo. How to use the compiler? To compile a Corth program to an ELF64 executable, cd to the directory that contains the corth executable and run: ./corth compile -i ./std/ This will create an executable called output which can be directly run. The compiler can be bootstrapped using the bootstrap subcommand: ./corth bootstrap ./compiler/ --std ./std/ This will compile the compiler source code and place it at ./corth . Quick start to the Corth language - Corth is a concatinative (stack based) language. Every operation pops its arguments from the end of the stack and pushes its return values to the end of the stack. - Programs are compiled into NASM format first, then into object and executable files. - Indentation, spaces, newline characters are ignored by the compiler unless they are inside of a string. - Names can contain any character except whitespace","default_branch":null,"files":null,"tree":[],"storefront":"/r/corth-lang","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/corth-lang/Corth/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}