1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Forum
  3. AutoIt 3
  4. Projekte

ObjT

  • Robin98
  • 17. Juli 2013 um 15:49
  • Robin98
    Anfänger
    Beiträge
    35
    • 17. Juli 2013 um 15:49
    • #1

    Hallo COM :party: ,

    Seit einiger Zeit(1 woche) Arbeite ich án einer eigenen Programmierersprache, allerdings spreche ich keinen Maschienencode, also
    habe ich mich dazu entschlossen einen interpreter zu schreiben der den ObjTcode zu AutoItcode umwandelt.
    So dann musste ich mir noch einen Syntax ausdeken der kompliziert sein sollte.(Desto komplizierter desto besser).
    Gemacht getan. Und Hier ist Version 1.0

    LG Robin98
    P.S. Wer Maschinencode beherrscht kann mir gerne Helfen :rock:
    Edit: Die neusten Versionen sind da!

    Dateien

    ObjT-Next Generation.zip 263,55 kB – 513 Downloads ObjT 1.4.zip 794,68 kB – 651 Downloads ObjT 1.4.4 X1.zip 795,95 kB – 556 Downloads ObjT 1.4.4 X2.zip 797,93 kB – 630 Downloads

    5 Mal editiert, zuletzt von Robin98 (25. Dezember 2013 um 15:56) aus folgendem Grund: Aktuellste Version

  • BinDannMalWeg
    Fortgeschrittener
    Beiträge
    459
    • 17. Juli 2013 um 16:11
    • #2

    Robin98Code -> Autoit -> C++ -> Maschienencode
    Ist das nicht 'etwas' doppelt gemoppelt? :huh:
    Und ich suche gerade wirklich nach einer positiven Beschreibung für DAS - aber diese Syntax ist grausig... :wacko:
    In meinen Augen verkomplizierst du nur die Sprache Autoit ein wenig. Das ist so als würdest du dir für jedes deutsche Wort ein neues eigenes ausdenken (aus "Haus" wird "brezüklep" und aus "Zoo" wird "lololo"...) und dann schreibst du ein Lexikon mit dem du alles wieder zurück übersetzt.
    Wo ist der Sinn? ?(

    LG
    Christoph :)

  • James
    ehemals James1337
    Beiträge
    950
    • 17. Juli 2013 um 17:38
    • #3
    Zitat von Robin98

    Desto komplizierter desto besser

    Kannst du diesen Gedankengang begründen?
    Wäre eine Sprache, bei der man nur kurz die Beschreibung überfliegen muss um sie anwenden zu können, nicht viel besser?

    Zitat von Christoph54

    In meinen Augen verkomplizierst du nur die Sprache Autoit ein wenig. Das ist so als würdest du dir für jedes deutsche Wort ein neues eigenes ausdenken und dann schreibst du ein Lexikon mit dem du alles wieder zurück übersetzt.

    Dem muss ich zustimmen, und mit der Entwicklung einer Programmiersprache hat das auch nicht viel zu tun.

    AutoIt Version (Prod): 3.3.14.2

    AutoIt Version (Beta): 3.3.9.5

    ausgewählte Skripte: Chatbot, komplexe Zahlen (UDF)

  • alpines
    天照大神
    Beiträge
    4.209
    • 17. Juli 2013 um 18:01
    • #4

    Ich finde es schön das du versuchst eine eigene Scriptsprache zu entwickeln aber da fallen mir einige Dinge dabei auf:

    1. Wozu Zeilenangabe ganz oben? Bei deinem Interpreter kannst du doch die Anzahlen der @CRLFs zählen und dann sieht der Code besser aus.
    2. Wenn du mit der neuen Sprache Sachen einfacher gestalten kannst, dann halte ich das für eine sehr gute Idee, aber

    wenn bei einem komplizierteren Syntax nichts besseres/neues dazukommt dann ist das nicht viel wert. Da ist die Zeit in AutoIt besser investiert.

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • Xorianator
    Kontextfrei
    Beiträge
    1.935
    • 17. Juli 2013 um 19:25
    • #5

    Ich sehe da auch auf den ersten Blick nur "Verschlimmbesserungen". Gerade weil du eine Hochsprache wie AutoIt wieder downgradest :D

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Robin98
    Anfänger
    Beiträge
    35
    • 17. Juli 2013 um 21:58
    • #6

    Hallo an Alle,

    Ich glaube ihr habt meinen Ansatz missverstanden, das zum Teil auch an meiner schlechten Beschreibung lag. :rofl:

    Also der Ansatz war eine eigene UNABHÄNGIGE Programmierer Sprache zu Entwickeln, die überhaupt nichts mit AutoIt zu hat.

    Das mit dem AutoIt Interpreter habe ich nur gemacht weil ich nicht richtig weiß wie man einen Compiler schreibt der aus dem .objT code eine Win 32-exe macht.

    Denn Syntax habe ich nochmal komplett überarbeitet und angehängt.

    Ich hoffe ihr habt meinen Ansatz jetzt verstanden.

    LG Robin98

    Dateien

    ObjT1.2.zip 3,73 kB – 598 Downloads
  • Xorianator
    Kontextfrei
    Beiträge
    1.935
    • 17. Juli 2013 um 23:02
    • #7

    Ich glaube du hast nicht ganz verstanden was wir meinten.
    Der Code ähnelt der AutoIt Syntax (mit einem Mixmax C++ dazu), jedoch ist der Code nicht wirklich einfach zu schreiben, also, die Syntax ist grauenhaft. Deshalb würde diese Sprache wohl keinen Fortschritt, sondern eher einen Rückschritt darstellen ;)

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • alpines
    天照大神
    Beiträge
    4.209
    • 17. Juli 2013 um 23:46
    • #8

    Ein Tipp für den Interpreter,

    sofern du die Variablen $switch_e und den Rest nicht abrufst kannst du die StringReplaces auch für die gleiche Variable nutzen, bsp:

    [autoit]


    Global $sString = "Hallo1234"
    $sString = StringReplace($sString, "H","h")
    $sString = StringReplace($sString, "a","A")
    ;...

    [/autoit]


    Das spart Platz im RAM.

    Und ein weiterer Tipp für die Zukunft, bitte gewöhn dir an, die neuen Versionen im ersten Thread einzubinden bzw. hotzulinken, sonst findet man die neuen Versionen in den ganzen Seiten nicht!

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • Robin98
    Anfänger
    Beiträge
    35
    • 18. Juli 2013 um 08:48
    • #9

    Hallo alpines,

    Danke für die ganzen Hilfreichen Tipps! ;)

    Und Xorianator deswegen habe ich extra für euch den Syntax gestern Abend komplett überarbeitet, und ich habe euch alle verstanden ;)

    LG Robin98

  • Xorianator
    Kontextfrei
    Beiträge
    1.935
    • 18. Juli 2013 um 13:10
    • #10

    Oh, das hatte ich nicht gesehen, tut mir Leid :/

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • alpines
    天照大神
    Beiträge
    4.209
    • 18. Juli 2013 um 14:09
    • #11

    Ich freu mich auf die weitere Entwicklung deines Projektes.
    Mal schauen was es mit sich bringt!

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • Robin98
    Anfänger
    Beiträge
    35
    • 18. Juli 2013 um 14:36
    • #12

    Ja mal schauen :rolleyes:

  • James
    ehemals James1337
    Beiträge
    950
    • 18. Juli 2013 um 14:41
    • #13
    Zitat von Robin98

    eine eigene UNABHÄNGIGE Programmierer Sprache

    Wenn eine unabhängige Programmiersprache dein Ziel ist/war, wieso besitzt diese dann keine eigenen Funktionen? Momentan ist sie komplett von AutoIt abhängig.

    Aber wenigstens ist die Syntax jetzt besser (leichter verständlich).

    AutoIt Version (Prod): 3.3.14.2

    AutoIt Version (Beta): 3.3.9.5

    ausgewählte Skripte: Chatbot, komplexe Zahlen (UDF)

  • alpines
    天照大神
    Beiträge
    4.209
    • 18. Juli 2013 um 14:55
    • #14

    @James1337, der einizige Grund warum er von AutoIt abhängig ist, bzw. den Interpreter in AutoIt geschrieben hat ist, weil er nicht weiß wie er aus seinem Code eine lauffähige Win32-Anwendungs macht.
    Wenn du es weißt kannst du ihm ja helfen, er will versuchen ObjT auf ein Level mit AutoIt zu bringen, das kein zweifacher Interpreter notwendig ist sondern nur der für ObjT2Win32 so wie für AutoIt2Win32.

    Das hat er auch bereits schon erwähnt.

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • James
    ehemals James1337
    Beiträge
    950
    • 18. Juli 2013 um 15:08
    • #15

    Das ist mir alles klar. Es scheint, als hätte ich mich nicht gut genug ausgedrückt.

    Selbst wenn man eine Sprache erstellt, die "nur" einen Interpreter hat, weil man die Skripte aus welchem Grund auch immer nicht in Maschinencode umwandeln kann, könnte man zumindest eigene Funktionen hinzufügen und einen eigenen Interpreter benutzen.

    Momentan werden die Skripte ja nur durch StringReplace in AutoIt umgewandelt. Das ist zwar eigentlich nicht schlimm, hat aber auf Grund der wenigen an AutoIt vorgenommenen Änderungen nichts mit dem Entwickeln einer "eine eigene UNABHÄNGIGE Programmierer Sprache" zu tun. Er könnte also einen eigenen Interpreter schreiben und eigene Funktionen bereitstellen, sodass die Sprache nicht mehr von AutoIt abhängig ist (abgesehen davon, dass der Interpreter in AutoIt programmiert wurde).

    AutoIt Version (Prod): 3.3.14.2

    AutoIt Version (Beta): 3.3.9.5

    ausgewählte Skripte: Chatbot, komplexe Zahlen (UDF)

  • Robin98
    Anfänger
    Beiträge
    35
    • 18. Juli 2013 um 15:12
    • #16

    Hallo @James1337,

    Natürlich könnte ich das machen was glaubst du denn was ich gerade mache :D

    LG Robin98

  • Robin98
    Anfänger
    Beiträge
    35
    • 18. Juli 2013 um 17:26
    • #17

    @James1337,

    Meinst du so etwas

    Dateien

    String-ObjT.zip 629 Byte – 580 Downloads
  • James
    ehemals James1337
    Beiträge
    950
    • 18. Juli 2013 um 17:32
    • #18

    Ich dachte eigentlich eher an Funktionen, die dem Programmierer von der Sprache zur Verfügung gestellt werden (zum Beispiel wie MsgBox in AutoIt), aber das ist auch nicht schlecht. :D

    AutoIt Version (Prod): 3.3.14.2

    AutoIt Version (Beta): 3.3.9.5

    ausgewählte Skripte: Chatbot, komplexe Zahlen (UDF)

  • Robin98
    Anfänger
    Beiträge
    35
    • 18. Juli 2013 um 17:44
    • #19

    Achso meintest du das 8o

    Ich dachte du meinst so etwas wie UDFs.

    LG Robin98

    PS. Der aktuelle Interpreter unterstütz noch kein void{

  • Robin98
    Anfänger
    Beiträge
    35
    • 18. Juli 2013 um 18:30
    • #20

    Der aktuelle Interpreter unterstützt jetzt auch void{ :rock:

    Und @James1337 jetzt auch mit ein paar eigenen

    Funktionen Download ganz oben ObjT1.3.zip :rock:

    LG Robin98

  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™