MSElang, der zukünftige Compiler für MSEide+MSEgui

Forum für alles rund um die MSEide und MSEgui

Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Beitragvon mschnell » 26. Jan 2015, 11:54 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

marcov hat geschrieben:EInfach, wie Delphi alle 1-byte Typen rauswerfen. Also TStrings ist auf UnicodeString basiert und basta. )

Ganz schlechte Idee.

Ich und meine Kollegen machen sehr viel Protokolle über Serielle Schnittstellen, TCP/IP, ... Da werden 1-Byte Strings gebraucht.

-Mcihael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon mschnell » 26. Jan 2015, 11:56 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Christian hat geschrieben:Vielleicht wirds wirklich zeit das Lazarus mehrere compiler unterstützt...

Super: C++ und Java !!!

Jede Unit könnte man in einer anderen Sprache schreien. Fände ich toll.

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon marcov » 26. Jan 2015, 12:49 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

mschnell hat geschrieben:
marcov hat geschrieben:EInfach, wie Delphi alle 1-byte Typen rauswerfen. Also TStrings ist auf UnicodeString basiert und basta. )

Ganz schlechte Idee.

Ich und meine Kollegen machen sehr viel Protokolle über Serielle Schnittstellen, TCP/IP, ... Da werden 1-Byte Strings gebraucht.


Rauswerfen als in nicht völlig unterstützten für alle Ziele. Also, raus aus der Klassenhierarchie.

Die Typen können für ein bisschen lowlevel interfacing da bleiben (wie in Delphi). Das ist nicht das Problem.
marcov
 
Beiträge: 999
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon mschnell » 26. Jan 2015, 15:09 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Ich brauche jedenfalls Sachen wie TStringList auch mit 8 Bit Strings.

"Irgendwer" wird natürlich Unicode brauchen Also muss TStringList Unicode können.

Wie man das meiner Ansicht nach sinnvoll und trotzdem kompatibel zu Delphi (nur 16 Bit Strings ordentlich unterstützt) und zum aktuellen Lazarus (nur 8 Bit Strings ordentlich unterstützt) machen könnte habe ich im Wiki beschrieben (Versuch). -> http://wiki.freepascal.org/not_Delphi_c ... de_Support

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon BeniBela » 26. Jan 2015, 17:07 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

mschnell hat geschrieben:Ich brauche jedenfalls Sachen wie TStringList auch mit 8 Bit Strings.


TStringList ist sowieso eine Schnapsidee


Eine generische Listenklasse und eine generische Mapklasse bräuchte man, statt eine Klasse, die alles ein bisschen kann.
BeniBela
 
Beiträge: 229
Registriert: 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4) | 
CPU-Target: 64 Bit
Nach oben

Beitragvon mse » 22. Mär 2015, 18:15 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

llvm ist wirklich verblüffend, hier ein Beispiel mit einer Schlaufe:

Code: Alles auswählen
 
program while1;
var
 i1,i2: int32;
begin
 i1:= 0;
 i2:= 0;
 while i1 < 5 do begin
  inc(i1);
  i2:= i1+i2;
 end;
 exitcode:= i2;
end.
 


MSElang-llvm -O3:
Code: Alles auswählen
 
        .file   "test-opt.ll"
        .text
        .globl  main
        .align  16, 0x90
        .type   main,@function
main:                                   # @main
# BB#0:
        movl    $15, %eax
        ret
.Ltmp0:
        .size   main, .Ltmp0-main
 
 
        .section        ".note.GNU-stack","",@progbits
 


FPC fixes_2_6 -O3:
Code: Alles auswählen
 
main:
# Temps allocated between esp+0 and esp+0
# Var i1 located in register ecx
# Var i2 located in register edx
# [test1.pas]
# [4] begin
        call    FPC_INITIALIZEUNITS
        movl    $0,%eax
        movl    $0,%eax
# [5] i1:= 0;
        movl    $0,%ecx
# [6] i2:= 0;
        movl    $0,%edx
# [7] while i1 < 5 do begin
        jmp     .Lj8
        .balign 4,0x90
.Lj7:
# [8] inc(i1);
        incl    %ecx
# [9] i2:= i1+i2;
        movl    %edx,%eax
        addl    %ecx,%eax
        movl    %eax,%edx
.Lj8:
        cmpl    $5,%ecx
        jl      .Lj7
.Lj9:
# [11] exitcode:= i2;
        movl    %edx,operatingsystem_result
# [12] end.
        call    FPC_DO_EXIT
        ret
.Le0:
        .size   main, .Le0 - main
 
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon marcov » 22. Mär 2015, 19:18 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

(getested, machte nichts aus)
marcov
 
Beiträge: 999
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon mschnell » 23. Mär 2015, 09:35 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

marcov hat geschrieben:(getested, machte nichts aus)

Was genau meinst Du ?

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon Dragon » 20. Aug 2016, 13:25 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Sorry fürs ausgraben des alten Therads. Ich wollte mal fragen wie es mitl mit dem Projekt steht einen Pascalcompiler mit llvm backend zu bauen. Viele links führen ja mitl ins leere.
Dragon
 
Beiträge: 162
Registriert: 31. Jul 2013, 14:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80 | 
Nach oben

Beitragvon mse » 20. Aug 2016, 17:42 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Dragon hat geschrieben:Ich wollte mal fragen wie es mitl mit dem Projekt steht einen Pascalcompiler mit llvm backend zu bauen.

Das commit Log ist hier:
https://gitlab.com/mseide-msegui/mselang/commits/master
Die Entwicklung verläuft planmässig, eine furchtbare Plackerei. ;-)
Viele links führen ja mitl ins leere.

Welche?
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Dragon » 20. Aug 2016, 18:51 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Zum-beispiel der in deinem Eingangspost der wirft mir ein 404 ist der erste der mir spontan einfällt ein anderen hätt ich jetzt nicht zur hand.

Ich kann mir vorstellen das das ein Plakerei sein muss^^.
ist der Kompiler schon testbar mit einfachen grundprogrammen würde gerne ein bisl mit rumspielen.

Ich finde es übrigens beachtlich was du so alles alleine auf die Beine stellst meine hochachtung.
Dragon
 
Beiträge: 162
Registriert: 31. Jul 2013, 14:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80 | 
Nach oben

Beitragvon mschnell » 21. Aug 2016, 07:43 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Dragon hat geschrieben:Ich finde es übrigens beachtlich was du so alles alleine auf die Beine stellst meine hochachtung.

Ich bin sicher dass er einen Kopierer hat auf den er sich setzen kann, um viele Clones von sich selbst zu schaffen :) .
-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon mse » 21. Aug 2016, 08:24 Re: MSElang, der zukünftige Compiler für MSEide+MSEgui

Dragon hat geschrieben:Zum-beispiel der in deinem Eingangspost der wirft mir ein 404 ist der erste der mir spontan einfällt ein anderen hätt ich jetzt nicht zur hand.

Den habe ich repariert, vielen Dank für den Hinweis. Gitorious wurde von GitLab übernommen.
ist der Kompiler schon testbar mit einfachen grundprogrammen würde gerne ein bisl mit rumspielen.

Leider ist er noch noch nicht allgemein verwendbar.
Ein Leistungsvergleich ist hier:
https://www.mail-archive.com/fpc-pascal ... 41615.html
https://www.mail-archive.com/mseide-mse ... 09491.html

Oder
viewtopic.php?f=53&t=7320&start=63
https://www.mail-archive.com/mseide-mse ... 08074.html
https://www.mail-archive.com/mseide-mse ... 08295.html

Vielleicht auch noch interessant (von 2014)
https://www.mail-archive.com/mseide-mse ... 07618.html
Ich finde es übrigens beachtlich was du so alles alleine auf die Beine stellst meine hochachtung.

Danke! :-)
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

• Themenende •
Vorherige

Zurück zu MSEide und MSEgui



Wer ist online?

Mitglieder in diesem Forum: fliegermichl und 2 Gäste

porpoises-institution
accuracy-worried