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

Forum für alles rund um die MSEide und MSEgui
Antworten
mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

Dann kann ich überspitzt so formulieren:
utf-8 hat den Vorteil, dass man beim Codieren von Suche nach bekannten Zeichen der BMP mittels string Index über die utf-8 Mehrbytecodierung stolpert und bei den Nachforschungen zur Lösung des Codierungsproblemes möglicherweise auch etwas über das davon unabhängige Problem der decomposed Zeichen lernt. Da bei utf-16 das Codierungsproblem nicht auftritt, muss man auch keine Nachforschungen machen und lernt daher auch nicht zufälligerweise etwas über die verschiedenen kanonischen und gemischten composed/decomposed Unicode Formen.

;-)

Martin

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

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

Beitrag von mschnell »

martin_frb hat geschrieben:Wenn ein Programmierer (in UTF8 oder 16) schreibt

Code: Alles auswählen

 
if str1[5] = 'ä' then begin
 


Was will er eigentlich das sein Programm machen soll?
A) Testen auf den Buchstaben 'ä'
B) Testen auf den CodePoint fuer die normalisierte Repräsentation von 'ä'


Wenn ein Programmierer (in UTF32) schreibt

Code: Alles auswählen

 
if str1 = 'ä' then begin
 


Was will er eigentlich das sein Programm machen soll?
A) Testen auf den Buchstaben 'ä'
B) Testen auf den CodePoint fuer die normalisierte Repräsentation von 'ä'

Das ist doch genau dasselbe Problem.

Die Programmiersprache kann hier nicht helfen. Das ist in Unicode einfach so und spricht eben nicht gegen UTF16.

-Michael

BeniBela
Beiträge: 308
Registriert: Sa 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
CPU-Target: 64 Bit

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

Beitrag von BeniBela »

Was jede Pascal basierte Sprache haben muss

(aber den fpc Leuten gefällt es nicht besonders, vielleicht kann es ja in MSElang rein,,,)

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

Ein erster Vergleich des produzierten Codes von MSElang und FPC:

Code: Alles auswählen

 
program test1;
 
function test(p1: int32): int32;
var
 i1: int32;
begin
 i1:= p1;
 result:= p1+i1;
end;
 
begin
 exitcode:= test(123);
end.
 


MSElang mit LLVM backend und -O3:

Code: Alles auswählen

 
        .file   "test-opt.ll"
        .text
        .globl  main
        .align  16, 0x90
        .type   main,@function
main:                                   # @main
# BB#0:
        movl    $246, %eax
        ret
.Ltmp0:
        .size   main, .Ltmp0-main
 
 
        .section        ".note.GNU-stack","",@progbits
 


FPC fixes_2_6 mit -O3:

Code: Alles auswählen

 
        .file "test1.pas"
[...]
.globl  P$TEST1_TEST$LONGINT$$LONGINT
        .type   P$TEST1_TEST$LONGINT$$LONGINT,@function
P$TEST1_TEST$LONGINT$$LONGINT:
# Temps allocated between esp+0 and esp+0
# Var p1 located in register edx
# Var $result located in register eax
# Var i1 located in register eax
# [test1.pas]
# [6] begin
        movl    %eax,%edx
# [7] i1:= p1;
        movl    %edx,%eax
# [8] result:= p1+i1;
        addl    %edx,%eax
# [9] end;
        ret
[...]
.globl  main
        .type   main,@function
main:
# Temps allocated between esp+0 and esp+0
# [11] begin
        call    FPC_INITIALIZEUNITS
# [12] exitcode:= test(123);
        movl    $123,%eax
        call    P$TEST1_TEST$LONGINT$$LONGINT
        movl    %eax,operatingsystem_result
# [13] end.
        call    FPC_DO_EXIT
        ret
[...]
 

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

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

Beitrag von Christian »

Echt schade das du immer gegen den rest der Welt kämpfst und dabei die Prioritäten anders als wir legst :/
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

Könntest du das etwas ausführen? Es ist mir nicht klar, was du damit meinst.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

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

Beitrag von Christian »

Hoffentlich nimmst du mir das nicht zu übel, mir kann man beim promet das selbe vorwerfen.

Du baust tolle Sachen, mseide ist meiner Meinung nach aber zuweit von Delphi entfernt (ich weiss das ist auch nicht beabsichtigt). Aber dadurch führt es halt ein absoulutes Nieschendasein. Technisch ist das ganze toll aber es gibt zuwenig Widgets und man muss sich komplett in was neues einarbeiten. Zumindest gefühlt ist alles zu weit von der Schwelle weg die ich als akzeptabel zum einarbeiten empfinde.

Lazarus ist da viel bequemer. Es ist alles sehr ähnlich zu Delphi. Und Delphi hat man sich durch die verdammt gute Doku von Borland damals schell und gut aneignen können.

Ich schau seit Jahren einerseits respektvoll in deine Richtung andererseits traurig das der kram sowenig Beachtung findet. Auf der anderen Seite verseh ichs auch jedesmal wenn ichs mir angesehn hab hab ich recht schnell aufgegeben weil mir was gefehlt oder nicht gefallen hat oder die Einarbeitungszeit zu lang erschein.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

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

Beitrag von theo »

Christian hat recht und ich glaube ich habe dir das auch schon öfter gesagt Martin.

Niemand bezweifelt dein technisches Können.

Aber anstatt dass du mit deinen Fähigkeiten und deiner Zeit hilfst, die Löcher in der Dorfstrasse zu reparieren, baust du eine goldene Sackgasse nach der anderen.
Zuletzt geändert von theo am Sa 24. Jan 2015, 00:37, insgesamt 1-mal geändert.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

@Christian, welche widgets vermisst du bei MSEgui?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

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

Beitrag von Christian »

Dazu kann ich keine aktuelle Aussage machen wenn ich mal ne stunde zeit find installier ich mal ne aktuelle Version der letzte Test ist Jahre her. Wollt dir nur mal meinen Blickwinkel öffnen, weil ich nen llvm basierten compiler vom fpc Team arg vermisse und du baust wieder mal das richtige aber an der falschen Stelle ;)

Aber nimm das nicht zu ernst mir kann man wie gesagt beim promet auch liebhaberei vorwerfen. Und schließlich öffnest du auch alles eigentlich kann ja sicher jeder den compiler nehmen und ne fpc kompatible Version draus bauen, oder nen llvm backend fürn fpc.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

MSElang wird am Anfang ausschliesslich den von MSEgui verwendeten Pascal-Dialekt unterstützen, eine Untermenge von FPC 2.6.4. Die eigentliche MSElang Sprache kommt später. Da der MSElang-Compiler mit einer Syntax-Definitions-Datei arbeitet, ist dies mit kleinem Aufwand möglich.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

Zur Erinnerung hier die MSEgui Standardkomponenten:
Dateianhänge
mseguicomp1.png
mseguicomp2.png
mseguicomp3.png
mseguicomp4.png

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

2. Teil:
Dateianhänge
mseguicomp5.png
mseguicomp6.png
mseguicomp7.png
mseguicomp8.png

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

3. Teil:
Dateianhänge
mseguicomp9.png
mseguicomp10.png
mseguicomp11.png
mseguicomp12.png

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

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

Beitrag von mse »

4. Teil:
Dateianhänge
mseguicomp13.png
mseguicomp14.png
mseguicomp15.png
mseguicomp16.png

Antworten