diff --git a/README.md b/README.md index 509b24f..e48e9fa 100644 --- a/README.md +++ b/README.md @@ -9,66 +9,66 @@ An alternative python interpreter that accepts german keywords ## Supported keywords and functions ### Keywords -| Englisch | Deutsch | -| ------------ | ------------ | -| `and` | `und` | -| `as` | `als` | -| `assert` | `prüfe` | -| `break` | `brechen` | -| `class` | `klasse` | -| `continue` | `fortsetze` | -| `def` | `def` | -| `del` | `lösche` | -| `elif` | `andernfalls` | -| `else` | `sonst` | -| `except` | `ausgenommen`| -| `False` | `Falsch` | +| Englisch | Deutsch | +| ------------ | --------------- | +| `and` | `und` | +| `as` | `als` | +| `assert` | `prüfe` | +| `break` | `abbrechen` | +| `class` | `klasse` | +| `continue` | `fortsetzen` | +| `def` | `def` | +| `del` | `lösche` | +| `elif` | `andernfalls` | +| `else` | `sonst` | +| `except` | `ausgenommen` | +| `False` | `Falsch` | | `finally` | `schlussendlich`| -| `for` | `für` | -| `from` | `von` | -| `global` | `global` | -| `if` | `wenn` | -| `import` | `importiere` | -| `in` | `in` | -| `is` | `ist` | -| `lambda` | `lambda` | -| `None` | `Keine` | -| `nonlocal` | `nichtlokal` | -| `not` | `nicht` | -| `or` | `oder` | -| `pass` | `passe`| -| `raise` | `erhöhe` | -| `return` | `Rückkehr` | -| `True` | `Wahr` | -| `try` | `versuche` | -| `while` | `solange` | -| `with` | `mit` | -| `yield` | `erzeuge` | +| `for` | `für` | +| `from` | `von` | +| `global` | `global` | +| `if` | `wenn` | +| `import` | `importiere` | +| `in` | `aus` | +| `is` | `ist` | +| `lambda` | `lambda` | +| `None` | `Nichts` | +| `nonlocal` | `überlokal` | +| `not` | `nicht` | +| `or` | `oder` | +| `pass` | `passe` | +| `raise` | `erhöhe` | +| `return` | `gib` | +| `True` | `Wahr` | +| `try` | `versuche` | +| `while` | `solange` | +| `with` | `mit` | +| `yield` | `erzeuge` | ### Exceptions -| Exception | Übersetzung | -| --- | --- | -| `Exception` | 'Ausnahme' | -| `TypeError` | 'Typfehler' | -| `ValueError` | 'Wertefehler' | -| `NameError` | 'Namensfehler' | -| `IndexError` | 'Indexfehler' | -| `KeyError` | 'Schlüsselfehler' | -| `FileNotFoundError` | 'DateiNichtGefundenFehler' | -| `SyntaxError` | 'Syntaxfehler' | -| `IndentationError` | 'Einrückungsfehler' | -| `ImportError` | 'Importfehler' | +| Exception | Übersetzung | +| --------------------- | -------------------------- | +| `Exception` | 'Ausnahme' | +| `TypeError` | 'Typfehler' | +| `ValueError` | 'Wertefehler' | +| `NameError` | 'Namensfehler' | +| `IndexError` | 'Indexfehler' | +| `KeyError` | 'Schlüsselfehler' | +| `FileNotFoundError` | 'DateiNichtGefundenFehler' | +| `SyntaxError` | 'Syntaxfehler' | +| `IndentationError` | 'Einrückungsfehler' | +| `ImportError` | 'Importfehler' | | `ModuleNotFoundError` | 'ModulNichtGefundenFehler' | -| `ZeroDivisionError` | 'Nullteilungsfehler' | -| `ArithmeticError` | 'Rechenfehler' | -| `OverflowError` | 'Überlauffehler' | -| `AssertionError` | 'Behauptungsfehler' | -| `AttributeError` | 'Attributfehler' | -| `RuntimeError` | 'Laufzeitfehler' | -| `KeyError` | 'Schlüsselfehler' | -| `StopIteration` | 'IterationStoppen' | -| `PermissionError` | 'Berechtigungsfehler' | -| `TypeError` | 'Typfehler' | +| `ZeroDivisionError` | 'Nullteilungsfehler' | +| `ArithmeticError` | 'Rechenfehler' | +| `OverflowError` | 'Überlauffehler' | +| `AssertionError` | 'Behauptungsfehler' | +| `AttributeError` | 'Attributfehler' | +| `RuntimeError` | 'Laufzeitfehler' | +| `KeyError` | 'Schlüsselfehler' | +| `StopIteration` | 'Iterationsstopp' | +| `PermissionError` | 'Berechtigungsfehler' | +| `TypeError` | 'Typfehler' | ## TODO diff --git a/Schlange.py b/Schlange.py index f56a366..3bdc1d1 100644 --- a/Schlange.py +++ b/Schlange.py @@ -4,42 +4,42 @@ class KeywordTranslator: translations = { 'und': 'and', 'als': 'as', - 'prüfe': 'assert', - 'breche': 'break', + 'prüfe': 'assert', + 'abbrechen': 'break', 'klasse': 'class', - 'fortsetze': 'continue', + 'fortsetzen': 'continue', 'def': 'def', 'lösche': 'del', 'andernfalls': 'elif', 'sonst': 'else', - 'ausnahme': 'except', + 'erlaube': 'except', 'Falsch': 'False', 'schlussendlich': 'finally', - 'für': 'for', + 'für': 'for', 'von': 'from', 'global': 'global', 'wenn': 'if', 'importiere': 'import', - 'in': 'in', + 'aus': 'in', 'ist': 'is', 'lambda': 'lambda', 'Nichts': 'None', - 'nichtlokal': 'nonlocal', + 'überlokal': 'nonlocal', 'nicht': 'not', 'oder': 'or', - 'passe': 'pass', - 'erhöhe': 'raise', - 'Rückkehr': 'return', + 'weitergeben': 'pass', + 'erhöhe': 'raise', + 'gib': 'return', 'Wahr': 'True', 'versuche': 'try', 'solange': 'while', 'mit': 'with', 'erzeuge': 'yield', - "reichweite" : "range", + "bereich" : "range", "selbst" : "self", "drucke" : "print", "mathe" : "math", - "Wurzel" : "sqrt" + "wurzel" : "sqrt" } #dictionary to interpret the exceptions translation_exceptions = { @@ -48,18 +48,18 @@ class KeywordTranslator: 'Wertefehler': 'ValueError', 'Namensfehler': 'NameError', 'Indexfehler': 'IndexError', - 'Schlüsselfehler': 'KeyError', + 'Schlüsselfehler': 'KeyError', 'Syntaxfehler': 'SyntaxError', - 'Einrückungsfehler': 'IndentationError', + 'Einrückungsfehler': 'IndentationError', 'Datei nicht gefunden Fehler': 'FileNotFoundError', 'Nullteilungsfehler': 'ZeroDivisionError', - 'überlauf Fehler': 'OverflowError', + 'Überlauffehler': 'OverflowError', 'Importfehler': 'ImportError', 'Modul nicht gefunden Fehler': 'ModuleNotFoundError', 'Attributfehler': 'AttributeError', 'Behauptungsfehler': 'AssertionError', 'Laufzeitfehler': 'RuntimeError', - 'Iteration stoppen': 'StopIteration', + 'Iterationsstopp': 'StopIteration', 'Tastaturunterbrechung': 'KeyboardInterrupt', } #Dictionary to get name of the exception @@ -80,7 +80,7 @@ class KeywordTranslator: 'AttributeError': 'Attributfehler', 'AssertionError': 'Behauptungsfehler', 'RuntimeError': 'Laufzeitfehler', - 'StopIteration': 'IterationStoppen', + 'StopIteration': 'Iterationsstopp', 'KeyboardInterrupt': 'Tastaturunterbrechung', } errors_with_placeholders = { diff --git a/test.py b/test.py index e03d599..cc293f0 100644 --- a/test.py +++ b/test.py @@ -1,5 +1,5 @@ importiere numpy als np -von numpy importiere Wurzel +von numpy importiere wurzel klasse Person: def __init__(selbst, name, alter): selbst.name = name @@ -20,16 +20,16 @@ def gruesse(selbst): zahl -= 1 liste = [1, 2, 3, 4, 5, 7, 8] -für element in liste: +für element aus liste: wenn element == 1: - fortsetze + fortsetzen andernfalls element == 7: - breche - drucke(f'Die Wurzel von {element} ist {np.Wurzel(element)}.') + abbrechen + drucke(f'Die Wurzel von {element} ist {np.wurzel(element)}.') versuche: 1 / 0 -ausnahme Nullteilungsfehler als e: +erlaube Nullteilungsfehler als e: drucke(f'Division durch Null: {e}.') schlussendlich: - drucke('Das Programm ist fertig') \ No newline at end of file + drucke('Das Programm ist fertig')