The syntax is documented. In the Turbo Pasal 3 documentation, i.e. the Z80 era.
Source my answer to [WayBack] Delphi ^A syntax: Documented, implied, or undocumented? – Stack Overflow (I have added some WayBack Internet Archive links below) as it is from the Turbo Pascal era where the caret was introduced to support control characters:
This is from long ago as an escape character to enable you to have consts for control characters in a more readable way.const CtrlC = ^C; begin Write(Ord(CtrlC)); end.
This defines a Char constant with value
#3
, then writes3
in Borland Pascal 7, and I remember seeing it years before that too.I just checked the Turbo Pascal 5.0 and Borland Pascal 7.0 languages guides, but could not find it, so it seems undocumented.
Edit: I do remember this was a Borland thing, and just [WayBack] checked: it is not part of the ISO Pascal standard (formerly this was ANSI Pascal Standard, thanks Sertac for noticing this).
It [WayBack] is documented in the Free Pascal documentation [WayBack].
SGI uses the backslash as escape character, as per their docs [WayBack].
More Edit: I found it [WayBack] documented in Delphi in a Nutshell and the [WayBack] Delphi Basics site.
Found it: Just found it on page 37 of the Turbo Pascal 3 Reference Manual [WayBack].
(Marco van de Voort found the Free Pascal documentation)
It in fact originates in the 1984 Turbo Pascal 1 edition, as per the [WayBack] Turbo_Pascal_Reference_Manual_Feb84.pdf:
–jeroen