Author Topic: Working in Ubuntu 12  (Read 8208 times)

0 Members and 1 Guest are viewing this topic.

Mike Lobanovsky

  • Guest
Re: Working in Ubuntu 12
« Reply #30 on: March 14, 2014, 11:50:20 AM »
Yup, FBSL has many built-in "layers" that would normally correspond to separate add-on DLL's in other laguages such as, say, thinBasic. Each of them has its own set of functions and also their aliases. This means a great number of relatively large keyword hash tables are used that eat up lots of binary space. Luckily, my zlib-compatible (but not zlib-based!) intrinsic layer can be used very efficiently to have the tables and other data uber-zipped with compression level 10 prior to FBSL source compilation in order to reduce the overall binary size. The tables and data are unzipped directly in memory on the fly at app start, in fact adding very little overhead to FBSL's overall launch time. The layer per se provides the user with controllable compression level Inflate()/Deflate() functionality and also allows for codec-independent PNG image handling.

I'm at a constant grueling war against my own ideas and source code efficiency for every kilobyte of final binary's size. From that standpoint, I'm really looking forward to FBSL v4 that's going to be multi-platform, which means using some multi-platform windowing framework for its graphics and UI. They are all really huge these days and my own code contribution is going to be insignificant against their background. :)

And yes, I'm also using console for debugging some parts of the language although my experience has shown that there are cases when simple printf() may meddle with the debuggee to the extent of crashing it while MessageBox() is more reliable in this respect. The nature of this behavior is unknown to me. Perhaps it may be some internal glitch of GCC v4.3.3 that we use exclusively to compile FBSL v3.

JRS

  • Guest
Re: Working in Ubuntu 12
« Reply #31 on: March 14, 2014, 12:59:36 PM »
Script BASIC has an interesting build system that generates .h (header), syntax definitions, make files and the HTML help from the .c files from scratch. It takes a while to understand how the whole process works but once you do, expanding and configuring the BASIC is really efficient.
« Last Edit: March 14, 2014, 01:06:56 PM by John »

Charles Pegge

  • Guest
Re: Working in Ubuntu 12
« Reply #32 on: March 14, 2014, 02:15:29 PM »
I think the documentation part is called Doxygen. - Uses a markup notation embedded in C comments.

JRS

  • Guest
Re: Working in Ubuntu 12
« Reply #33 on: March 14, 2014, 03:26:46 PM »
Actually they are custom tags Peter Verhas derived for the Perl parser that builds the HTML docs. It's somewhat broken and another thing on the list to fix before the 2.2 release. One the major goals of this release is to eliminate as much of the Perl scripts as possible and have scriba take over doing the docs and install process.

Here is the Doxygen output for Script BASIC 2.1 I did some time ago.
« Last Edit: March 14, 2014, 04:36:13 PM by John »