POINT stropping is in a way the most fundamental of the three standard regimes. It was designed to work in installations with limited character sets that provide only one alphabet, one set of digits, and a very restricted set of other symbols.
In POINT stropping a bold word is represented by its constituent
letters and digits preceded by a point character. For example, the
symbol bold begin symbol in the strict language, which is
represented as begin in bold face in the reference language,
would be represented as .BEGIN in POINT stropping.
More examples are summarized in the following table.
| Strict language | Reference language | POINT stropping |
|---|---|---|
true symbol | true | .TRUE |
false symbol | false | .FALSE |
integral symbol | int | .INT |
completion symbol | exit | .EXIT |
bold-letter-c-... | crc32 | .CRC32 |
In POINT stropping a tag is represented by writing its constituent non-bold letters and digits in order. But they are organized in several taggles.
Each taggle is a sequence of one or more letters and digits,
optionally followed by an underscore character. For example, the tag
PRINT is composed of a single taggle, but the tag
PRINT_TABLE is composed of a first taggle PRINT_
followed by a second taggle TABLE.
To improve readability it is possible to insert zero or more white
space characters between the taggles in a tag. Therefore, the tag
PRINT_TABLE could have been written PRINT TABLE, or even
PRINT_ TABLE. This is the reason why Algol 68 identifiers,
labels and field selectors can and do usually feature white spaces in
them.
It is important to note that both the trailing underscore characters
in taggles and the white spaces in a tag do not contribute anything to
the denoted tag: these are just stropping artifacts aimed to improve
readability. Therefore FOOBAR FOO BAR, FOO_BAR
and FOO_BAR_ are all representations of the same tag, that
represents the
letter-f-letter-o-letter-o-letter-b-letter-a-letter-r language
construct.
Below is the text of an example Algol 68 procedure encoded in POINT stropping.
.PROC RECSEL OUTPUT RECORDS = .VOID:
.BEGIN .BITS FLAGS
:= (INCLUDE DESCRIPTORS | REC F DESCRIPTOR | REC F NONE);
.RECRSET RES = REC DB QUERY (DB, RECUTL TYPE,
RECUTL QUICK, FLAGS);
.RECWRITER WRITER := REC WRITER FILE NEW (STDOUT);
SKIP COMMENTS .OF WRITER := .TRUE;
.IF RECUTL PRINT SEXPS
.THEN MODE .OF WRITER := REC WRITER SEXP .FI;
REC WRITE (WRITER, RES)
.END