Skip to content

corigan01/Pable-Programming-Language

Repository files navigation

Pable-Programming-Language

A new way of using a programming language.

Run on Repl.it

1770874-9188

The Pable Programming language is not made to win. It is made to continue. We know we are not the best and most complete language. We made pable to help us in programming more advanced projects down the road. We want people to continue looking at Pable and see the progress that we will make. Pable was created by two high school friends that met at a CodeDay event while in middle school. Juggling work and school starting back up and 1,000 miles betweeen us, we did the best we could to compete in the Jam. We did not have time to complete Pable to the same extent as some as the other languages. In all that we still love Pable even thogh it is not finished.

Why Pable?

Pable is a programming language that we made to help abstract the complex libraries that we made. We want something that is easy to use but can expand as much as possible.

Whats ahead?

We are not finished with Pable, but this is to show the progress that we have made so far.

The following things are what we will add support short-term: Functions,

Classes,

Floats,

Chars,

For loops,

Libraries,

Arrays, lists,

--And MUCH MUCH More!,

The following things are what we will add support long-term: Sockets,

Graphics - We are looking at adding Raylib support for a importable,

Compile Options,

What makes Pable different?

We want Pable to be able to compile to a desktop app, this will work just like C and C++. A exe/.out file that you can simply run.

Also Pable can run in a Python like environment. This will allow you to run Pable code on the web or just help you debug your issues.

And Finally we want Pable to be able to compile to a java like environment for socket and server deployment.

What we have

Strings

Ints

Operations (+-*/) -- you can use multiple at a time :)

while

if

out

color_out

How to use Pable

To start we made a simple bottles of beer on the wall program:

# this program will show a basic 'for' loop using a 'while' loop and a var named i

int i = 99 # set i to how many beer bottles we have

while (i ! 0) # while to count down 

out (i) # output the beer bottle that we are on
color_out("bottles of beer on the wall", GREEN) # we output in GREEN

i = i - 1 + 0 * 1 # this is to show that we can do multiple operations together


readfile("ascii_art.txt") # displays the contents of ascii_art.txt


if (i = 0) # this is to see if we finish
color_out("We finsihed all the beer", BLUE) # output in blue when we are done

end

Speed

Pable without --DEBUG_INFO on, we made it as fast as we could. It can run about 1,000,000 lines in about 8 seconds while outputing to the console and could do it in about 100ms without outputing to the console.

With the new class based parser coming soon, we will enjoy even faster code!

Try it!

** We also setup a super easy to use file to download and compile our project. Once you run it, it is super fast. **

Run it here: https://repl.it/@Hexcode/Pable-Example#main.sh

Look at Code here: https://repl.it/@Hexcode/Pable-Programming-Language#README.md

About

A new way of using a programming language.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published