@RalfSt not to derail the thread, but have you tried fastspin / spin2cpp? It's developed natively on Linux and the build procedure is easy:
git clone https://github.com/totalspectrum/spin2cpp
cd spin2cpp
make
# output is in build/fastspin and build/spin2cpp
Despite the name fastspin can compile not only Spin but also BASIC and C. The C support is still a bit rough, it's not as nice as Catalina, but you may find it easier to install on your ArchLinux setup. (There's no "make install" yet but just copy build/* to $INSTALLDIR/bin/ and include/* to $INSTALLDIR/include/).
Why not create two links to the "fastspin" executable called "fastbasic" and "fastc" to make it clearer that those three languages are supported?
Not really sure with that, people would think they need to use fastC and it hides the very nice feature of fastspin to have sources in different languages combined in one project.
@RalfSt not to derail the thread, but have you tried fastspin / spin2cpp? It's developed natively on Linux and the build procedure is easy:
git clone https://github.com/totalspectrum/spin2cpp
cd spin2cpp
make
# output is in build/fastspin and build/spin2cpp
Despite the name fastspin can compile not only Spin but also BASIC and C. The C support is still a bit rough, it's not as nice as Catalina, but you may find it easier to install on your ArchLinux setup. (There's no "make install" yet but just copy build/* to $INSTALLDIR/bin/ and include/* to $INSTALLDIR/include/).
Why not create two links to the "fastspin" executable called "fastbasic" and "fastc" to make it clearer that those three languages are supported?
Not really sure with that, people would think they need to use fastC and it hides the very nice feature of fastspin to have sources in different languages combined in one project.
Mike
Then maybe it could be called "fastspincbasic"? Really, any single invocation of the tool compiles only one language as far as I know except maybe that both Spin and PASM can be compiled together. Maybe rename it to "fastsuite" if it has to have a single name. At least then it doesn't totally hide its ability to do BASIC and C.
@RalfSt not to derail the thread, but have you tried fastspin / spin2cpp? It's developed natively on Linux and the build procedure is easy:
git clone https://github.com/totalspectrum/spin2cpp
cd spin2cpp
make
# output is in build/fastspin and build/spin2cpp
Despite the name fastspin can compile not only Spin but also BASIC and C. The C support is still a bit rough, it's not as nice as Catalina, but you may find it easier to install on your ArchLinux setup. (There's no "make install" yet but just copy build/* to $INSTALLDIR/bin/ and include/* to $INSTALLDIR/include/).
Why not create two links to the "fastspin" executable called "fastbasic" and "fastc" to make it clearer that those three languages are supported?
Not really sure with that, people would think they need to use fastC and it hides the very nice feature of fastspin to have sources in different languages combined in one project.
Mike
Then maybe it could be called "fastspincbasic"? Really, any single invocation of the tool compiles only one language as far as I know except maybe that both Spin and PASM can be compiled together. Maybe rename it to "fastsuite" if it has to have a single name. At least then it doesn't totally hide its ability to do BASIC and C.
You are completely wrong there David.
You can have your main program file in any language supported and any included object in any language supported. Eric did a very cool job there to allow that with quite nice syntax.
Write your program in C, use my fullduplexserial2.spin as serial driver and use some basic object for whatever.
it should be called ecc, erics compiler collection.
Why not create two links to the "fastspin" executable called "fastbasic" and "fastc" to make it clearer that those three languages are supported?
Something like that would be nice, but (a) doing links on Windows is a pain, and (b) the "fastc" frontend should probably be completely new, with a "cc" like interface. I haven't gotten around to that. There are already two frontends to the engine ("fastspin" and "spin2cpp") and not enough code sharing between them; the code really needs a re-factor to make adding a "fastcc" easier. (I'd be delighted if someone would volunteer to look at creating "fastcc", but I know we're all pretty busy!)
Then maybe it could be called "fastspincbasic"? Really, any single invocation of the tool compiles only one language as far as I know except maybe that both Spin and PASM can be compiled together. Maybe rename it to "fastsuite" if it has to have a single name. At least then it doesn't totally hide its ability to do BASIC and C.
Actually you can mix languages on the command line, as well as having objects in one language invoke objects in another, so yeah, probably a new name that indicates the language independence would be a good idea.
Why not create two links to the "fastspin" executable called "fastbasic" and "fastc" to make it clearer that those three languages are supported?
Something like that would be nice, but (a) doing links on Windows is a pain, and (b) the "fastc" frontend should probably be completely new, with a "cc" like interface. I haven't gotten around to that. There are already two frontends to the engine ("fastspin" and "spin2cpp") and not enough code sharing between them; the code really needs a re-factor to make adding a "fastcc" easier. (I'd be delighted if someone would volunteer to look at creating "fastcc", but I know we're all pretty busy!)
Then maybe it could be called "fastspincbasic"? Really, any single invocation of the tool compiles only one language as far as I know except maybe that both Spin and PASM can be compiled together. Maybe rename it to "fastsuite" if it has to have a single name. At least then it doesn't totally hide its ability to do BASIC and C.
Actually you can mix languages on the command line, as well as having objects in one language invoke objects in another, so yeah, probably a new name that indicates the language independence would be a good idea.
Oh yeah, I forgot you could have more than one source file on the command line and, of course, they can be in different languages. Good point.
Comments
Not really sure with that, people would think they need to use fastC and it hides the very nice feature of fastspin to have sources in different languages combined in one project.
Mike
You are completely wrong there David.
You can have your main program file in any language supported and any included object in any language supported. Eric did a very cool job there to allow that with quite nice syntax.
Write your program in C, use my fullduplexserial2.spin as serial driver and use some basic object for whatever.
it should be called ecc, erics compiler collection.
Enjoy!
Mike
Something like that would be nice, but (a) doing links on Windows is a pain, and (b) the "fastc" frontend should probably be completely new, with a "cc" like interface. I haven't gotten around to that. There are already two frontends to the engine ("fastspin" and "spin2cpp") and not enough code sharing between them; the code really needs a re-factor to make adding a "fastcc" easier. (I'd be delighted if someone would volunteer to look at creating "fastcc", but I know we're all pretty busy!)
Actually you can mix languages on the command line, as well as having objects in one language invoke objects in another, so yeah, probably a new name that indicates the language independence would be a good idea.