File: version.doc

package info (click to toggle)
intercal 30%3A0.30-6
  • links: PTS
  • area: main
  • in suites: sid, trixie
  • size: 4,044 kB
  • sloc: ansic: 8,936; sh: 1,274; yacc: 1,073; lex: 518; lisp: 460; makefile: 438; perl: 295
file content (14 lines) | stat: -rw-r--r-- 681 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
version.4i is a simple program that tests what version of INTERCAL you are
running.

Under INTERCAL-72, the .4i suffix is ignored, and the COME FROM lines are
splatted. So execution flows to the first splat line, where an error is
reported that prints out the required message.

Under C-INTERCAL (or CLC-INTERCAL faking it), the ? is interpreted as XOR,
leaving a hugely large value in .1. So the second COME FROM doesn't match,
and the second splat line generates the error.

Under CLC-INTERCAL (or C-INTERCAL using the -X option), the ? is interpreted
as BUT, leaving #5 in .1. So the second COME FROM finds the required line
label, and the third splat line generates the error.