	PLEASE NOTE: this program demonstrates "COME FROM" for program control.
        This is the normal "COME FROM", with labels as targets, however
	the statement labels are expressions: this requires a compiler
	extension to work (the suffix ".li" asks for that); refer to
	come-from.i for an example of using normal labels, and to
        come-from-gerund.gi for an example of using gerunds as targets.

Copyright (c) 2023 Claudio Calvelli, all rights reserved.

CLC-INTERCAL is copyrighted software. However, permission to use, modify,
and distribute it is granted provided that the conditions set out in the
licence agreement are met. See files README and COPYING in the distribution.

	DO .2 <- #2
(.2)	DO .1 <- #1
	DO COME FROM (3)
	DO READ OUT .1
	DO GIVE UP

	DO NOTHING FOR A LITTLE WHILE
	OR MAYBE SOME REAL WORK

	DO PLEASE COME FROM (2)

(.1)	DO .1 <- #3

        After the second calculation, the program jumps to the COME FROM (1)
	because the label (.2) now has value (2); then it assigns #2 to
	.1 therefore making its own label equal to (3) and jumping to
	the COME FROM (3) and READing OUT .1 which is still #3. The result is
        that the program says: III

