Go is an amazing, awesome programming language. But it has in many ways too much, and in other ways, too little. This is an attempt to balance it.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
champii 228c5a04bf Use custom antlr4 build for visitor pattern 1 ano atrás
docs Use custom antlr4 build for visitor pattern 1 ano atrás
lib Use custom antlr4 build for visitor pattern 1 ano atrás
parser Use custom antlr4 build for visitor pattern 1 ano atrás
scripts Updated website 1 ano atrás
tests removed test file on generics 1 ano atrás
.gitattributes gitattributes 1 ano atrás
.gitignore Add parser files 1 ano atrás
.gitlab-ci.yml Documentation website 1 ano atrás
LICENSE Initial commit 1 ano atrás
Makefile Add parser files 1 ano atrás
README.md Version tag v0.7.2 1 ano atrás
cli.go Version tag v0.7.2 1 ano atrás
main.go Better error system, Correct line and column, Simple AST and colors 1 ano atrás


Og-Lang v0.7.2 (Optimistic Golang)

Documentation Website


We are looking for a better name !
Renaming Og


This software is in its early stage.

Quick overview

This language aim to save developer time as much as possible by implementing syntactic sugar like templates or auto return. It might borrow some concepts from functionnal languages like function composition or currying.

This is a quick and dirty syntactic coloration made by hand in optic to highlight main features of the language, please don’t judge me (Or better, please contribute to make a better one :] )




Here is the procedure to regenerate the parser from the grammar if you want to make changes to it.
If you just want to (re)build the binary, you can call make build or just go build (needs a previously generated parser from grammar. See below)
You will need Java, the Antlr4 library is in ./parser/antlr4-4.7.1-SNAPSHOT-complete.jar

# Get Og
go get -u github.com/champii/og 
cd $GOPATH/src/github.com/champii/og

# This will regenerate the grammar,
# Compile the existing sources from the previous Og (`og lib`)
# And run the tests.
# Needs the last official `og` binary version at global scope.

# It cleans the `lib` folder,
# Then compiles og from the previous global version (`og lib`)
# Then recomiles it from itself (`./og lib`)
# And run the tests
make re

# Simple exemple
og exemples/import.og

The current build time of the project is around 5s for all sources files with ./og alone, and around 20s for full rebootstrap with make re (That bootstraps from old version then rebootstraps from itself, with go build and go test each time).


"Golang On Steroids" - Socrates
"The Code like it should be. 5/7"- Mahatma Gandhi
"(..Recursive Facepalm..)" - Google