	PLEASE NOTE: this program demonstrates "COME FROM" for program control.
	This is the "COME FROM gerund", which requires a compiler extension
	to work (the suffix ".gi" automatically asks for that). Refer to
        come-from.i for an example of using normal labels, and to
	come-from-computed-label.li for an example of using computed labels.

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 .1 <- #2
	PLEASE DO NOT GIVE UP
	DO COME FROM IGNORING
	DO .1 <- .1 ¢ .1
	DO .1 <- .1 ¢ .1
	DO READ OUT .1
	DO GIVE UP

	DO NOTHING FOR A LITTLE WHILE
	OR MAYBE SOME REAL WORK

	DO PLEASE COME FROM GIVING UP

	DO .1 <- #3
	DO IGNORE .1

        After the first calculation, follows an ABSTAINed statement, which
	of course doesn't do anything. However it is a target of the COME
	FROM GIVING UP, so the program jumps there, assigns #3 to .1 and
	the IGNOREs it so no further calculations will make changes.
	The program jumps to the COME FROM IGNORING, where all the
	calculations are executed but their results discarded, before
	finally READing OUT .1 which still contains #3. The result
        that the program says: III
