On 24 Feb 2007, at 15:52, Rich Mellor wrote: > >> >> On 23 Feb 2007, at 18:44, Daniele Terdina wrote: >> >>> >>> What would prevent GWASS to be augmented to 'understand' Qmac >>> macros? (In >>> general terms... I'm not familiar with either assembler having only >>> used >>> Metacomco's assembler myself). >> >> >> GWASS macros, like HISOFT assemblers and others (in fact all others >> that I have seen except Qmac) use \1, \2 etc to signal parameter 1, >> parameter 2 etc. Qmac uses names on the first line of the macro after >> the word MACRO. So >> >> fiddle_de_dee MACRO par1,par2 >> >> would start a Qmac macro. >> >> Later you might have inside this macro >> >> DC.L par1 >> >> GWASS would have >> >> fiddle_de_dee MACRO >> >> DC.L \1 >> >> I will most certainly not myself alter GWASS to define macros in the >> non standard Qmac form. >> >> To alter GWASS would be possible, because almost anything is possible >> in computing, but I do not think it worth it. After all I have >> already altered ALL the macros used in SMSQE so that the altered >> versions can be used instead of the Qmac ones, so there almost >> nothing to be gained by altering GWASS to read Qmac macros. >> >> It would be more to the point for someone to alter Qmac so that it >> could read the standardish format of GWASS macros. But that would be >> (a) impossible and (b) lead to a more expensive Qmac I imagine. >> >> These are just my opinions and anyone is free to look at the source >> code of GWASS and make suggestions as to how the change might be >> made. > > The problem is that currently, you need two versions of the source > files > presumably, dependant upon whether GWASS or QMAC is to be used to > assemble > the sources. >
I have produced SMSQE source which allows the use of either GWASS macros or Qmac macros by the choice of one of two directories within the source code. One directory contains all the macros in Qmac form and the other all the macros in GWASS form. The rest of the source code remains the same for both GWASS and Qmac. > > This means that non 68020+ users cannot currently compile the source > unless they purchase QMAC (Oh dear it costs £15 for Quanta members > - that > is such a huge outlay). > Yes > > However, one option would be to write a basic program which could > search > through the source files and replace the parameters with \1, \2 etc > > This should not be too difficult to achieve, but it does mean that > only > one set of sources needs to be maintained and it would be easier to > assemble them with other macro assemblers. > > I have the QMAC manual here - it looks as though you can have: > > fiddle_de_dee MACRO par1,par2,par3.... etc > fiddle_de_dee MACRO par1 par2 par3.... etc > > The main problem is if the sources use the alternative method of > accessing > the parameters, as > > DC.L par1 and > DC.L .PARM(1) > > are both the same. .NPARMS is another function which returns the > number > of parameters passed, therefore you could presumably create this in > a loop > to read all of the parameters one by one. Do the sources contain > these > variants? > I'm afraid the problem is far more complicated than just the naming of parameters. The only way GWASS or Qmac could deal with both forms of macro would be by writing a separate parser for each. There would of course have to be a switch somewhere to tell the assembler which macro type to expect. George _______________________________________________ QL-Users Mailing List http://www.q-v-d.demon.co.uk/smsqe.htm
