SSStrictor

One of the most annoying thing while using BlitzMax NG is the NEED to convert everything in a SUPERSTRICT version (due to the way the compiler works!)

Of course, after so many years using BlitzMax, I’m already used to write in ‘superstrict’ mode.

But quite ALL the CODE EXAMPLE are written in plain mode, just few in Strict mode, and very very few in SuperStrict mode.

So another brilliant idea (maybe someone else found already a solution to this and I’m wasting my time… I don’t know :D!)

SSStrictor: the super-strict source code convertor (good as a name of a wrestler!)

Of course it is just a test, written in few minutes.

What it does exactly?

It reads a file (I’m using the AUDIO examples source code) and try to convert it in a superstrict version

This is the original AllocChannel.bmx source code

This is the result

Of course there are so many presumptions (like in the For.. definition, just Int at the moment) and no control in case of nested function, Local conflict etc

But, considering that code examples are ‘basic’ this should be quite enough to make an easy conversion, to test and correct then manually.

At the moment I need to create a dictionary of Commands and return type, adding manually any possible commands (like AllocChannel, CueSound, LoadSound etc)

A smart version should read from

all the definitions required… and automatically build the dictionary.

It doesn’t understand ‘user function’ (in this version) or type-parameter.

 

This is the source code (if you want to test it!)

Enjoy

 

Leave a Reply

Your email address will not be published.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close