
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Andy Little
Oops soory. However this identifies a point which I dont think has been made in this discussion. A generic macro is just a shapeless blob standing in for some text. Therefore I dont see it is possible to make general rules such as to whether a trailing semicolon is included. There is simply not enough definition. One would have to classify the *class* of macro rigorously (probably via the grammar) first. eg is this macro representing a typeid, an assignment-expression etc. Isnt this really what we are discussing ... fitting a macro into the grammar of the language? Identify the *class* of macro in the grammar to identify whether it is possible to use a particular macro in situations where a semicolon is not required, or whether the semicolon is always necessary, hence rightfully included as part of the macro.
I wouldn't mind this approach. In fact, I kind of like it. It puts the appropriate emphasis on a macro's syntactic effect. But I don't think that it will help the various problems that people have (like extra semicolons) or editor issues. For example, if a macro expands to a function definition, then there shouldn't be a semicolon, which puts us squarely back in the situation we have now. Regards, Paul Mensonides