Alpha - Meine kleine Sprache

Präsentation und Organisation von eigenen Projekten
Antworten
Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Alpha - Meine kleine Sprache

Beitrag von Architekt » Mo Jul 07, 2014 11:09 pm

Ich frage ja öfters nun schon nach Assembler Hilfe, da wollte ich euch zumindest zeigen, in was eure Hilfe resultiert: https://github.com/Dgame/Alpha
Das ist Alpha, meine eigene kleine Sprache, die in Assembler übersetzt wird. Beispiele (sowohl für Input-Syntax als auch für Output) könnt ihr in den Ordnern Input und Output vorfinden. :)
Sie ist noch lange nicht perfekt, sicherlich nicht optimal und hat bestimmt noch die ein oder anderen Fallstricke, aber hey, es macht mir Spass. :) Zuletzt habe ich if Bedingungen implementiert und werde innerhalb der nächsten Woche mal versuchen Arrays und Schleife einzubauen.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Alpha - Meine kleine Sprache

Beitrag von Xin » Mo Jul 07, 2014 11:15 pm

Ist Deine Sprache dynamisch oder statisch typisiert?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Alpha - Meine kleine Sprache

Beitrag von Architekt » Mo Jul 07, 2014 11:28 pm

Es gibt nur einen Datentyp: int. Allerdings werden Variablen mit dem Präfix eingeleitet, also

Code: Alles auswählen

var a = 42
. Somit ist Alpha gegenwärtig dynamisch aber gleichzeitig stark typisiert. Letzteres soll auf jedenfall auch so bleiben.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Alpha - Meine kleine Sprache

Beitrag von Xin » Di Jul 08, 2014 7:05 am

Ich schreibe selbst an einer Programmiersprache. Mit einem 'var' konnte ich mich nicht anfreunden.
Bei mir heißt die Operation 'is'.

Code: Alles auswählen

a is 42;
Oder ohne Initialisierung

Code: Alles auswählen

a is int;
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Alpha - Meine kleine Sprache

Beitrag von Architekt » Di Jul 08, 2014 5:48 pm

Gefällt mir, allerdings mag ich das Semikolon überhaupt nicht. ;)

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: Alpha - Meine kleine Sprache

Beitrag von nouseforname » Di Jul 08, 2014 6:36 pm

Genau, weg mit den Klammern und ;... vergisst man eh ständig ;)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Alpha - Meine kleine Sprache

Beitrag von Xin » Di Jul 08, 2014 6:45 pm

Architekt hat geschrieben:Gefällt mir, allerdings mag ich das Semikolon überhaupt nicht. ;)
Was das Semikolon angeht, spiele ich noch mit Gedanken...

Im Gegensatz zu C ist das Semikolon bei mir grundsätzlich verpflichtend. C erlaubt ja auch das Semikolon an bestimmten Stellen weg zu lassen:

Code: Alles auswählen

if( a == 1 )
  func(); // Ende von if: Semikolon

vs.

if( a == 1 )
{
  func(); 
}             // Ende von if: kein Semikolon
Das erlaube ich so nicht. Ich bin was die Grammatik angeht rigoros: Keine Ausnahmen. Nur wirklich gefallen tut mir das auch nicht immer.

Das Semikolon taktet eine Sprache, es ist schon wichtig, würde man es weglassen, müsste man sich fragen, was folgendes bedeutet

Code: Alles auswählen

a = 3
   * c++
Wird c referenziert? Oder soll das eine Multiplikation darstellen?

Das Semikolon kann Leben retten, wie das Komma im Deutschen:

Code: Alles auswählen

Komm wir essen Opa!

vs

Komm wir essen, Opa!
Funktioniert auch mit Ehen: "Was willst Du schon wieder?" ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

ProgBeginner
Beiträge: 76
Registriert: Mo Jul 29, 2013 2:26 pm

Re: Alpha - Meine kleine Sprache

Beitrag von ProgBeginner » So Nov 02, 2014 12:53 pm

Das Problem, was ich damit habe, dass das Semikolon am Zeilenende ( LEIDER ) kein Standard ist, ist Folgendes :

Wenn man sich wie ich sowohl mit "Semikolon-Sprachen" ( C, PHP etc. ) als auch mit "Nicht-Semikolon-Sprachen" (Python) beschäftigt, dann gerade vllt 1 oder 2 Progrämmchen in einer "Nicht-Semikolon-Sprache" (Python) implementiert hat und "auf einmal" wieder vor nem C oder PHP-Projekt sitzt, kann es schnell passieren, dass man durch die Python-Gewohnheit, kein Semikolon zu sitzen, einem C-Compiler oder dem PHP-Parser ganz schnell das Meckern beibringt. Was jetzt noch passieren KANN, ist, dass man davor sitzt "Ähm HÄ wat is denn jetzt los, stimmt doch" - weil gerade PHP-Fehlermeldungen nicht soooooo offensichtlich sind.

Code: Alles auswählen

<?php
echo "Hallo Du"
echo "Wie geht es dir?"
echo "Ich hoffe gut"
?>


Ich wette mit euch, der PHP-Parser meldet euch einen Syntax Error in der 3. Zeile, weil nach der 2. ein Semikolon fehlt. :D

Ich würde mir wünschen, einen Standard festzuschreiben, der möglichst für alles gilt, was sich Programmiersprache nennen will ... entweder Semikolon am Ende ( Bitte, Bitte, Bitte ), oder kein Semikolon am Ende ( Finger davon ).
Verwechsle niemals Freie Software mit Freeware - da gibt es markante Unterschiede. Freie Software kann Geld kosten, Freeware ist aber selten frei.

Nemo
Beiträge: 37
Registriert: Sa Mär 02, 2013 3:18 pm

Re: Alpha - Meine kleine Sprache

Beitrag von Nemo » So Nov 02, 2014 2:18 pm

ProgBeginner hat geschrieben:Ich wette mit euch, der PHP-Parser meldet euch einen Syntax Error in der 3. Zeile, weil nach der 2. ein Semikolon fehlt. :D
Das stimmt mit Sicherheit, aber ist das nicht eher ein Fehler des Parsers?
ProgBeginner hat geschrieben:Ich würde mir wünschen, einen Standard festzuschreiben, der möglichst für alles gilt, was sich Programmiersprache nennen will ... entweder Semikolon am Ende ( Bitte, Bitte, Bitte ), oder kein Semikolon am Ende ( Finger davon ).
Jein. Eine Standardisierung wäre zwar manchmal praktisch, aber es ist nun mal so, dass verschiedene Sprachen verschiedene Syntaxelemente brauchen. Außerdem könnte man einen solchen Standard nie durchsetzen, allein schon weil alter Code damit nutzlos werden würde.

Antworten