freebasic.net Forum Index
FreeBASIC's Official Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister   ProfileProfile   Log inLog in

Is FreeBasic still continued to develop?
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
 
Post new topic   Reply to topic    freebasic.net Forum Index -> Community Discussion
View previous topic :: View next topic  
Author Message
SARG

PostPosted: Jan 22, 2010 23:51    Post subject: Reply with quote

@V1ctor

Is the assembly code emitter still existing in the futur ?
If yes, for what ?
 
Back to top
View user's profile
v1ctor
Site Admin
PostPosted: Jan 23, 2010 0:00    Post subject: Reply with quote

Sure, compilation is way faster and takes lots less memory, so it may be useful to some users.

Also because we won't include gcc in Windows and DOS (too big package, IMO), so making it obligatory to users to first download and install MinGW and to configure it (set env. variable) would turn new users away from FB. In Linux and OS X (in future) that wouldn't be a problem though.

At the moment the test suite can't be even built using the gcc emitter, so there are a lot of things do to yet - and then we can try to get FB to rebuilt itself, what is never a simple task.
 
Back to top
View user's profile Visit poster's website MSN Messenger
John Spikowski
Sr. Member
PostPosted: Jan 23, 2010 5:10    Post subject: Reply with quote

Victor,

Do you feel at this point in time that a Basic compiler that generates custom ASM code is a fatal effort moving forward? (like PowerBASIC)

Will Windows play a secondary role with FreeBASIC moving forward?


John
 
Back to top
View user's profile Send e-mail Visit poster's website
Dr_D
Hero
PostPosted: Jan 23, 2010 5:14    Post subject: Reply with quote

John Spikowski wrote:
Victor,

Do you feel at this point in time that a Basic compiler that generates custom ASM code is a fatal effort moving forward? (like PowerBASIC)

Will Windows play a secondary role with FreeBASIC moving forward?


John


[popeye]
I've had all I can stands, I can't stands no more!
++spinach
COCK PUNCH!
[/popeye]
 
Back to top
View user's profile Visit poster's website
cha0s
Site Admin
PostPosted: Jan 23, 2010 6:48    Post subject: Reply with quote

@John

Maybe I didn't understand you, but didn't v1ctor just answer your questions? He just said that ASM emission won't be removed, because it would be a barrier-to-entry for casual programmers on Windows.

If by 'Windows playing a secondary role' you mean 'Windows generally failing to be a place for serious crossplatform development' then I guess the answer is yes? :P IMHO, of course. Linux users would really not need to worry about gcc being installed.

lol@Dr_D, as usual ;p

Oh and, great work v1ctor. I think I have something in my eye.....
 
Back to top
View user's profile Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
John Spikowski
Sr. Member
PostPosted: Jan 23, 2010 7:24    Post subject: Reply with quote

Quote:

Maybe I didn't understand you, but didn't v1ctor just answer your questions? He just said that ASM emission won't be removed, because it would be a barrier-to-entry for casual programmers on Windows.


So the emitter will not generate any C code the FreeBASIC user can have access to in it's journey to it's binary executable format?

What I meant by Windows taking a secondary role is that open source normally plants it's roots with an open source environment. I think Classic FB's original goal was to be a open source QuickBasic and PowerBASIC alternative. Linux wasn't even an option in those days.
 
Back to top
View user's profile Send e-mail Visit poster's website
cha0s
Site Admin
PostPosted: Jan 23, 2010 7:28    Post subject: Reply with quote

John Spikowski wrote:
So the emitter will not generate any C code the FreeBASIC user can have access to in it's journey to it's binary executable format?


Again, not sure what you mean here. If you mean "easily human-readable C code" then the answer will be 'no' for anything of moderate complexity. However, you can use the same compilation option to preserve the intermediate C code as you can use to preserve the intermediate ASM (-R now I believe; it changed since I was active)

John Spikowski wrote:
What I meant by Windows taking a secondary role is that open source normally plants it's roots with an open source environment. I think Classic FB's original goal was to be a open source QuickBasic and ProwerBASIC alternative. Linux wasn't even an option in those days.


Well, Windows does have MinGW. The C emitter changes nothing for the casual user, but for someone willing to install MinGW for access to GCC optimizations (or cross-compilation, God help them...) they'll have that option as well.
 
Back to top
View user's profile Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Antoni
Master
PostPosted: Jan 23, 2010 11:20    Post subject: Reply with quote

Hi, Victor, nice to see you again at the command!

I have tried the SVN version with gcc 3.4.5 with some prime sieve using a bit array .To me it did a code marginally slower an bigger than the version using GAS, i think it's not an important result as I guess my version of gcc is not updated tuned and the version of FB in SVN is a test one.

What worried to me was gcc stopping with errors that fbc did'nt catch, for example a comparison pointer - integer passes fbc but stops gcc. The problem is gcc issues the error with a line numer in the c listing you have to relate to the original fb listing. I can guess two ways to solve it: one is putting the original FB lines as comments in the c listing, another one is to make FB more rigid so nothing that could annoy gcc can pass.
 
Back to top
View user's profile Visit poster's website
Sisophon2001
Master
PostPosted: Jan 23, 2010 12:59    Post subject: Reply with quote

Antoni wrote:
Hi, Victor, nice to see you again at the command!

I have tried the SVN version with gcc 3.4.5 with some prime sieve using a bit array .To me it did a code marginally slower an bigger than the version using GAS, i think it's not an important result as I guess my version of gcc is not updated tuned and the version of FB in SVN is a test one.

What worried to me was gcc stopping with errors that fbc did'nt catch, for example a comparison pointer - integer passes fbc but stops gcc. The problem is gcc issues the error with a line numer in the c listing you have to relate to the original fb listing. I can guess two ways to solve it: one is putting the original FB lines as comments in the c listing, another one is to make FB more rigid so nothing that could annoy gcc can pass.


I would think the second must be the case, just as it is with the ASM emitter.

I will try the C emitter tomorrow and see how it looks on Linux, but I am sure there is lots of work left to complete.

Garvan
 
Back to top
View user's profile Send e-mail Visit poster's website
marcov
Sr. Member
PostPosted: Jan 23, 2010 15:38    Post subject: Reply with quote

cha0s wrote:
@John
ws playing a secondary role' you mean 'Windows generally failing to be a place for serious crossplatform development' then I guess the answer is yes? :P IMHO, of course. Linux users would really not need to worry about gcc being installed.


Well, if I'm evil, I could state it like this:

On Linux, base installs are free of gcc, but contain the libc runtime in one version. GCC means installaling is an free additional package of the vendor but with dependancies (binutils etc)

On Windows, the base install is free of MSVC, but contains the msvcrt runtime in several versions. MSVC is a free additional package from the same vendor. (VS express or platform SDK)

On OS X, the base install is free of gcc, but contain the runtime in several versions. The compiler (binutils) means installing one free additional package (XCode) from the same vendor

So where is this gigantic difference now?

The only differences I can see is that Linux allows the packages to install during install time, while the others need to do it afterwards, but that Linux fragments the build tools over multiple packages, while OS X and Windows have just one. Another one is that Linux generally doesn't install libc's to keep older programs running.
 
Back to top
View user's profile Visit poster's website
v1ctor
Site Admin
PostPosted: Jan 24, 2010 14:12    Post subject: Reply with quote

Antoni, yeah, there shouldn't be ever a single warning at the gcc side, that's the idea. There are many things to do yet, like getting the test suit to build, plus bootstrapping the compiler in -gen gcc mode.

Otherwise FB would be just a dumb/lazy translator, like most (all?) BASIC to C translators out there.
 
Back to top
View user's profile Visit poster's website MSN Messenger
John Spikowski
Sr. Member
PostPosted: Jan 24, 2010 17:36    Post subject: Reply with quote

Quote:

Otherwise FB would be just a dumb/lazy translator, like most (all?) BASIC to C translators out there.


If allowing C (includes and source) withing Basic code is dumb then I need to look up the word in the dictionary again. :-)
 
Back to top
View user's profile Send e-mail Visit poster's website
marcov
Sr. Member
PostPosted: Jan 24, 2010 18:08    Post subject: Reply with quote

John Spikowski wrote:
Quote:

Otherwise FB would be just a dumb/lazy translator, like most (all?) BASIC to C translators out there.


If allowing C (includes and source) withing Basic code is dumb then I need to look up the word in the dictionary again. :-)


In English an adjective generally only has bearing on the noun following it. Which, in this case, is "translator", not to the whole sentence that describes the whole process.
 
Back to top
View user's profile Visit poster's website
vdecampo
Hero
PostPosted: Jan 24, 2010 19:30    Post subject: Reply with quote

John Spikowski wrote:
Quote:

Otherwise FB would be just a dumb/lazy translator, like most (all?) BASIC to C translators out there.


If allowing C (includes and source) withing Basic code is dumb then I need to look up the word in the dictionary again. :-)


dumb/lazy translator = One to one BASIC line to C equivalent. No higher level code optimizations, code constructs, or implementations.

-Vince
 
Back to top
View user's profile Visit poster's website
SARG

PostPosted: Jan 25, 2010 0:10    Post subject: Reply with quote

I just did a test with the SVN version (thanks Imortis) and found this issue (using pelles C not GCC) so I'm not sure that's a bug.

Code:

Type ttest1
        aint As Integer
        bus As Ushort
End Type
 

Gives the following code :

Code:

        typedef struct _TTEST1 {;  <--- 'the ";" generates an error
                #line 0 "test1.bas"
                Integer AINT;
                #line 0 "test1.bas"
                Ushort BUS;
        #line 0 "test1.bas"
        } TTEST1;


By the way, is it possible to use (easily) Pelles C or an other compiler ?

And why not open a special topic (sticky) on the gcc emitter.
 
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    freebasic.net Forum Index -> Community Discussion All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 4 of 10

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



sf.net phatcode