C+- is a personal project trying to make a programming language.

C+-

alt text

A personal project trying to be a programming language with close resemblence to C/C++ (probably gonna fail at that).

What I want the programming language to be

I want it to be:

  • An imperative programming language(obviously)
  • Statically typed
  • I want it to be able to be used in bigger projects but also small scripts
  • Have close syntax to C++ but with more features, but also easier to read.

But for now I want it to be able at least to be close to assembly so it can actually do stuff.

How to contribute

If you want to contribute the layout of the program is pretty simple. The include directory holds all of the header files. The lib directory holds all of the files for the standard libraries of the programming language. The src directory holds all the C files. The testing directory is where the actual .cpm file is located.

And now lets test if everything works fine. This should work on linux I don't know about windows though.

To test the program you must clone it so first you're gonna run:

git clone https://github.com/koreaneggroll/C-plus-minus.git
cd C-plus-minus


And now you'll have to run 2 very simple commands


make
./cpm compile ./testing/main.cpm ./testing/main.o

If the output is: 0 push 1 number 0 push 0 number 1 add 2 ext

Done...

Run ./testing/main.o to run the program

you're good

Using the programming language

If you want to use the "language" when it's ready you can by getting the vscode extension for syntax highlighting and more.

Technologies

For now it is being built with C.

Owner
Arin
I'm a student who programs in C/C++. Founder of @teamlearncoding Looking for work.
Arin
Similar Resources

A simple personal wiki of my current knowledge

A simple personal wiki of my current knowledge

About Why should I memorize something I can so easily get from BOOK. - Albert Einstein In fact, Einstein claimed never to memorize anything which coul

Dec 25, 2022

A personal collection of Windows CVE I have turned in to exploit source, as well as a collection of payloads I've written to be used in conjunction with these exploits.

This repository contains a personal collection of Windows CVE I have turned in to exploit source, as well as a collection of payloads I've written to

Dec 28, 2022

frost is a programming language with a focus on low-friction systems programming.

❄️ frost frost programming language About frost is a programming language with a focus on low-friction systems programming.

Nov 12, 2021

The Wren Programming Language. Wren is a small, fast, class-based concurrent scripting language.

Wren is a small, fast, class-based concurrent scripting language Think Smalltalk in a Lua-sized package with a dash of Erlang and wrapped up in a fami

Dec 30, 2022

C programming language project-I.

Number-Guessing Approach: The following steps can be followed to design the game: 1.Generate a random number between 0 and N. 2.Then iterate from 1 to

Dec 26, 2021

Eve programming Language. Toy project.

Eve programming Language.  Toy project.

Eve Programming Language How to use Eve Install & Run $ sudo make install $ eve filename.eve Version check $ eve -v Clean $ sudo make clean Hell

Jun 28, 2022

A continuation of FSund's pteron-keyboard project. Feel free to contribute, or use these files to make your own! Kits and PCBs are also available through my facebook page.

A continuation of FSund's pteron-keyboard project. Feel free to contribute, or use these files to make your own! Kits and PCBs are also available through my facebook page.

pteron-pcb Intro This project is the evolution of the Pteron-Keyboard project, an incredible ergonomic keyboard that was handwired only. I aimed to in

Oct 11, 2022

VinyGo is an open hardawe, meca, and source project to make a vinyl recorder.

VinyGo is an open hardawe, meca, and source project to make a vinyl recorder.

The goal of this project is to refresh the gramophone concept to build a vinyl recorder, easier, more accessible, and affordable. Is made for artists, vinyl stores, recording studios, or music lovers.

Dec 16, 2022

A simple DIY project that will make oldschool POCSAG pagers/beepers work again

A simple DIY project that will make oldschool POCSAG pagers/beepers work again

Arduino POCSAG Transcoder Features Message types: Tone, Numeric, Alphanumeric 4 encodings: Latin, 2xLatin/Cyrillic, Cyrillic Data rates: 512, 1200, 24

Nov 20, 2022
Comments
  • Assembly file isn't being created

    Assembly file isn't being created

    So i'm trying to make the bare minimum to run a program in C+-. But the assembly file that should be created by the compiler isn't showing up. If anyone finds whats the issue please tell me. Thanks a lot

  • Registers are the same

    Registers are the same

    So when I try to compile a program using cpm. The compiler chooses one register and uses that for the rest of the program. Which isn't beneficial because if i do mov eax, 1 mov eax, 2 nothing changes.

  • tl;dr i have no idea how to write a compiler.

    tl;dr i have no idea how to write a compiler.

    I'm going to study about compilers programming languages and whatnot but probably after i'll do that I will still need some help writing the compiler. So if anyone is willing to help that would be really really awesome. Thanks for stars btw, appreciate it.

In this project ı'am trying to implement dijkstra algorithm with adjacency list representation.

AirportCheapestPath In this project, I have tried to make a flight advisor program to the 3rd party users. To do that, This program gets the data of a

Nov 7, 2022
PLP Project Programming Language | Programming for projects and computer science and research on computer and programming.
PLP Project Programming Language | Programming for projects and computer science and research on computer and programming.

PLPv2b PLP Project Programming Language Programming Language for projects and computer science and research on computer and programming. What is PLP L

Aug 20, 2022
A collection of academic and personal projects demonstrating my proficiency in programming.
A collection of academic and personal projects demonstrating my proficiency in programming.

Best-README-Template An awesome README template to jumpstart your projects! Explore the docs » View Demo · Report Bug · Request Feature Table of Conte

Nov 18, 2021
StarkScript - or the Stark programming language - is a compiled C-based programming language that aims to offer the same usability as that of JavaScript's and TypeScript's

StarkScript StarkScript - or the Stark programming language - is a compiled C-based programming language that aims to offer the same usability as that

May 10, 2022
Make screenshot every few minutes to make your small history!

Screenlapse Fun CPP application (which isn't well-made, can be optimized) that automatically make screenshots of your screen every few minutes and sto

Aug 18, 2021
Personal Financial Management
Personal Financial Management

Terminal Finances This software is suitable for those who want to have control of their personal accounts in an easy and simple way. Available for Lin

Dec 14, 2022
My personal Linux device driver

LinuxDeviceDriver If you violate your legal rights, please contact me on [email protected] THANK YOU! . ├── adc │ └── tpc512.c ├── charger │ └── bq24

Nov 18, 2021
Mamiza's personal build of dmenu

dmenu - dynamic menu ==================== dmenu is an efficient dynamic menu for X. Requirements ------------ In order to build dmenu you need the X

Jul 29, 2022
⌨️ Personal key mapping for The Key.
⌨️ Personal key mapping for The Key.

The Key Personal key mapping for The Key. This firmware configures: The first key to be the mute key on single tap, and the pause/play key on double t

Dec 25, 2021
🐳 A collection of my personal dotfiles
🐳 A collection of my personal dotfiles

?? Pocco81's configuration files ?? Thanks for dropping by! This is my personal collection of configuration files. Here are some details about my setu

Dec 4, 2022