Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wellang/well
A high level assembler. https://wellang.github.io/well/
https://github.com/wellang/well
assembler assembly assembly-language c compilers languages lexer-parser parsers programming-language wellang
Last synced: 26 days ago
JSON representation
A high level assembler. https://wellang.github.io/well/
- Host: GitHub
- URL: https://github.com/wellang/well
- Owner: wellang
- License: mit
- Created: 2022-03-23T17:09:37.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T02:27:57.000Z (about 2 months ago)
- Last Synced: 2024-09-30T06:04:39.198Z (about 1 month ago)
- Topics: assembler, assembly, assembly-language, c, compilers, languages, lexer-parser, parsers, programming-language, wellang
- Language: C
- Homepage:
- Size: 30.8 MB
- Stars: 57
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Wellang
# NOTE
Wellang is in an extremely early state with pending syntax changes and the development of the compiler. MAKE SURE you keep wellang up to date in these early stages.
# About
This is a project by Tristan Wellman. Wellang is a high level compiled assembly language; you will have your low level assembly programming but with some features from high level languages. Wellang compiles directly to NASM. See below for compilation and simple documentation.### NEED HELP?
Email: [email protected]
Wellang discord server: https://discord.gg/K4ufunGxJv
# Compile Wellang
## Linux
```
$ git clone https://github.com/wellang/well.git
$ cd well
$ make && make install-unix
or
$ make base install-unix
```## FreeBSD
```
$ git clone https://github.com/wellang/well.git
$ cd well
$ gmake base install-unix
or
$ gmake && gmake install-unix
```## MacOS
```
$ git clone https://github.com/wellang/well.git
$ cd well
$ make base install-osx
or
$ make && make install-osx
```## Windows
[`windows installation`](windows/WINDOWS.md)
## ARM/RaspberryPi
```
$ sudo apt-get install libsqlite3-dev sqlite3
$ git clone https://github.com/wellang/well.git
$ cd well
$ make base-arm install-unix
```## Hello World program (using linux x86_x64 syscall table)
```
~include
~var:main {
string~ text = 'Hello World!'
}
~func:main {
move~ 1, rax
move~ 1, rdi
move~ text, rsi
move~ text.len, rdx
syscall
return~ 0
}
```## compile program
to compile your well program you can run ``wesm`` in your terminal:
```
╰─λ wesm helloworld.well -o helloworld
14:21:22 INFO src/asm_interp.c:736: Compile time:: 0.011261s, 11.261000ms
╰─λ ./helloworld
Hello World!
```## Vim syntax highlighting
```
make vim
```### Credits
![Contributors](https://contrib.rocks/image?repo=wellang/well)## Stargazers over time
[![Stargazers over time](https://starchart.cc/wellang/well.svg)](https://starchart.cc/wellang/well)