English
SDK-aide/ Tools

JRPC new Precompiler for XProfan X4 - JRPC3

 
- Page 1 -



Jens-Arne
Reumschüssel
good evening together,

i'm recent over the trouble stumbled, that XPSE a quite large Quelldatei of I do not More process could. variables get suddenly as not definiert gemeldet and others "erratische" Problems More. I could me present, that this on it lying, that XPSE Keywords in windows-Atoms manages. there's sometime Schluss (with something between 60.000 and 70.000 Piece, where one deliberating must, that XPSE The windows-API with vorhält). Perhaps is But something integrally other, I can Yes not whom "Maschinenraum" of XPSE look.

anyway stayed me, there XPSE not any more taken care of becomes, nothing other spare, as the nachzubauen. the Result is JRPC3.

----- Features:

*reasonable Message of Fehlern
*direct display the Programmablaufes in XProfEd (sofern the under erhältliche aufgebohrte XProfEd is used)
*Umsetzung the middle-aged Profan-Syntax for Operators and old Containerfunktionen
*extreme speedy native fbPROCs, sofern one FreeBasic installs has (free, see Help)
*with fbPROCs can additionally Inline-Assembler too to XProfan X4 realized go
*extreme speedy native pbPROCs, sofern one PureBasic installs has
*Echtzeitverfolgung of Variableninhalten
*simple Zeitmessungen in the Programmablauf
*Profan-Kompilerdirektiven functions finally sensible (z.B. Verschachtelung)
*eingebettete variables functions too with Arrays
*most WIN32-API-functions are already vordefiniert included
*API-Aufrufe over @external(...) go automatically in @call(...)-Aufrufe umgesetzt
*Einrückungsanalyse to that find of vertrackten Verschachtelungsfehlern
*Klammeranalyse to that find of vertrackten Klammerfehlern
*ENUMERATE-Funktionalität
*Assert to Fehlerkontrolle
*it can arbitrary DLLs into XProfan-EXE integrate go, so tappt im dunkeln not delivered go must (see {$WrapDll})
*simple Killen Pixel JRPC3 launched Programs (interprets, .prc launched, .exe launched)
*extreme quick (and therefore naturally not XProfan written, there a interpretierte Language this natural plenty too slow is)
*at Start of JRPC3 already available .prc-Files can to that started and left used go (it'll one Info displayed, that it itself for a altes Compilations deals)
*the Profan-Compiler can to Beschleunigung with high Prozessorpriorität called go
*eingebauter Update-Checker with Download, if it one Update gives (Help --> online to Updates search)
*64- or 32-bit-Version available (simply JRPC3_64.exe or JRPC_32.exe as Interpreter in XProfEd deposit [Options --> general Settings] and JRPC3 with F7 started) - deference, The 64-bit-Version created naturally no 64-bit-XProfan-programs, there XProfan the not can, separate JRPC3 self becomes as 64-bit-Program carryed out
*XProfan X4-Syntax available (möglicherweise not yet everything, I presumably not everything of it use, but I have me circa Vollständigkeit ready - anyway are z.B. HASH-Arrays and QUADINTs thereby)
*Interpreter, PRCs and EXEs can with Kommandozeilenparametern carryed out go
*Interpreter, PRCs, EXEs and XPSE can with Administratorrechten carryed out go
*Procedures, The in the actually Program of course include are, but not uses go, go from the umgesetzten File removes, around the Filesize the Kompilats possible small To hold
*variables, The in the actually Program of course include are, but not uses go, go from the umgesetzten File removes, around the Filesize the Kompilats possible small To hold and the Speicherverbrauch To optimize
*nPROCs from XPSE go automatically with XPE to a DLL umgesetzt and the Aufrufe the nPROCs in the program properly adjusted, sofern XPSE present is
*almost everything from XPSE functions too in JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime and compiler determine, Shorties, ...)
*XProfEd_JR with View source-AutoComplete
*XProfEd_JR with View source-Memory-function (Markierungen, To them zurückgesprungen go can)

Einschränkungen:
-no XPSE-Inline-Assembler, well but XProfan-Inline-Assembler (therein though no tests on Korrektheit the Codes)
-ABER: one can XPSE from JRPC3 out Call, so these Funktionalität furthermore available is, sofern one XPSE own (new Shorty: {$x})
-variables, The in a procedure not declared are, separate "aus the aufrufenden procedure übernommen werden", are standardmäßig not registered (XProfan allows the, but such a thing is just as mortal How GOTO-instructions). Please any To nutzenden Inputs as Parameter transfer, and if something from the aufrufenden Programmteil changed go must, when calling as Parameter z.B. @addr(x&) use and the procedure parameters x# and LONG x#,0=y& benefit.
If one but absolutely "vererbte" variables benefit would like, can this with the Kompilerdirektive {$Declare...} do.

*as Hommage on XPSE sounds The Endung the Ausgabedatei ".enh3"

an genauere explanation the individual Features is the chm-Helpfile To entnehmen, The in the program under Help --> Helpfile Show or with F1 available is.

----- /Features

Download and install:
JRPC3 can under Downloaded go (setup_jrpc3.exe or as ZIP-File).
as Installationsverzeichnis Please the XProfan-Stammverzeichnis indicate, means the one, in the The Files PROFAN.EXE, PROFCOMP.EXE, PRFRUN32.EXE etc. lying. alternatively can The ZIP-File Downloaded and its Content manually in that XProfan-Stammverzeichnis copies go.

facility:
JRPC3_64.exe or JRPC_32.exe as Interpreter in XProfEd deposit [Options --> general Settings] and JRPC3 with F7 started.

any command are with the commands "h" How "Hilfe" abrufbar and should selbsterklärend his.

for many erweitere Features, The XProfEd concern, How z.B. jenes, The row, in the one Error auftrat, directly in XProfEd Show to, is the mitinstallierte XProfEd_JR necessary. For this must one means XProfEd_JR.exe instead of XProfEd.exe as editor using. as "goody" there moreover, that at On- and Zufalten of Programs one Fortschrittsanzeiger integrate is (the can with large Programs Yes known a little bit last).

it likes his, that not yet everything perfect functions. I Please this circa clemency. my  programs can umsetzen, but the must yet long not hot, that this with Programs another Authors, The eachone so your Eigenheiten having, too functions.

Fehlermeldungen and Verbesserungsvorschläge gladly on jreumsc@web.de or here in the Forum.

best Regards, Jens-Arne

2.664 kB
Bezeichnung:JRPC3
Version:10.33
Kurzbeschreibung: JRPC3-Installer
Hochgeladen:02/15/21
Downloadcounter384
Download
1.699 kB
Bezeichnung:XProfEd_JR
Version:5.2
Kurzbeschreibung: old Version without AutoComplete to safety
Hochgeladen:02/15/21
Downloadcounter238
Download
4.063 kB
Bezeichnung:JRPC3
Version:10.33
Kurzbeschreibung: ZIP-File instead of Installer
Hochgeladen:04/02/21
Downloadcounter301
Download
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
02/16/21  
 



 
- Page 16 -


« this Posting watts as Solution marked. »

- Page 15 -



Jens-Arne
Reumschüssel
there's a new Version, The differently with the internen Messagehandling bypassing. Please probier The time from. Perhaps is the trouble so fixed.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/24/22  
 




Jens-Arne
Reumschüssel
OK, super, there be I tensely. always, if someone new with more Programs comes, dive Problemstellungen on, The it so for me yet never given, because eachone differently program. yet schöner wär's naturally, if it just walking would, but time to wait it out. If one one Program of beginning on with JRPC3 develops, functions naturally everything, because one it same so power, as "sein muss", so it so runs. but 12.000-Lines-Codes, The without written get... As I said, i'm tensely.

And if I your Testprogramm with the XProfan-Logo see, could you Perhaps DATA and particularly DATAFILE interested, Perhaps too {$APPENDFILE2EXE ...} (simply in the Help JRPC3 look over, moreover F1 with laufendem JRPC3 pressing).

Greeting, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/24/22  
 




RudiB.
Hello Jens-Arne,

here time two "Fehler" The me noticed are.

in a Proc functions this z.B not:
Var Int A=1

here comes The Error Message Variable xx not declared !
separate only:
Var A%=1

or
Declare Int A : A=1

as second go, if on a Proc several Parameter transfer go, not any Parameter übernommen. these but only the case if in this Proc not any übergebenen variables vorkommen (z.B: because I short-term Lines auskommentiert have) XProfan verkraftet the and processing correctly., at JRPC3 undertaking it only The variables as Parameter also in Proc vorkommen (what Yes really too correctly. is)
here an example-code.
Cls

Proc Test

    parameters a%,b%,c%,d%,e%
    Declare z%
    'print a%
    'Print b%
    'Print c%
    Print d%
    Print e%
    z%=100
    Print z%

Endproc

Test(5,10,15,20,25)
waitinput

it'll outputted 20 - 25 - 100 (XProfan)
it'll outputted 5 - 10 - 100 (JRPC3)

the can naturally in the program already To Fehlern lead...
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
09/25/22  
 




RudiB.
here another komisches Behavior of JRPC3

in the subesquent example becomes one Window animiert ausgblendet (with XProfan)
Window 100,100-400,400
cls
Def SetLayeredWindowAttributes(4) !"USER32","SetLayeredWindowAttributes"' Window animiert Hide
'-----------------------------------------------------------------------------------------------------------------------
'          Window animiert Hide
'-----------------------------------------------------------------------------------------------------------------------

Proc ExitAnimated

    Parameters Int Hwnd,Int time
    Var i%=100

    While i%>=2

        i%=i%-4
        External("USER32","SetWindowLongA",Hwnd, -20, External("USER32","GetWindowLongA",Hwnd,-20) | $80000)
        SetLayeredWindowAttributes(Hwnd, 0, (255 * i%) /100, $2)
        Sleep (time/5)

    EndWhile

    showwindow(Hwnd,0)
    destroywindow(Hwnd)

ENDPROC

'Hauptprogramm
waitinput
ExitAnimated(%Hwnd,100)

with JRPC3 Gibts one ruckliges flackern....
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
09/25/22  
 




Jens-Arne
Reumschüssel
same time to that last trouble:

the Flackern exit too with XProfan on, if one The function, The You with DEF definiert have, as external-row writes. the must means - from whom gottgegebenen Found too always - a DEF-function his, so it functions. remedy in JRPC3 creates therefore The Compilerdirektive {$NODEF2EXTERNALCONVERSION}.

and to that second:

its pseudo, that any variables, The declared, but nirgends using go, eliminiert go, circa Speicherplatz To save and the EXE-File something small To make. the can but ditto turn off: {$NOVAREXCLUDE}.

With the variables without suffix with VAR see I me on.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/25/22  
 




Jens-Arne
Reumschüssel
so, the Problem Ausschluss not genutzter suffixloser VAR-variables is now fixed.

though have I with the Parameters now first correctly. understood. evident ought to one whom Ausschluss with Parameters-Lines deaktivieren. i think there time drüber to.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/25/22  
 




Jens-Arne
Reumschüssel
I have the Remove not genutzter variables from Parameters-Lines now objectively deaktiviert. this is with temporären Auskommentierungen namely in the doing a problem and may therefore not his.

Why the Remove not genutzter variables incidentally not only a Spielerei is, separate Laufzeitvorteile bid, can on this example see:

{$NOVAREXCLUDE}

declare tc&

PROC TestProc1
declare i1%,i2%,i3%,i4%,i5%,i6%,i7%,i8%,i9%,i10%,i11%,i12%,i13%,i14%,i15%,i16%,i17%,i18%,i19%,i20%
ENDPROC

PROC TestProc2
ENDPROC

cls
tc&=&gettickcount
whileloop 1,10000
TestProc1
endwhile
print &gettickcount-tc&
tc&=&gettickcount
whileloop 1,10000
TestProc2
endwhile
print &gettickcount-tc&
waitinput
end

in the Interpreter is the Difference already explicit To see, compiled is it immens. alone The Speicherbereitstellung for not genutzte variables cost even Time.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/25/22  
 




RudiB.
Hello Jens-Arne,


I have the Remove not genutzter variables from Parameters-Lines now objectively deaktiviert. this is with temporären Auskommentierungen namely in the doing a problem and may therefore not his.


you are Yes at "Fehler" to fix almost faster, as i at Error find

what about me ought to me really time longer whom Options of JRPC3 intimate make before I here The Pferde shy make. Related to the Window Hide functions so fine....
JPCR3 gefällt with always rather......
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
09/25/22  
 




Jens-Arne
Reumschüssel
The new version 8.05 contain in the integral a improved XProfEd_JR, with the the tab-Closing-management explicit extended watts:

- it'll at Closing the program each tab individually nachgefragt, whether it stored go should, if the View source therein since the loading/last Save changed watts
- it'll now on changed/umbenannte/erased *Quelldateien* since the loading/last Save tested
- discontinue the Schließens with changed Quelltexten/Quelldateien possible
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/26/22  
 




RudiB.
Hello Jens-Arne,

here time one further Error the by me aufgepoppt is.



These function in FreeBasic is the Gegenstück To -Translate$- in XProfan.
Runs by me under Freebasic correct.
however JRPC3 shining functions not To kennen, or Gibts there again something (a option) I red or understood have.

48 kB
Hochgeladen:09/28/22
Downloadcounter37
Download
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
09/28/22  
 




Jens-Arne
Reumschüssel
Hello Rudi,

so far I it see, standing the FreeBasic-code not within of/ one fbProc. then think JRPC3, it deal itself circa XProfan-code, what it but not is.

the here becomes correctly processing, lead but (to instantly) To keinem sinnvollen Programmcode:

''''' ACHTUNG only reines FREEBASIC
fbPROC StrReplace(BYVAL StrEx AS STRING, BYVAL StrMask AS STRING, BYVAL StrRplce AS STRING) AS STRING export
IF LEN(StrEx)=0 OR LEN(StrMask)>LEN(StrEx)
RETURN StrEx
ENDIF

DIM Buffer AS STRING=StrEx
DIM MaskSearch AS UINTEGER
DIM MFound AS BYTE
DIM lp AS UINTEGER=1
DO
MaskSearch=INSTR(lp,Buffer,StrMask)
MFound=0

IF MaskSearch THEN

MFound=1:lp=MaskSearch+LEN(StrRplce)
'''
Buffer=LEFT(Buffer,MaskSearch-1)+ _
StrRplce+ _
RIGHT(Buffer,LEN(Buffer)-(MaskSearch+(LEN(StrMask)-1)))
''
END IF
LOOP WHILE MFound=1
RETURN Buffer
ENDPROC

Notes:
- between Funktionsname and Parameterklammer must no space stand.
- fbPROCs go LookupAccountName for XProfan available gestellt; it'll no ganzes FreeBasic-"Programm" created. so could XProfan too quite nothing begin.
- DLL-functions, The of outside the DLL called go should (namely of XProfan), can only 32-bit-Integerparameter having, under no circumstance Strings, and in the entrapment of XProfan anyhow no Strings, The not nullterminiert are (ZSTRING would the korrekte Parameter, the nullterminiert is). this is with all DLLs so. it müssten therefore Pointer on ZSTRINGs definiert go (The then z.B. with @addr(s$) from XProfan transfer go).
- one could these function but (without export) intern in the DLL use, then too with only STRING as Parameter. then should one but a further function define, The The communication with XProfan undertaking, with export marked is and only Pointer on ZSTRINGs uses (The having 32 bit).
- If it no only fbPROC with export gives, becomes The DLL not created, because it then no function were, The from the outside for XProfan accessible would.
- your code having some Eigenarten, The not at me processing get, z.B. a IF-row without END IF (something like How Case in XProfan). Perhaps having we different versions of FreeBasic?

Greeting, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/28/22  
 




Jens-Arne
Reumschüssel
the here to that example functions:

''''' ACHTUNG only reines FREEBASIC
fbPROC StrReplace(BYREF StrEx AS ZSTRING, BYREF StrMask AS ZSTRING, BYREF StrRplce AS ZSTRING, BYVAL Ret AS ZSTRING POINTER) AS INTEGER export

IF LEN(StrEx)=0 OR LEN(StrMask)>LEN(StrEx)
*Ret=StrEx
RETURN 0
ENDIF

DIM Buffer AS STRING=StrEx
DIM MaskSearch AS UINTEGER
DIM MFound AS BYTE
DIM lp AS UINTEGER=1
DO
MaskSearch=INSTR(lp,Buffer,StrMask)
MFound=0

IF MaskSearch THEN

MFound=1:lp=MaskSearch+LEN(StrRplce)
'''
Buffer=LEFT(Buffer,MaskSearch-1)+ _
StrRplce+ _
RIGHT(Buffer,LEN(Buffer)-(MaskSearch+(LEN(StrMask)-1)))
''
END IF
LOOP WHILE MFound=1
*Ret=Buffer
RETURN 0
ENDPROC

declare s1$,s2$,s3$,erg$

cls
s1$="Teststring"
s2$="e"
s3$="a"
erg$="12345678901234567890" 'big enough vordefinieren
StrReplace(@addr(s1$),@addr(s2$),@addr(s3$),@addr(erg$))
print erg$
waitinput
end

because The Parameter any ByRef-Parameter are, go The Adressen on The Strings (=32-bit-values) transfer.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
09/29/22  
 




RudiB.
I häng time my FreeBasic File on and a Test with XProfan.
in the Freebasic-File a "Profan-Datei" loaded and processing and as processing File stored. Paths and File-names Please yourself adjust/Change.
what happens in this term ??
Program lines with Backslash end z.B:
Struct Test= Hund&,\
Katze&,\
Maus&,\
Wal&

go to a Programmzeile - Struct Test= Hung&,Katze&,Maus&,Wal& abstracted.
Ganzzeilige comments and Blockkommentare go in Leerzeilen transformed.
Befehlszeilen The with a colon in a row separated are go on single Lines aufgesplittet.
z.B: If Test=0:Test=5:Endif
If Test=0
Test=5
Endif
...well Yes
and the Profan-TestDatei opens or. should whom File-dialog Call it'll a File select. this Dateiname becomes on The fbProc transfer there changed and zurückgegeben.

my FreeBasic-verse.: FreeBASIC-1.09.0-winlibs-gcc-9.3.0

7 kB
Hochgeladen:09/29/22
Downloadcounter41
Download
7 kB
Hochgeladen:09/29/22
Downloadcounter42
Download
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
09/29/22  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

70.185 Views

Untitledvor 0 min.
Axel Berse vor 5 Tagen
Jens-Arne Reumschüssel vor 18 Tagen
HofK02/12/25
Uwe ''Pascal'' Niemeier02/08/25
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie