C-- är ett programmeringsspråk som ingen någonsin bör använda. Dess syntax är inspirerad av C++ med vissa inslag från Python. Det är skapat till projektkursen TDP019 med ruby och rdparse.
För att ladda ned och använda språket, följ nedanstående instruktioner. OBS! Dessa instruktioner gäller endast för unix baserade system såsom MacOS eller Linux
För att kunna använda C--, måste du först klona ner dess repo. Gör detta med följande kommando:
git clone https://gitlab.liu.se/antno464/tdp019.git && cd tdp019Därefter kör du följande kommando för att installera C--:
./install.shNu är C-- redo att användas. Om du vill ta bort det repo du laddat ned, kör då följande kommando efter installationen (kör inte kommandot om du önskar att behhålla repot på din dator):
cd .. && rm -rf tdp019 && cdFör att använda C-- och exekvera en fil gör på då följande vis:
cmm <file_name>.cmmSäkerställ att du använder filändelsen .cmm på den filen som ska köras.
Nu när du har installerat C-- är det dags att skriva ditt första program. C-- har en entrypoint i form av en main funktion. Det är enbart koden inuti denna funktion som kommer exekveras så säkerställ att du alltid skriver din kod i den. Main funktionen ska se ut följande:
void codeGoBrrrrrrr(){
// your code goes here
}Main funktionen är av typen void och ska därför inte returnera något. Namnet på funktionen är strikt bestämmt till detta, men antallet 'r' i slutet av den är
arbiträrt. Det måste dock vara minst 2 stycken 'r'. Detta är för att du själv ska få välja hur entusiastisk du är över din C-- kod.
I C-- finns alla variabeltyper du kan önska. Det finns stöd för int, float, bool, char, string och även array.
För att skapa en variabel måste du specificera vilken datatyp den ska tillhöra. Denna variabel kan efter detta inte ändra typ vid annan tilldelning senare, utan
tilldelning av nytt värde måste vara av samma typ. Se exempel på variabeltilldelning nedan:
int i = 10;
float f = 3.14;
bool b = True;
char c = 'c';
string s = "Hello, World!";Om du ska skapa en array måste du ange vilken datatyp den ska lagra. Detta görs med följande syntax:
array<int> ai = [1, 2, 3];
array<char> ac = ['a', 'b', 'c'];Om du redan skapat en variabel med ett visst värde men behöver ändra på detta värde senare, gör då så här:
int i = 10;
i = 11;Observera att konceptet av en const inte finns i C-- så alla variabler går att tilldela ett nytt värde, så länge det nya värdet är av samma typ.
En if-sats skriver du på följande vis:
if(i == 11){
print("Detta är en if sats");
}
elif(i == 10){
print("Värdet av i var visst inte 11");
}
else {
print("Det var tydligen ingen av dem");
}Som du kan se i exemplet ovan är dessa styrstrukurer mycket likt annat du känner igen från andra språk. Det som sticket ut lite är nyckelordet elif som
potentiellt kan kännas något främmande.
I C-- finns for- och while-loopar. Dessa fungerar både på det sätt du redan förväntar dig. Syntaxen för dem kommer inte heller vara särskillt
främmande:
int i = 0;
while(i < 10){
// code go brrrrrrrr
i++;
}
for(int c = 10; c > 10; c--){
// code go brrrrrrrr
}Som du kan se ovan finns det tillgång till increment och decrement i C--. Dessa kan skrivas så som de ser ut i exempelkoden för looparna, men även på andra
sätt. Se nedan:
int i = 1;
i++; // => 2
i += 3; // => 5
i--; // => 4
i -= 4; // => 0Utöver addition och subtraktion, finns dessa operatorer implementerade för fler matematiska operationer. Dessa kallar vi Multiment, Diviment och
Potensiment. Se syntax för dessa här:
int i = 2;
i *= 3; // Multiment - => 6
int j = 10;
j /= 2; // Diviment - => 5
int k = 10;
k **= 3; // Potensiment - => 1000