https://github.com/chkas/easylang
An easy programming language that runs in the browser
https://github.com/chkas/easylang
learn-to-code programming-language
Last synced: 3 days ago
JSON representation
An easy programming language that runs in the browser
- Host: GitHub
- URL: https://github.com/chkas/easylang
- Owner: chkas
- Created: 2021-09-13T15:15:55.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-31T10:39:15.000Z (15 days ago)
- Last Synced: 2025-04-10T07:55:18.786Z (5 days ago)
- Topics: learn-to-code, programming-language
- Language: C
- Homepage:
- Size: 2.28 MB
- Stars: 172
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- awesome-programming-languages - Easylang - An easy programming language that runs in the browser. Easylang is a rather minimalistic simple programming language. Because of the clear syntax and semantics it is well suited as a teaching and learning language. Functions for graphic output and mouse input are built into the language. The language is written in C and is open source. Main target platform is the web browser using WASM. However, it also runs natively in Windows and Linux. The one-pass parser and compiler is quite fast. In the Web IDE, each time the Enter key is pressed, the program is parsed and formatted up to the current line. (Uncategorized / Uncategorized)
README
## Easylang
Easylang is a simple open-source programming language with built-in graphical features and a user-friendly browser IDE that can be used also offline. It was developed to make learning to program as easy and accessible as possible. You can also use Easylang to write simple graphical programs that can be embedded in a web page.
~~~
# animate a pendulum
ang = 45
on animate
clear
move 50 50
circle 1
x = 50 + 40 * sin ang
y = 50 + 40 * cos ang
line x y
circle 6
vel += sin ang / 5
ang += vel
end
~~~## Website
**[easylang.online](https://easylang.online/)**
**[chkas.github.io](https://chkas.github.io/)**
## Build in Linux and MacOS
### Dependencies
MacOS: Xcode Command Line Tools
JDK, Emscripten
Download Emscripten WASM SDK and install it
~~~
curl -L https://github.com/emscripten-core/emsdk/archive/refs/heads/main.zip -o main.zip
unzip -q main.zip
mv emsdk-main emsdk
~~~Install and activate a tested version
~~~
source emsdk/emsdk_env.sh
emsdk update ; emsdk list
# vers=latest
vers=3.1.70
emsdk install $vers ; emsdk activate $vers
~~~### Build and test
~~~
curl -L https://github.com/chkas/easylang/archive/refs/heads/main.zip -o main.zip
unzip -q main.zip
mv easylang-main easylang
~~~The destination folder is ~/out/easylang. Needs Java for the *closure-compiler*.
~~~
source emsdk/emsdk_env.sh
( cd easylang/main ; make release)
~~~Test it locally
~~~
(cd ~/out/easylang/;python3 -m http.server)
~~~[localhost:8000/ide/](http://localhost:8000/ide/)
## Build with Github Actions
[github.com/chkas/chkas.github.io](https://github.com/chkas/chkas.github.io)
## Build native version
~~~
easylang/native/readme.md
~~~