On Feb 10, 2023, at 8:44 AM, Steve <srb@unixsh.com> wrote:

I took it over the code base at some point and among other things added macros so that repeated wire to chip connection patterns and names could be generated without the labor intensive one wire at a time e.g. wire[0-7] connects to pin[0-7].  The macro would be expanded so that wire0 connected to pin0 etc. 

For specifying wirewrap lists compactly, at Fortune Systems we used some syntax Rob Warnock had picked up elsewhere. Basically lists in all angle brackets would expand in parallel and then lists in all square brackets. So for example

U[0:1].P<3:0> = U[2:3].P<1,2,4:5> 

would expand as

U0.P3 = U2.P1
U0.P2 = U2.P2
U0.P1 = U2.P4
...
U1.P0 = U3.P5

This turns out to be an interesting programming exercise. Its grammar is clearly not context-free because the number of items in all bracketed lists of give type and at a given level had to match.

[Program for this also happened to be the first C program I wrote for pay -- and spent a week debugging because coming from Pascal I used "=" when I should've used "=="]