Chapter_2: "Syntax and Semantics" $
Die Semantik ist der Inhalt Deines Programms, also eher Zufälliges, während die Syntax in jeder Programmiersprache alles andere als zufällig ist, sondern genau festgelegt sein muss. Wie gesagt, die Syntax beschreibt, wie Du Dich mit dem Compiler verständigen kannst, damit der dann für Dich Dein Programm in die Maschinensprache des Computers übersetzen kann.
Grundlegend für die Maxima Syntax ist folgendes: Alles, was Du in Maxima bis zum abschließenden Semikolon eingibst, ist ein Ausdruck. Und jeder Ausdruck besitzt einen Wert, den Du dann als Antwort erhältst. Du musst also keine print-Ausgabe schreiben.
'whiskey_bottle;
==> whiskey_bottle
Die Ausdrücke in dieser Schrift und Farbe sind Maxima-Ausdrücke, die Du einfach in eine Eingabezeile des Maxima-Editors kopieren kannst. Enter drücken und los geht es, Dein Text Adventure.
Die grundlegendsten Ausdrücke sind Atome. Atome, das klingt schon sehr elementar, sind Symbole (Namen), Zahlen und Text in Anführungszeichen. Die beiden letzteren haben sich selbst als Wert. Bei Symbolen kommt es darauf an, in welchem Modus der Compiler Deinen Ausdruck liest. Es gibt den Programm- und den Daten-Modus.
Durch das alles entscheidende Hochkomma wurde unser Symbol whiskey_bottle im Daten- Modus gelesen und hat damit seinen Namen als Wert. Lassen wir das Hochkomma weg, befinden wir uns im Programm-Modus.
whiskey_bottle;
==> whiskey_bottle
Schon wieder whiskey_bottle! Wozu dann die Unterscheidung? whiskey_bottle hat immer noch seinen Namen als Wert. Antwort: Im Programm-Modus können wir unserem Symbol einen anderen Wert zuweisen.
whiskey_bottle: 'full;
==> full
Mit dem Doppelpunkt bewirken wir eine Zuweisung an das davor stehende Symbol. Danach hat das Symbol whiskey_bottle im Programm-Modus einen geänderten Wert. Den haben wir dann auch als Antwort erhalten. Ab jetzt müssen wir das Hochkomma verwenden, wenn wir die Antwort whiskey_bottle erhalten wollen. Oder wir löschen die Zuweisung. Das geht mit kill.
kill(whiskey_bottle);
==> done