Skip to content

MahmoudGamlTaha/ring

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ring

Ring Programming Language

Innovative and practical general-purpose multi-paradigm language

Resources Operating System Status
Download Download MacOS X (Compiler: gcc C) Build Status
Help Help Ubuntu Linux (Compiler: gcc C) Build Status
Try Try MacOS X (Compiler: clang C) Build Status
Support Support Ubuntu Linux (Compiler: clang C) Build Status

Description

The Ring is an Innovative and practical general-purpose multi-paradigm language. The supported programming paradigms are Imperative, Procedural, Object-Oriented, Functional, Meta programming, Declarative programming using nested structures, and Natural programming. The language is portable (Windows, Linux, Mac OS X, Android, etc.) and can be used to create Console, GUI, Web, Games and Mobile applications. The language is designed to be Simple, Small, Flexible and Fast. Read more!

Ring

Building from source code

You can build Ring using CMake or using Scripts (Batch Files or Shell Scripts).

The next steps explains building using scripts.

Building using Microsoft Windows

Get the source code

git clone http://github.com/ring-lang/ring.git

Build Ring (Compiler/VM)

cd ring/src
buildvccomplete.bat
buildvccompletew.bat

Build RingODBC

cd ../extensions/ringodbc
buildvc.bat

Build RingMySQL

cd ../extensions/ringmysql
buildvc.bat

Build RingSQLite

cd ../extensions/ringsqlite
buildvc.bat

Build RingOpenSSL

cd ../extensions/ringopenssl
buildvc.bat

Build RingInternet

cd ../extensions/ringinternet
buildvc.bat

Generate RingAllegro Source Code and Build

cd ../extensions/ringallegro
gencode.bat
buildvc.bat

Generate RingLibCurl Source Code and Build

cd ../extensions/ringcurl
gencode.bat
buildvc.bat

Generate RingZip Source Code and Build

cd ../extensions/ringzip
gencode.bat
buildvc.bat

Generate RingQt Source Code and Build

Install Qt 5.5 : https://download.qt.io/archive/qt/5.5/5.5.1/

cd ../ringqt
gencode.bat
buildmingw32.bat

To be able to call ring from any folder

cd ../../bin
install.bat

Add Ring/bin to System path

Hit "windows key".
Type "Edit the System environment variables"
Select "Advanced" tab.
Click on "Enviroment Variables..."
Double click on "Path"
Add at the end the new path separated by semicolon. 
	;C:\Ring\Bin

Run Ring Notepad

cd applications/rnote
ring rnote.ring

Building using Ubuntu Linux

Get the source code

git clone http://github.com/ring-lang/ring.git

Install Libraries

cd ring/src
./installdep.sh 

Build Ring (Compiler/VM)

sudo ./buildgcccomplete.sh

Build RingODBC

cd ../extensions/ringodbc
./buildgcc.sh

Build RingMySQL

cd ../extensions/ringmysql
./buildgcc.sh

Build RingSQLite

cd ../extensions/ringsqlite
./buildgcc.sh

Build RingOpenSSL

cd ../extensions/ringopenssl
./buildgcc.sh

Build RingInternet

cd ../extensions/ringinternet
./buildgcc.sh

Generate RingAllegro Source Code and Build

cd ../extensions/ringallegro
./gencode.sh
./buildgcc.sh

Generate RingLibCurl Source Code and Build

cd ../extensions/ringcurl
./gencode.sh
./buildgcc.sh

Generate RingZip Source Code and Build

cd ../extensions/ringzip
./gencode.sh
./buildgcc.sh

Generate RingQt Source Code and Build

cd ../ringqt
./gencode.sh
./buildgcc.sh

To be able to call ring from any folder

cd ../../bin
sudo ./install.sh

Run Ring Notepad

cd applications/rnote
sudo ring rnote.ring

Building using MacOS X

Get the source code

git clone http://github.com/ring-lang/ring.git

Install homebrew (follow the directions on homebrew's homepage).

Install Libraries

brew install unixodbc mysql-connector-c allegro openssl homebrew/versions/qt55
brew link --force qt55

Build Ring (Compiler/VM)

cd ring/src
./buildclangcomplete.sh

Build RingODBC

cd ../extensions/ringodbc
./buildclang.sh

Build RingMySQL

cd ../extensions/ringmysql
./buildclang.sh

Build RingSQLite

cd ../extensions/ringsqlite
./buildclang.sh

Build RingOpenSSL

cd ../extensions/ringopenssl
./buildclang.sh

Build RingInternet

cd ../extensions/ringinternet
./buildclang.sh

Generate RingAllegro Source Code and Build

cd ../extensions/ringallegro
./gencode.sh
./buildclang.sh

Generate RingLibCurl Source Code and Build

cd ../extensions/ringcurl
./gencode.sh
./buildclang.sh

Generate RingZip Source Code and Build

cd ../extensions/ringzip
./gencode.sh
./buildclang.sh

Generate RingQt Source Code and Build

cd ../ringqt
./gencode.sh
./buildclang.sh

To be able to call ring from any folder

cd ../../bin
sudo ./install.sh

Run Ring Notepad

cd applications/rnote
sudo ring rnote.ring

Building using CMake

cmake .
make

About

The Ring Programming Language

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 60.5%
  • HTML 16.5%
  • C++ 8.8%
  • Shell 6.7%
  • Makefile 3.9%
  • Roff 0.6%
  • Other 3.0%