Wer hat denn einen Scanner und Parser für PB gerade rumfliegen? Ich könnte auch einen gebrauchen.Rings hat geschrieben:Scanner und Parser (im Quellcode) für PB gibts ja einige.
Das müsste man zusammenfassen und entsprechend
einen Ermitter(Code-Generator) für javascript dranhängen.
PBtoHTML5 Compiler [pre-alpha]
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: PBtoHTML5 Compiler [pre-alpha]
Re: PBtoHTML5 Compiler [pre-alpha]
z.Bsp hier:
1) http://www.purebasic.fr/german/viewtopi ... xer+parser
2) http://www.purebasic.fr/german/viewtopi ... xer+parser
dann schliesslich gibts noch eine OOP Erweiterung . Auch dort sollte zumind.
ein Parser drin stecken.
1) http://www.purebasic.fr/german/viewtopi ... xer+parser
2) http://www.purebasic.fr/german/viewtopi ... xer+parser
dann schliesslich gibts noch eine OOP Erweiterung . Auch dort sollte zumind.
ein Parser drin stecken.
Rings hat geschrieben:ziert sich nich beim zitieren
Re: PBtoHTML5 Compiler [pre-alpha]
Erster!
Grüße ... Kiffi

Code: Alles auswählen
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Pb2Web</title>
<link type="text/css" rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script>
var CurrentWindow;
function OpenWindow( Window, x, y, InnerWidth, InnerHeight, Title, Flags, ParentWindowID ) {
CurrentWindow = "win_" + Window;
$('body').append("<div id='" + CurrentWindow + "'></div>");
$("#" + CurrentWindow).dialog({
position: [x, y],
width: InnerWidth,
height: InnerHeight,
title: Title,
modal: true
});
return false;
}
function ButtonGadget( Gadget, x, y, Width, Height, Text, Flags ) {
$("#" + CurrentWindow).append("<div id='gadget_" + Gadget + "'>" + Text + "</div>");
$("#gadget_" + Gadget).button();
$("#gadget_" + Gadget).css({ top: y, left: x, width: Width, height: Height });
return false;
}
$(function () {
$( document ).ready(function() {
OpenWindow(0, 100, 100, 640, 400, "This is a PB-Window", 0, 0);
ButtonGadget(0, 50, 50, 300, 40, "This is a ButtonGadget", 0);
});
});
</script>
</head>
<body />
</html>
a²+b²=mc²
Re: PBtoHTML5 Compiler [pre-alpha]
hab den linbk wieder gefunden,
simple oop von sirc:
https://www.dropbox.com/sh/oo85ru13fidb ... pleOOP.rar
remi's lexer krieg ich unter pb511 noch nicht zum rennen....
simple oop von sirc:
https://www.dropbox.com/sh/oo85ru13fidb ... pleOOP.rar
remi's lexer krieg ich unter pb511 noch nicht zum rennen....
Rings hat geschrieben:ziert sich nich beim zitieren
Re: PBtoHTML5 Compiler [pre-alpha]
vermutlich das assert-Makro, oder? Quick'nDirty:Rings hat geschrieben:remi's lexer krieg ich unter pb511 noch nicht zum rennen....
Code: Alles auswählen
Macro assert(cond, label="")
CompilerIf #CONTRACTS
If Not(cond)
CompilerIf #PB_Compiler_Debugger
Debug label+": Line "+Str(#PB_Compiler_Line)+": Contract violated: "+#DQUOTE$+DQ#cond#DQ+#DQUOTE$+" is false"
CallDebugger
CompilerElse
MessageRequester("Contract violated", label+": Line "+Str(#PB_Compiler_Line)+": Contract violated "+DQ#cond#DQ+" is false")
CompilerEndIf
EndIf
CompilerEndIf
EndMacro
Macro asser2(cond, label="")
CompilerIf #CONTRACTS
If cond = ""
CompilerIf #PB_Compiler_Debugger
Debug label+": Line "+Str(#PB_Compiler_Line)+": Contract violated: "+#DQUOTE$+DQ#cond#DQ+#DQUOTE$+" is false"
CallDebugger
CompilerElse
MessageRequester("Contract violated", label+": Line "+Str(#PB_Compiler_Line)+": Contract violated "+DQ#cond#DQ+" is false")
CompilerEndIf
EndIf
CompilerEndIf
EndMacro
Grüße ... Kiffi
a²+b²=mc²
Re: PBtoHTML5 Compiler [pre-alpha]
ja, das hatte ich auch schon gemacht
kracht trotzdem dauernd.
morgen ist auch noch ein Tag.
kracht trotzdem dauernd.
morgen ist auch noch ein Tag.
Rings hat geschrieben:ziert sich nich beim zitieren
Re: PBtoHTML5 Compiler [pre-alpha]
mh, bei meinen ersten Test (mit simplen Beispielen) funktionierteRings hat geschrieben:kracht trotzdem dauernd.
es ohne Probleme...
Ich presche mit meinen Javascript-Tests einfach mal ein wenig vor
(auch, wenn ich später noch einmal zurückrudern muss):
Code: Alles auswählen
OpenWindow (0, 100, 100, 350, 200, "PB-Window 1", 0, 0);
TextGadget (0, 10, 30, 300, 20, "Dein Name:", 0)
StringGadget(1, 10, 60, 300, 20, "", 0)
TextGadget (2, 10, 90, 300, 20, "", 0)
ButtonGadget(3, 10, 110, 300, 30, "ButtonGadget 1", 0);
SetGadgetText(1, "Otto");
SetActiveGadget(1);
//
OpenWindow ( 1, 500, 100, 560, 250, "ListViewGadget-Example", 0, 0);
ListViewGadget( 4, 10, 10, 250, 190, 0);
ButtonGadget ( 5, 270, 10, 270, 30, "AddGadgetItem at Position -1", 0);
ButtonGadget ( 6, 270, 50, 270, 30, "AddGadgetItem at Position 0", 0);
ButtonGadget ( 7, 270, 90, 270, 30, "CountGadgetItems", 0);
ButtonGadget ( 8, 270, 130, 270, 30, "RemoveGadgetItem at Position 0", 0);
ButtonGadget ( 9, 270, 170, 270, 30, "ClearGadgetItems", 0);
//
OpenWindow ( 2, 100, 400, 500, 400, "WebGadget-Example", 0, 0);
StringGadget ( 10, 10, 10, 420, 20, "http://www.purebasic.com", 0);
ButtonGadget ( 11, 440, 10, 50, 20, "Go", 0);
WebGadget ( 12, 10, 40, 480, 310, "about:blank", 0);
Mir ist klar, dass das noch eine Menge Arbeit wartet, aber die ersten
Versuche machen mir schon mal ziemlich viel Spaß.

Grüße ... Kiffi
a²+b²=mc²
Re: PBtoHTML5 Compiler [pre-alpha]
@Kiffi: Das sieht ja schon richtig gut aus! Womit hast Du das jetzt erstellt? Mit Kevins Tool ... oder was neuem?
"Papa, ich laufe schneller - dann ist es nicht so weit."
Re: PBtoHTML5 Compiler [pre-alpha]
@All
Es geht wieder weiter!
@Kiffi
Das sieht schon mal gut aus aber der schwierige teil kommt noch! und zwar dann wenn repeat/forever oder synchrone Funktionen wie die Load Befehle funktionieren sollen und noch schwieriger wird es wenn solche dinge in Prozeduren Funktionieren soll!
An einem Gemeinschaftsprojekt wäre ich auch interessiert!
mfg
kevin
Es geht wieder weiter!
@Kiffi
Das sieht schon mal gut aus aber der schwierige teil kommt noch! und zwar dann wenn repeat/forever oder synchrone Funktionen wie die Load Befehle funktionieren sollen und noch schwieriger wird es wenn solche dinge in Prozeduren Funktionieren soll!
An einem Gemeinschaftsprojekt wäre ich auch interessiert!
mfg
kevin
Re: PBtoHTML5 Compiler [pre-alpha]
das ist vorerst 'handprogrammiert'. Ich habe als Basis jQuery UI verwendet und einfachedige hat geschrieben:@Kiffi: Das sieht ja schon richtig gut aus! Womit hast Du das jetzt erstellt? Mit Kevins Tool ... oder was neuem?
'Wrapper' geschrieben, damit so wenig wie möglich vom original PB-Code konvertiert werden muss.
Es sind -- wie geschrieben -- erste Gehversuche. Parallel teste ich auch andere UI-Frameworks
(dojotoolkit, qooxdoo, etc.), um die Möglichkeiten auszuloten.
Freut mich zu lesen. Welcome back!Keviin hat geschrieben:@All
Es geht wieder weiter!

Dessen bin ich mir durchaus bewusstKeviin hat geschrieben:@Kiffi
Das sieht schon mal gut aus aber der schwierige teil kommt noch!

Ich habe mir schon ein paar halbe Gedanken gemacht. Die Frage ist, ob wir überhaupt einen
Main-Eventloop benötigen. Zumindest in Sachen Anwendungsprogrammierung (die Sachen
mit den Fenstern und Gadgets) kann man alle 'Objekte' direkt beim Erstellen mit einem
Eventhandler versehen. Eine WaitEvent-Schleife würde dann nicht mehr nötig sein.
Anders sieht es wahrscheinlich bei der Spiele- und Grafik-Programmierung aus. Aber da habe ich zu wenig Ahnung.
Wichtig wäre mir der Zugriff auf Daten. Wie TroaX weiter oben bereits erwähnt hat,
müsste der Konverter dafür sorgen, dass alle Befehle, die nicht im Client ausgeführt
werden können (wie beispielsweise OpenDatabase()) in eine serverseitige Komponente
(PHP, CGI, etc.) ausgelagert werden. Wie das genau funktionieren soll, weiß ich momentan
auch noch nicht genau.
dann sind wir ja schon mal zu dritt (Rings, wo bist Du? Fahrrad fahren?)Keviin hat geschrieben:An einem Gemeinschaftsprojekt wäre ich auch interessiert!
Wie geht's jetzt weiter?
Grüße ... Kiffi
a²+b²=mc²