From mboxrd@z Thu Jan 1 00:00:00 1970 From: stewart@serissa.com (Lawrence Stewart) Date: Fri, 3 Nov 2017 08:53:40 -0400 Subject: [TUHS] Fwd: [Simh] An abandoned piece of K&R C References: Message-ID: <160331EE-3C7D-4948-ADE3-E57FFDCA5EAF@serissa.com> This caught my attention. Did early C really have min and max? Were they used for anything? In those days I was a BCPL user, which IIRC, did not have such things. -Larry > Begin forwarded message: > > From: Leo Broukhis > Subject: [Simh] An abandoned piece of K&R C > Date: 2017, November 3 at 1:14:42 AM EDT > To: "simh at trailing-edge.com" > > https://retrocomputing.stackexchange.com/q/4965/4025 > > In the UNIX V7 version of the C language, there were the /\ (min) and the \/ (max) operators. In the source of the scanner part of the compiler, > > case BSLASH: > if (subseq('/', 0, 1)) > return(MAX); > goto unkn; > > case DIVIDE: > if (subseq('\\', 0, 1)) > return(MIN); > ... > > However, attempting to use them reveals that the corresponding part in the code generator is missing. Trying to compile > > foo(a, b) { return a \/ b; } > > results in > > 1: No code table for op: \/ > > The scanner piece survived in the copies of the compiler for various systems for several years. I tried to look for copies of the code generator table which would contain an implementation, but failed. Has anyone ever seen a working MIN/MAX operator in K&R C? > > Thanks,Leo > > _______________________________________________ > Simh mailing list > Simh at trailing-edge.com > http://mailman.trailing-edge.com/mailman/listinfo/simh -------------- next part -------------- An HTML attachment was scrubbed... URL: