Re: [fpc-pascal] Sharp Zaurus ARM port stability?

2005-07-22 Thread Alain Vitry

Thank you Den.

I'll do some homework and keep you posted of my findings and progress.
Don't expect much progress in the next  3 weeks, I'm on holiday :)

Regards,
Alain

Le 22 juil. 05, à 00:24, Den Jean a écrit :


On Thursday 21 July 2005 06:53 pm, Alain Vitry wrote:

Den,
Could you point me to some reading/starting point on how to make those
bindings ?
Swig doesn't support pascal yet.
I have  a fresh QT4 bindings for pascal in mind.
Thanks


There are several ways:

kalyptus: see cvs/fpc/utils/kalyptus
google on kde bindings / qt bindings
Florian started from the c-kalyptus one.
		 
http://www.lazarus.freepascal.org/list_archives/lazarus/08-17-02_01 
-02-04/msg04138.html


smoke: more for scripting languages

smoke/refract: c++ headers to xml using the gcc parsing capability.
C++ may look to be the perfect parser for c++,  

but qt is not c++ but an enhanced  
delphi like language (hence why the moc)

so distance to qt language is big.
http://wiki.dotgnu.info/Smoke/Refract

freeclx: based on moc parsing. Moc converts qt language to c++.
 So Moc is close to the qt language and it gives  
you a very able parser.
 With some modifications to the lex/yacc you can  
let moc produce a pascal qt binding.


 But each time trolltech adds to the qt language,  
they renew the moc,
 then you need to port your adaptations to the moc  
lex/yacc again.


		 We adapted the qt part of freeclx from qt 2.2.4 to qt 2.3.2 and  
qt/embedded
 The result is on  
http://cvs.sourceforge.net/viewcvs.py/qtforfpc/qt2/FreeClx/


	qtc binding:  as pascal can easily use c-libraries, the qtc binding  
seems a good base
but difficult to maintain at each update  
of the qtc binding.
Andreas Hausladen is very productive in  
this matter. (allready qt3 binding),
I guess qt4 is in the make. Perhaps you  
can join forces with him.

http://andy.jgknet.de/oss/qt/qt3forFPC/

http://andy.jgknet.de/oss/kylix/wiki/index.php/Qt3_for_Kylix


kind regards,

Den Jean

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal




___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


[fpc-pascal] MSG variable type, Windows GUI

2005-07-22 Thread Urbansound

Hi,

I encountered an FPC Win32, tutorial that uses the a declaration of variable 
"msg", declared as a MSG type, shown below.


Dev-Pas IDE, FPC 2.00 gives an "error in type definition" and I find no doc 
references to MSG, variable type.  Was this an earlier convention in FPC and 
if so, how was it replaced?


Thanks,

Mike


[clip]
program Win32_Source03;
uses  windows;
const
 AppName = 'Win32/ FPC - Source 03';

VAR
 active : BOOLEAN;
 msg : MSG;
 hWindow,msg : hwnd;
[end clip]


___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] MSG variable type, Windows GUI

2005-07-22 Thread Luiz Américo

Urbansound wrote:

Hi,

I encountered an FPC Win32, tutorial that uses the a declaration of 
variable "msg", declared as a MSG type, shown below.


Dev-Pas IDE, FPC 2.00 gives an "error in type definition" and I find no 
doc references to MSG, variable type.  Was this an earlier convention in 
FPC and if so, how was it replaced?




Previous version of fpc allowed this construct while newer not
use Message:msg instead of msg:msg and rename msg in the line below of that.




[clip]
program Win32_Source03;
uses  windows;
const
 AppName = 'Win32/ FPC - Source 03';

VAR
 active : BOOLEAN;
 msg : MSG;
 hWindow,msg : hwnd;
[end clip]



 active : BOOLEAN;
 message : MSG;
 hWindow,msg1 : hwnd;

this should work

Luiz

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] fast integer multiplication

2005-07-22 Thread Florian Klaempfl
Vincent Snijders wrote:

> Hi,
> 
> Suppose I have the following code:
> 
> var
>   a,b: dword;
>   c: qword;
> 
> begin
>   a := 1000;
>   b := 2000;
>   c := a * b;
>   writeln(c);
> end.
> 
> Now, although c is large enough to contain the result only the lower
> dword is filled. I can force correct results by using c := qword(a) * b,
> but the slow fpc_mul_qword is used.
> 
> The code generated for the above sample is:
> # [16] c:=a*b;
> movlU_P$PROJECT1_A,%edx
> movlU_P$PROJECT1_B,%eax
> mull%edx
> movl$0,%edx
> movl%eax,U_P$PROJECT1_C
> movl%edx,U_P$PROJECT1_C+4
> 
> What I want is the above code, but without the "movl $0,%edx"
> instruction. Is there a way to do this (wihtout using fpc_mul_qword).

Only assembler for now. Any suggestions how the compiler could be told
to generate such code?

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] profiler

2005-07-22 Thread Jan Ruzicka

That is really a great tool.
It shows even how is the assembler mapped to the source code.
I was surprised when I learned that 90% of time spent in my function 
goes to a result assignment stalling the processor.


the usual
function f : TStructure
var
   b: TStructure;
begin
... some processing on b ...
f := b;
end;

Jan

On Jul 20, 2005, at 04:04, Jonas Maebe wrote:



On 05 Jul 2005, at 06:36, Jan Ruzicka wrote:


Was the profiling tested under OS X?


No, but I would urge you to use Shark from CHUD 
(http://developer.apple.com/tools/performance/overview.html)


It's much better and versatile than gprof, and only requires regular 
debugging information to work.



Jonas



___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal




___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal