You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Liste aller Fehlermeldungen und Codes sortiert nach Quelle (achtung groß)
Internal Errors
Message
File
unbekannter binärer Operator %d
ast/operators.go
unbekannter binärer Operator %d
ast/operators.go
unbekannter ternärer Operator %d
ast/operators.go
unbekannter Typ-Operator %d
ast/operators.go
unbekannter Cast-Operator %d
ast/operators.go
type %s not in typeMap
compiler/helper.go
attempted Value protection not found in scope.temporaries
compiler/scope.go
attempted Value unprotection not found in scope.temporaries
compiler/scope.go
attempted Value claim not found in scope.temporaries
compiler/scope.go
called MsgGotExpected without expected arg
ddperror/messages.go
panic(err)
ddppath.go
invaid primitive type
ddptypes/list_type.go
void list type
ddptypes/list_type.go
void type Reference
ddptypes/parameter_type.go
unknown type
ddptypes/parameter_type.go
invalid primitive type
ddptypes/primitive_type.go
nil statement passed to checkStatement
parser.go
invalid TokenType (%d)
parser/type_parsing.go
panicMode must not be nil
resolver.go
panicMode must not be nil
typechecker.go
unbekannter unärer Operator '%s'
typechecker.go
unbekannter binärer Operator '%s'
typechecker.go
unbekannter ternärer Operator '%s'
typechecker.go
unbekannter Typ-Operator '%s'
typechecker.go
non struct type (%s) passed to checkFieldAccess
typechecker.go
Scanner Errors
Code
Message
1004
Nach einem Punkt muss ein Großbuchstabe folgen
1005
Unbekannte Escape Sequenz '\%v' Ein Buchstaben Literal darf nur einen Buchstaben enthalten
1006
Ungültiger Datei Typ (nicht .ddp)
1007
Invalider Parameter Name Offener Parameter Ein Parameter in einem Alias muss mindestens einen Buchstaben enthalten Es wurde ein Name als Alias-Parameter erwartet
1008
Der Quelltext entspricht nicht dem UTF-8 Standard
Parser Errors
Code
Message
0
Bei Einbindungen muss ein Dateipfad angegeben werden
1006
Fehlerhafter Dateipfad '%s': "%s"
0
Fehler beim einbinden von '%s': %s
0
Zwei Module dürfen sich nicht gegenseitig einbinden! Das Modul '%s' versuchte das Modul '%s' einzubinden, während es von diesem Module eingebunden wurde
2024
Die Funktion '%s' wurde nur deklariert aber nie definiert
2008
Der Alias %s steht bereits für die Funktion '%s' Der Alias %s steht bereits für die Struktur '%s'
2021
Der Operator '%s' ist für diese Parametertypen bereits überladen
1000
Es wurde ein Text Literal, ein Name, 'alle' oder 'rekursiv' erwartet aber %v gefunden Es wurde Mal erwartet aber %v gefunden\nWolltest du vor %s vielleicht einen Punkt setzten? In einer Wenn Anweisung, muss ein 'dann' vor dem ':' stehen Es wurde 'von' erwartet aber 'in' gefunden Nach einem Doppelpunkt muss eine neue Zeile beginnen
1001
Es wurde ein Literal erwartet aber ein Ausdruck gefunden
1009
Falsches Pronomen, meintest du %s? Falscher Artikel, meintest du %s? Meintest du 'ein'? Meintest du 'eine'? Es wurde einer erwartet aber %v gefunden. Es wurde einem erwartet aber %v gefunden. Es wurde ein Literal oder ein Name erwartet aber %v gefunden. Falscher Artikel, meintest du Die? Falscher Artikel, meintest du Der? Falscher Artikel, meintest du %s?
2011
Man kann nur aus Funktionen einen Wert zurückgeben
1003
Es wurde %v erwartet aber ein Typname gefunden Es wurde %v erwartet aber ein Listen-Typname gefunden Invalider Typname %s
1005
Das Kommazahlen Literal '%s' kann nicht gelesen werden Ungültige Escape Sequenz '\%s' im Buchstaben Literal Ungültige Escape Sequenz '\%s' im Text Literal Das Zahlen Literal '%s' kann nicht gelesen werden
2006
Ein Alias muss mindestens 1 Symbol enthalten Der Alias enthält mehr als eine Aliasnegationsmarkierung
2007
Der Alias %s steht bereits für die Funktion '%s' Der Alias %s steht bereits für die Struktur '%s'
2010
Eine Funktion die kein Wahrheitswert zurück gibt, darf auch keine Negationsmarkierungen haben
1010
'%s' steht nicht für einen Operator
2020
Der '%s' Operator erwartet nur einen Parameter, aber hat %d bekommen Der '%s' Operator erwartet zwei Parameter, aber hat %d bekommen Der '%s' Operator erwartet drei Parameter, aber hat %d bekommen
3012
Ein Operator muss einen Wert zurückgeben
2000
Der Name %s steht bereits für eine Variable, Konstante, Funktion oder Struktur Ein Typ mit dem Namen '%s' existiert bereits
2005
Am Ende einer Funktion, die etwas zurück gibt, muss eine Rückgabe Anweisung stehen
2004
Funktionen müssen global definiert werden
2001
Es wurde noch keine Funktion mit dem Namen '%s' deklariert Der Name %s wurde noch nicht deklariert
2012
Der Name '%s' steht für eine Variable oder Struktur und nicht für eine Funktion Der Name %s steht für eine Variable und nicht für eine Funktion
2025
Es können nur Funktionen aus demselben Modul definiert werden
2026
Die Funktion '%s' wurde bereits definiert
2023
Es kann kein neuer Typ als '%s' definiert werden
2009
Ein Alias darf nur im globalen Bereich deklariert werden!
Resolver Errors
Code
Message
2000
Der Name %s steht bereits für eine Variable, Konstante, Funktion oder Struktur Der Name '%s' aus dem Modul '%s' existiert bereits in diesem Modul
2013
Nur globale Konstante können öffentlich sein Nur globale Variablen können öffentlich sein
2014
Es können nur globale Typen deklariert werden
2001
Der Name '%s' wurde noch nicht als Variable deklariert
2012
Der Name '%s' steht für eine Funktion oder Struktur und nicht für eine Variable Der Name '%s' steht für einer Konstante und kann daher nicht zugewiesen werden
2015
Der VON Operator erwartet einen Namen als Linken Operanden, nicht %s
2001
Der Name '%s' entspricht keiner öffentlichen Deklaration aus dem Modul '%s' Der Name '%s' wurde in noch nicht als Variable deklariert
2017
Break oder Continue darf nur in einer Schleife benutzt werden
Typechecker Errors
Code
Message
2016
Der Typ einer öffentlichen Konstante muss ebenfalls öffentlich sein Der Typ einer öffentlichen Variable muss ebenfalls öffentlich sein Der Rückgabetyp einer öffentlichen Funktion muss ebenfalls öffentlich sein Die Parameter Typen einer öffentlichen Funktion müssen ebenfalls öffentlich sein Wenn eine Struktur öffentlich ist, müssen alle ihre öffentlichen Felder von öffentlichem Typ sein Der unterliegende Typ eines öffentlichen Typ-Aliases muss ebenfalls öffentlich sein
3008
Der Zähler in einer zählenden-Schleife muss eine Zahl oder Kommazahl sein Es wurde eine %s erwartet (Listen-Typ des Iterators), aber ein Ausdruck vom Typ %s gefunden Es wurde ein Ausdruck vom Typ Buchstabe erwartet aber %s gefunden Man kann nur über Texte oder Listen iterieren
3009
Eine Funktion mit Rückgabetyp %s kann keinen Wert vom Typ %s zurückgeben
3000
Der %s Operator erwartet einen Ausdruck vom Typ '%s' aber hat '%s' bekommen Der %s Operator erwartet einen Ausdruck vom Typ '%s', '%s' oder '%s' aber hat '%s' bekommen Der %s Operator erwartet einen Text oder eine Liste als Operanden, nicht %s Die Typenkombination aus %s und %s passt nicht zum VERKETTET Operator Der STELLE Operator erwartet einen Text oder eine Liste als ersten Operanden, nicht %s Der STELLE Operator erwartet eine Zahl als zweiten Operanden, nicht %s Der '%s' Operator erwartet einen Ausdruck vom Typ '%s' aber hat '%s' bekommen Der '%s' Operator erwartet zwei Operanden gleichen Typs aber hat '%s' und '%s' bekommen Die linke und rechte Seite des 'falls' Ausdrucks müssen den selben Typ haben, aber es wurde %s und %s gefunden Dieser Ausdruck ist immer 'wahr' Die Funktion %s erwartet einen Wert vom Typ %s für den Parameter %s, aber hat %s bekommen Die Struktur %s erwartet einen Wert vom Typ %s für das Feld %s, aber hat %s bekommen Die Anzahl an Wiederholungen einer WIEDERHOLE Anweisung muss vom Typ ZAHL sein, war aber vom Typ %s Die Bedingung des 'falls' Ausdrucks muss vom Typ WAHRHEITSWERT sein, aber es wurde %s gefunden
3001
Ein Wert vom Typ %s kann keiner Variable vom Typ %s zugewiesen werden
3002
Der STELLE Operator erwartet eine Zahl als zweiten Operanden, nicht %s Der STELLE Operator erwartet einen Text oder eine Liste als ersten Operanden, nicht %s Der '%s' Operator erwartet einen Text oder eine Liste als ersten Operanden, nicht %s
3003
Falscher Typ (%s) in Listen Literal vom Typ %s Die Größe einer Liste muss als Zahl angegeben werden, nicht als %s
3004
"Ein Ausdruck vom Typ %s kann nicht in den Typ %s umgewandelt werden"
3005
Es wurde ein Referenz-Typ erwartet aber ein Ausdruck gefunden
3006
Ein Buchstabe in einem Text kann nicht als Buchstaben Referenz übergeben werden
3001
Ein Wert vom Typ %s kann keiner Variable vom Typ %s zugewiesen werden
3007
Die Bedingung einer Wenn-Anweisung muss ein Wahrheitswert sein, war aber vom Typ %s Die Bedingung einer %s muss ein Wahrheitswert sein, war aber vom Typ %s
3010
%s %s hat kein Feld mit Name %s Der VON Operator erwartet eine Struktur als rechten Operanden, nicht %s
3011
Das Feld %s der Struktur %s ist nicht öffentlich
Compiler Errors
Code
Message
0
Es konnte kein Absoluter Dateipfad für die Datei '%s' gefunden werden: %s
Index außerhalb der Listen Länge (Index war %ld, Listen Länge war %ld)
Invalide Indexe (Index 1 war %ld, Index 2 war %ld)
Dieser Teil des Programms wurde noch nicht implementiert
Falsche Typumwandlung
Invalider UTF8 Wert im Text
Es wurde eine invalide Deklaration gefunden
Es wurde ein invalider Ausdruck gefunden
invalid Parameter Type for BETRAG: %s
invalid Parameter Type for NEGATE: %s
invalid Parameter Type for LÄNGE: %s
Unbekannter Operator '%s'
invalid Parameter Types for VON (%s)
invalid Parameter Types for PLUS (%s, %s)
invalid Parameter Types for PLUS (%s, %s)
invalid Parameter Types for PLUS (%s, %s)
invalid Parameter Types for MINUS (%s, %s)
invalid Parameter Types for MINUS (%s, %s)
invalid Parameter Types for MINUS (%s, %s)
invalid Parameter Types for MAL (%s, %s)
invalid Parameter Types for MAL (%s, %s)
invalid Parameter Types for MAL (%s, %s)
invalid Parameter Types for DURCH (%s, %s)
invalid Parameter Types for DURCH (%s, %s)
invalid Parameter Types for DURCH (%s, %s)
invalid Parameter Types for STELLE (%s, %s)
invalid Parameter Types for %s (%s, %s)
invalid Parameter Types for HOCH (%s, %s)
invalid Parameter Types for HOCH (%s, %s)
invalid Parameter Types for LOGARITHMUS (%s, %s)
invalid Parameter Types for LOGARITHMUS (%s, %s)
invalid Parameter Types for KLEINER (%s, %s)
invalid Parameter Types for KLEINER (%s, %s)
invalid Parameter Types for KLEINERODER (%s, %s)
invalid Parameter Types for KLEINERODER (%s, %s)
invalid Parameter Types for KLEINERODER (%s, %s)
invalid Parameter Types for GRÖßER (%s, %s)
invalid Parameter Types for GRÖßER (%s, %s)
invalid Parameter Types for GRÖßER (%s, %s)
invalid Parameter Types for GRÖßERODER (%s, %s)
invalid Parameter Types for GRÖßERODER (%s, %s)
invalid Parameter Types for GRÖßERODER (%s, %s)
invalid Parameter Types for VONBIS (%s, %s, %s)
invalid Parameter Types for ZWISCHEN (%s, %s, %s)
invalid Parameter Types for ZWISCHEN (%s, %s, %s)
invalid Parameter Types for ZWISCHEN (%s, %s, %s)
invalid Parameter Types for ZWISCHEN (%s, %s, %s)
invalid Parameter Types for ZWISCHEN (%s, %s, %s)
invalid Parameter Types for ZWISCHEN (%s, %s, %s)
invalid Parameter Types for ZWISCHEN (%s, %s, %s)
invalid Parameter Types for VONBIS (%s, %s, %s)
invalid Parameter Type for ZAHL: %s
invalid Parameter Type for KOMMAZAHL: %s
invalid Parameter Type for WAHRHEITSWERT: %s
invalid Parameter Type for BUCHSTABE: %s
invalid Parameter Type for TEXT: %s
invalid TypeOpExpr Operator: %d
non-list/string/struct type passed as assignable/reference
Manche Error Codes sind zu grob und werden in sehr verschiedenen Kontexte benutzt
Die Error Kategorien "Syntax", "Sematic", und "Type" reichen nicht aus
Die Error Kategorien geben keine nützliche Information für den dev oder user
Die meisten Error Messages sind wild im code verteilt und nicht an einem Ort
Ein Error Code kann mehrere Messages haben, was den Sinn eines Error Codes widerspricht
Lösungen
Für Punkt 1, 2 und 3 müssen wir die error codes neu designen und die Kategorien entweder entfernen oder feiner machen.
Für Punkt 4 und 5 schlage ich vor, dass wir eine Code Datei haben wo alle Error Codes und Messages zusammen liegen und dass jeder Error Code mit einer Error Message verbunden ist.
The text was updated successfully, but these errors were encountered:
Sachlage
Liste aller Fehlermeldungen und Codes sortiert nach Quelle (achtung groß)
Internal Errors
Scanner Errors
Ein Buchstaben Literal darf nur einen Buchstaben enthalten
Offener Parameter
Ein Parameter in einem Alias muss mindestens einen Buchstaben enthalten
Es wurde ein Name als Alias-Parameter erwartet
Parser Errors
Der Alias %s steht bereits für die Struktur '%s'
Es wurde Mal erwartet aber %v gefunden\nWolltest du vor %s vielleicht einen Punkt setzten?
In einer Wenn Anweisung, muss ein 'dann' vor dem ':' stehen
Es wurde 'von' erwartet aber 'in' gefunden
Nach einem Doppelpunkt muss eine neue Zeile beginnen
Falscher Artikel, meintest du %s?
Meintest du 'ein'?
Meintest du 'eine'?
Es wurde einer erwartet aber %v gefunden.
Es wurde einem erwartet aber %v gefunden.
Es wurde ein Literal oder ein Name erwartet aber %v gefunden.
Falscher Artikel, meintest du Die?
Falscher Artikel, meintest du Der?
Falscher Artikel, meintest du %s?
Es wurde %v erwartet aber ein Listen-Typname gefunden
Invalider Typname %s
Ungültige Escape Sequenz '\%s' im Buchstaben Literal
Ungültige Escape Sequenz '\%s' im Text Literal
Das Zahlen Literal '%s' kann nicht gelesen werden
Der Alias enthält mehr als eine Aliasnegationsmarkierung
Der Alias %s steht bereits für die Struktur '%s'
Der '%s' Operator erwartet zwei Parameter, aber hat %d bekommen
Der '%s' Operator erwartet drei Parameter, aber hat %d bekommen
Ein Typ mit dem Namen '%s' existiert bereits
Der Name %s wurde noch nicht deklariert
Der Name %s steht für eine Variable und nicht für eine Funktion
Resolver Errors
Der Name '%s' aus dem Modul '%s' existiert bereits in diesem Modul
Nur globale Variablen können öffentlich sein
Der Name '%s' steht für einer Konstante und kann daher nicht zugewiesen werden
Der Name '%s' wurde in noch nicht als Variable deklariert
Typechecker Errors
Der Typ einer öffentlichen Variable muss ebenfalls öffentlich sein
Der Rückgabetyp einer öffentlichen Funktion muss ebenfalls öffentlich sein
Die Parameter Typen einer öffentlichen Funktion müssen ebenfalls öffentlich sein
Wenn eine Struktur öffentlich ist, müssen alle ihre öffentlichen Felder von öffentlichem Typ sein
Der unterliegende Typ eines öffentlichen Typ-Aliases muss ebenfalls öffentlich sein
Es wurde eine %s erwartet (Listen-Typ des Iterators), aber ein Ausdruck vom Typ %s gefunden
Es wurde ein Ausdruck vom Typ Buchstabe erwartet aber %s gefunden
Man kann nur über Texte oder Listen iterieren
Der %s Operator erwartet einen Ausdruck vom Typ '%s', '%s' oder '%s' aber hat '%s' bekommen
Der %s Operator erwartet einen Text oder eine Liste als Operanden, nicht %s
Die Typenkombination aus %s und %s passt nicht zum VERKETTET Operator
Der STELLE Operator erwartet einen Text oder eine Liste als ersten Operanden, nicht %s
Der STELLE Operator erwartet eine Zahl als zweiten Operanden, nicht %s
Der '%s' Operator erwartet einen Ausdruck vom Typ '%s' aber hat '%s' bekommen
Der '%s' Operator erwartet zwei Operanden gleichen Typs aber hat '%s' und '%s' bekommen
Die linke und rechte Seite des 'falls' Ausdrucks müssen den selben Typ haben, aber es wurde %s und %s gefunden
Dieser Ausdruck ist immer 'wahr'
Die Funktion %s erwartet einen Wert vom Typ %s für den Parameter %s, aber hat %s bekommen
Die Struktur %s erwartet einen Wert vom Typ %s für das Feld %s, aber hat %s bekommen
Die Anzahl an Wiederholungen einer WIEDERHOLE Anweisung muss vom Typ ZAHL sein, war aber vom Typ %s
Die Bedingung des 'falls' Ausdrucks muss vom Typ WAHRHEITSWERT sein, aber es wurde %s gefunden
Der STELLE Operator erwartet einen Text oder eine Liste als ersten Operanden, nicht %s
Der '%s' Operator erwartet einen Text oder eine Liste als ersten Operanden, nicht %s
Die Größe einer Liste muss als Zahl angegeben werden, nicht als %s
Die Bedingung einer %s muss ein Wahrheitswert sein, war aber vom Typ %s
Der VON Operator erwartet eine Struktur als rechten Operanden, nicht %s
Compiler Errors
nach oben
Die Probleme
Die Probleme, die ich sehe sind:
Lösungen
Für Punkt 1, 2 und 3 müssen wir die error codes neu designen und die Kategorien entweder entfernen oder feiner machen.
Für Punkt 4 und 5 schlage ich vor, dass wir eine Code Datei haben wo alle Error Codes und Messages zusammen liegen und dass jeder Error Code mit einer Error Message verbunden ist.
The text was updated successfully, but these errors were encountered: