Skip to content

Latest commit

 

History

History
182 lines (130 loc) · 7.66 KB

README_DOCKER.md

File metadata and controls

182 lines (130 loc) · 7.66 KB

The One Programming Language

The One Programming Language

Onelang.org | Help wanted

Patreon Discord Facebook Instagram Twitter License

Welcome to One!
It is an open source, self-hosted, bootstrapping system programming language which makes it easy to build reliable and efficient software. It is being developed by Max, John and other open-source contributors.

Compiler for the One Language will be released in a few months

The main goal of this image is to serve as a development environment where to run build code and run tests, before the release of ONE.

-----------------------------------------------------

Table of Contents

  1. Quick reference
  2. Supported tags and respective Dockerfile links
  3. How to use this image for development
  4. Get Involved
  5. License

-----------------------------------------------------

➤ Quick reference

-----------------------------------------------------

➤ Supported tags and respective Dockerfile links

  • latest: This docker image contains the following packages:
    autoconf
    automake
    cmake
    freetype-dev
    g++
    gcc
    libxml2-dev
    linux-headers
    make
    musl-dev
    ncurses-dev
    python3
    pre-commit
    git
    LLVM

-----------------------------------------------------

➤ How to use this image for development

  • To run this image:
docker run -it  onelangorg/one:latest
  • To get the container ID and the container NAME:
docker ps
  • To run the code using *.sh files:
# SRC
docker exec -it <container ID> sh -c 'cd src/parser && chmod +x build.sh && ./build.sh'
docker exec -it <container ID> sh -c 'cd src/lexer && chmod +x build.sh && ./build.sh'
docker exec -it <container ID> sh -c 'cd src/lexer && chmod +x test.sh && ./test.sh'
# TESTS
docker exec -it <container ID> sh -c 'cd src/lexer && chmod +x build.sh && ./build.sh'
  • To run the code using executable (pre-built with CMake) files:
# SRC
docker exec -it <container ID> sh -c 'cd build && ./lexer input.one'
docker exec -it <container ID> sh -c 'cd build && ./parser input.one'
docker exec -it <container ID> sh -c 'cd build && ./ast input.one'
# TESTS
docker exec -it <container ID> sh -c 'cd build && ./lexer_test'
docker exec -it <container ID> sh -c 'cd build && ./parser_test'
docker exec -it <container ID> sh -c 'cd build && ./argument_test'
docker exec -it <container ID> sh -c 'cd build && ./ast_test'
  • If you use VSCode for development, you can use this container remotely. To do so, you will need Visual Studio Code Remote Development. After running your container, you can work from within the container:
  1. run the container

    Run the container
  2. connect to the container

    Connect to the container
  3. Now you can work from within the docker container and the previous step will open this new VSCode window

    Vscode remote container window
  4. Choose One directory

    One directory
  5. finally here you go!

    One remote container workspace
  • To remove the container:
docker rm <container name>

-----------------------------------------------------

➤ Get Involved

We welcome all kinds of contributions, including bug reports, feature requests, documentation improvements, etc. To ask a question or open a discussion, create an issue or join the One Discord Server.

If you are not familiar with making a pull request on GitHub, please read this guide.

If you have decided to contribute, please first read the guidelines here.
You can also help in the development of One by making some donations on Patreon.

Thanks to all the contributors!!

If you would like to contribute to the development of this project, you can mail us at: [email protected]


Created By Max Base @ 2019

-----------------------------------------------------

➤ License

One is released under the GNU General Public License v3.0. Please refer to the terms in the LICENSE file included in the repository.