English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Coders. Blitz Basic (http://eab.abime.net/forumdisplay.php?f=126)
-   -   Amiblitz3 vs Blitz Basic 2.1 (http://eab.abime.net/showthread.php?t=100014)

MickGyver 14 December 2019 20:14

Amiblitz3 vs Blitz Basic 2.1
 
Amiblitz3 and it's compiled executables have now been fixed to not require an FPU making it more interesting than ever. :) The editor for one is a huge improvement compared to BB2.1 but I would love to hear about other improvements that are not directly obvious, like improvements to the language etc. So, users of both BB2 and Amiblitz2/3, what improvements comes to mind?

Daedalus 16 December 2019 13:03

Ooh, lots of things! :) Other than the IDE differences, which are like night and day:

- The includes that AmiBlitz 3 erm, includes, are excellent for easily and correctly accessing many OS routines, providing better support for things like common ASL and DOS tasks, as well as proper RTG and AHI support. There are also includes for handling lots of different image and sound formats. (I had started backporting some of them to BB2, but I think that task is redundant now).

- The adjustable rules on variable declaration are excellent, because inappropriate typing of variables is a common source of bugs. I use inline declarations almost all the time.

- The ability to use optional parameters for procedures with the New Syntax mode.

- Double-precision 64-bit float variable type (niche, but potentially very useful).

- Source code and compiler configuration are both now held in the same, plain ASCII source file, instead of separate .xtra config and .bb2 tokenised source files.

- Fully dynamic linked lists by Dimming with a size of 0, instead of in BB2 where a maximum size must be set.

- String escape sequences (\n for newline, \\22 for quote etc.)

- Improved internal string handling. I can't remember exact details now, but I had trouble with code that used strings with OS calls and worked under AB3 but sometimes corrupted things under BB2. The reason was different handling of temporary string buffers and pointers.

I'm sure there are other finer differences as well, but those are the ones I've noticed and used. Slightly less good is that identical source seemed to create larger executables under AB3, but I haven't looked at it since the latest version was released so I don't know if that's still the case.

Nightshft 17 December 2019 22:11

Quote:

Originally Posted by Daedalus (Post 1365360)
Slightly less good is that identical source seemed to create larger executables under AB3, but I haven't looked at it since the latest version was released so I don't know if that's still the case.

I'm not at home right now and can't check but I've compiled a program with BB2.1, AB2.42 and AB3.71 last week and, IIRC the .exe got bigger with higher versions. I agree, improvements in code size would be cool.

BippyM 22 December 2019 11:08

Can the amiblitz compiler be run and compile from a command line?

MickGyver 22 December 2019 18:25

Quote:

Originally Posted by BippyM (Post 1366797)
Can the amiblitz compiler be run and compile from a command line?

Yes, it can, I haven't tried to make executables myself though. :)

Code:

AmiBlitz 3.7.0 (06.12.2019) Build 86

Syntax: AmiBlitz3 [options]

Options:
  -(s)ource <file>    : input source code filename (bb2, ab2 or ab3)
  -(e)xe <file>      : output executable filename
  -(d)ebug            : compile and start runtime debugger
  -(r)elease          : create release executable (size optimized)
  -run                : run compiled program
  -dump <info> <file> : dump compiler internals to file
                        (info=all|token|label|var|func|const|macro|type|lib)
  -setcom <options>  : set compiler settings (options=icon|small|func|ldbg|dbgf)
  -setdbg <check>    : set debugger settings (check=auto|irq|asm|ofl)
  -strbufsize <n>    : set the string buffer size of the compiler
  -stacksize <n>      : set the stacksize for the exe if it run/debug
  -maxerrors <n>      : set maxerrorcounter of the compiler (1-4096; default=99)
  -(1)pass            : use large buffers for compile
  -dform <n>          : format of compiler internals dump (0=bin, 1=ASCII; default=1)
  -PED                : start AmiBlitz3 IDE (PED)
  -save <file>        : re-save source code (convert format, if needed)
  -(v)erbose <n>      : set verbose level (0, 1 or 2; default=1)
  -(h)elp            : show this help

Example:
  AmiBlitz3 -s "DH0:Sourcecodes/MyProgram.ab3" -e RAM:MyProgram.exe

Note: To start the AmiBlitz3 IDE, run from Workbench or with -PED option.



All times are GMT +2. The time now is 23:16.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.

Page generated in 0.03980 seconds with 11 queries