Hi Robert
One principle that can be applied is that if you have a program in two pieces, then they are independent if either of them can be used (and is used in practice) with other programs. But if the two pieces can only work together, that seems part of the same program. I tried to get this principle established in federal fourt in the Bentley vs Intergraph trial, but unfortunately it settled 24 hours before the judge published his opinion.
Yes, the case is that the two pieces can be independent since they can be used with third-party programs. The one piece would be GPL-ed tool flow and the other piece a kind of "specialized" assembler. I recall that many proprietary assemblers did/do exist, e.g. for x86. I think we should view the second piece as such, a proprietary assembler.
But if the two pieces can only work together, that seems part of the same program.
This appears like very good reasoning, sorry to hear that it was not eventually put into test in court. Hope that everything worked the best of either parties.