ReCT-Go-Compiler - A compiler for the ReCT programming language written in Golang

ReCT-Go-Compiler

Go
A compiler for the ReCT programming language written in Golang
It is currentry under development.


Progress:

  • Lexer
  • Parser
  • Binder (WIP)
  • Lowerer
  • Evaluator
Comments
  • No checking for division by 0

    No checking for division by 0

    Here:

    https://github.com/ReCT-Lang/ReCT-Go-Compiler/blob/main/evaluator/evaluator.go#L257

    You don't check if you are dividing by 0. If you are dividing by 0, return a Math error?

  • better readme

    better readme

    Do NOT fork.

    I need some details:

    • Contributors name
    • Installation process
      • Package manager?
      • From source
    • CLI help
    • Documentation links
    • Some examples

    I will finish this later

  • Can't run main file

    Can't run main file

    when I run go run main.go it gives an error.

    # command-line-arguments
    ./main.go:16:2: undefined: Init
    ./main.go:18:2: undefined: ProcessFlags
    note: module requires Go 1.16
    

    maybe it is deprecated? It is fixed by running go run cli.go

  • Organisation?

    Organisation?

    Why isn't this on Discord?

    I am at college right now and their network blocks out Discord so I will ask this here.

    Should we get organised?

    By "organised" I mean we know what needs to be done and know what each other are working on. So, for example, we could set up a Trello board or GitHub Kanban to help manage the project better. - I feel like we would be more productive.

  • undefined: os.ReadFile

    undefined: os.ReadFile

    I get the following error:

    go: downloading github.com/llir/llvm v0.3.4
    go: downloading golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838
    go: extracting github.com/llir/llvm v0.3.4
    go: extracting golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838
    go: downloading github.com/mewmew/float v0.0.0-20201204173432-505706aa38fa
    go: downloading github.com/pkg/errors v0.9.1
    go: downloading golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
    go: extracting golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
    go: downloading golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
    go: extracting github.com/pkg/errors v0.9.1
    go: extracting golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
    go: extracting github.com/mewmew/float v0.0.0-20201204173432-505706aa38fa
    go: finding github.com/llir/llvm v0.3.4
    go: finding github.com/mewmew/float v0.0.0-20201204173432-505706aa38fa
    go: finding github.com/pkg/errors v0.9.1
    go: finding golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838
    go: finding golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
    go: finding golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
    # ReCT-Go-Compiler/lexer
    lexer/lexer.go:324:19: undefined: os.ReadFile
    note: module requires Go 1.16
    
  • [REQUEST] operator overload for classes

    [REQUEST] operator overload for classes

    This will allow you to add syntax sugar to your Rect code. These are 2 examples I thought that you could implement:

    class Foo {
       set operator +(int sum) {}
    }
    

    or

    class Foo {
       set function __sum(int sum) {}
    }
    
  • Terrible method to store rect packages

    Terrible method to store rect packages

    Currently, rect packages are stored into [PATH Of EXECUTABLE]/packages/*. This is a terrible way of keeping them because when the user installs rgoc, they would normally install it into /usr/bin or /usr/local/bin. This means that the packages would need to be stored at /usr/bin/packages/*. The bin folder should NOT contain anything else except for the user programs.

    What are some possible solutions?

    • One solution that I thought was that packages should be installed into /usr/lib/rect. The installer could change this location and it could be added to the user $PATH.

    Another issue is that the user may need different versions of the same package for different projects. This is an issue that python3 had and the solution was basically doing a virtual environment for every project and storing the packages locally to that project instead of globally. Or you could do it the nodeJS way and it's to install them into a rect_packages? folder.

  • ISSUE COMMENT PINS

    ISSUE COMMENT PINS

    i dunno man this is like doing tech support over telephone absolutely no clue whats going on

    Originally posted by @RedCubeDev-ByteSpace in https://github.com/ReCT-Lang/ReCT-Go-Compiler/issues/10#issuecomment-1221417426

T# Programming Language. Something like Porth, Forth but written in Go. Stack-oriented programming language.

The T# Programming Language WARNING! THIS LANGUAGE IS A WORK IN PROGRESS! ANYTHING CAN CHANGE AT ANY MOMENT WITHOUT ANY NOTICE! Something like Forth a

Jun 29, 2022
Gentee - script programming language for automation. It uses VM and compiler written in Go (Golang).

Gentee script programming language Gentee is a free open source script programming language. The Gentee programming language is designed to create scr

Dec 15, 2022
Floppa programming language inspired by the brainf*ck programming language. Created just for fun and you can convert your brainf*ck code to floppa code.

Floppa Programming Language Created just for fun. But if you want to contribute, why not? Floppa p.l. inspired by the brainf*ck programming language.

Oct 20, 2022
Yayx programming language is begginer friendly programming language.
Yayx programming language is begginer friendly programming language.

Yayx Yayx programming language is begginer friendly programming language. What have yayx: Easy syntax Dynamic types Can be compiled to outhers program

Dec 27, 2021
Yayx programming language is begginer friendly programming language.

Yayx Yayx programming language is begginer friendly programming language. What have yayx: Easy syntax Dynamic types Can be compiled to outhers program

May 20, 2022
Monkey programming language project from 'Writing An Interpreter In Go'and 'Writing A Compiler In Go' Books
Monkey programming language project from 'Writing An Interpreter In Go'and 'Writing A Compiler In Go' Books

Monkey Monkey programming language ?? project from "Writing An Interpreter In Go

Dec 16, 2021
Go compiler made from scratch, which can compile itself. It's going to be the smallest and simplest go compiler in the world.

Babygo, a go compiler made from scratch Babygo is a small and simple go compiler. (Smallest and simplest in the world, I believe.) It is made from scr

Jan 8, 2023
Compiler for a small language into x86-64 Assembly

Compiler This project is a small compiler, that compiles my own little language into X86-64 Assembly. It then uses yasm and ld to assemble and link in

Dec 13, 2022
A simple virtual machine - compiler & interpreter - written in golang

go.vm Installation Build without Go Modules (Go before 1.11) Build with Go Modules (Go 1.11 or higher) Usage Opcodes Notes The compiler The interprete

Dec 17, 2022
PHP bindings for the Go programming language (Golang)

PHP bindings for Go This package implements support for executing PHP scripts, exporting Go variables for use in PHP contexts, attaching Go method rec

Dec 27, 2022
WindLang, A simple programming language built with golang 🍃
WindLang, A simple programming language built with golang 🍃

WindLang, A simple programming language built with golang ?? WindLang, A simple programming language built with golang ?? What is wind? Playground Coo

Dec 1, 2022
A multi-pass compiler written in Go comprised of scanner, recursive-descent parser, generation of AST, intermediate representation (ILOC), and code generation (Armv8).

GoLite Project - Go Huskies! This is a project conducted and led in the course MPCS 51300 Compilers at the University of Chicago. In a group of two, w

Jan 10, 2022
a dynamically typed, garbage collected, embeddable programming language built with Go

The agora programming language Agora is a dynamically typed, garbage collected, embeddable programming language. It is built with the Go programming l

Dec 30, 2022
Port of the lemon parser generator to the Go programming language

From the golang-nuts mailing list (with few modifications): --== intro ==-- Hi. I just want to announce a simple port of the lemon parser generator

Feb 17, 2022
An LL(1) parser generator for the Go programming language.

What is it? I have implemented an LL(1) parser generator for the Go programming language. I did this to build parse trees for my HAML parser. You can

Jan 18, 2022
The Slick programming language is an s-expression surface syntax for Go.

The Slick programming language The Slick programming language is a Lisp/Scheme-style s-expression surface syntax for the Go programming language, with

Jan 8, 2023
Pineapple Lang is a simple programming language demo implements by Go

Pineapple Lang is a simple programming language demo implements by Go. It includes a hand-written recursive descent parser and a simple interpreter, although the language is not even Turing-complete. But this repo's main goal is to give beginners of compilation principles a warm up and a simple look at how a programming language is built.

Dec 26, 2022
⛳ A minimal programming language inspired by Ink, JavaScript, and Python.

⛳ Golfcart My blog post: Creating the Golfcart Programming Language Getting Started Scope Rules Usage Building and tests Contributions License Golfcar

Sep 6, 2022
Simple, safe and compiled programming language.

The X Programming Language Simple, safe and compiled programming language. Table of Contents Overview OS Support Contributing License Overview The X p

Dec 28, 2022