VMS Help
FORTRAN, Character Sets
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Compaq Fortran supports the following characters:
o The Fortran character set, which consists of those ASCII
characters that can appear in Compaq Fortran language syntax. The
Fortran character set is a superset of the FORTRAN-77 standard
character set; it includes space and tab characters.
o Other printable characters, which can appear in comments and
character and Hollerith constants.
o Nonprintable characters.
The following table represents the ASCII character set (characters
with decimal values 0 through 127). Except for SP and HT, the
characters with names are nonprintable.
To determine the hexadecimal value of an ASCII character, combine
the values in the column (0-7) and the row (0-F) that relate to the
character. For example, the value of the character representing
the equal sign is 3D(hex).
+------------------------------------------+
| 0 1 2 3 4 5 6 7 |
+---+--------------------------------------+
| 0 | NUL DLE SP 0 @ P ` p |
| 1 | SOH DC1 ! 1 A Q a q |
| 2 | STX DC2 " 2 B R b r |
| 3 | ETX DC3 # 3 C S c s |
| 4 | EOT DC4 $ 4 D T d t |
| 5 | ENQ NAK % 5 E U e u |
| 6 | ACK SYN & 6 F V f v |
| 7 | BEL ETB ' 7 G W g w |
| 8 | BS CAN ( 8 H X h x |
| 9 | HT EM ) 9 I Y i y |
| A | LF SUB * : J Z j z |
| B | VT ESC + ; K [ k { |
| C | FF FS , < L \ l | |
| D | CR GS - = M ] m } |
| E | SO RS . > N ^ n ~ |
| F | SI US / ? O _ o DEL |
+---+--------------------------------------+
The characters with names are defined as follows:
NUL Null DC1 Device Control 1(XON)
SOH Start of DC2 Device Control 2
Heading
STX Start of Text DC3 Device Control 3(XOFF)
ETX End of Text DC4 Device Control 4
EOT End of NAK Negative Acknowledge
Transmission
ENQ Enquiry SYN Synchronous Idle
ACK Acknowledge ETB End of Transmission
Block
BEL Bell CAN Cancel
BS Backspace EM End of Medium
HT Horizontal Tab SUB Substitute
LF Line Feed ESC Escape
VT Vertical Tab FS File Separator
FF Form Feed GS Group Separator
CR Carriage Return RS Record Separator
SO Shift Out US Unit Separator
SI Shift In SP Space
DLE Data Link DEL Delete
Escape
The ASCII character set comprises the first half of the DEC
Multinational Character Set. The following table represents the
second half of the DEC Multinational Character Set (characters with
decimal values 128 through 255). These characters cannot be output
on some older terminals and printers. Note that the characters
with names are nonprintable.
To determine the hexadecimal value of an ASCII character, combine
the values in the column (8-F) and the row (0-F) that relate to the
character. For example, the value of the character representing
the pound sterling sign is A3(hex).
+------------------------------------------+
| 8 9 A B C D E F |
+---+--------------------------------------+
| 0 | DCS ° À à |
| 1 | PU1 ¡ ± Á Ñ á ñ |
| 2 | PU2 ¢ ² Â Ò â ò |
| 3 | STS £ ³ Ã Ó ã ó |
| 4 | IND CCH Ä Ô ä ô |
| 5 | NEL MW ¥ µ Å Õ å õ |
| 6 | SSA SPA ¶ Æ Ö æ ö |
| 7 | ESA EPA § · Ç × ç ÷ |
| 8 | HTS ¨ È Ø è ø |
| 9 | HTJ © ¹ É Ù é ù |
| A | VTS ª º Ê Ú ê ú |
| B | PLD CSI « » Ë Û ë û |
| C | PLU ST ¼ Ì Ü ì ü |
| D | RI OSC ½ Í Ý í ý |
| E | SS2 PM Î î |
| F | SS3 APC ¿ Ï ß ï |
+---+--------------------------------------+
The characters with names are defined as follows:
IND Index PU1 Private Use 1
NEL Next Line PU2 Private Use 2
SSA Start of STS Set Transmit State
Selected Area
ESA End of Selected CCH Cancel Character
Area
HTS Horizontal Tab MW Message Waiting
Set
HTJ Horizontal SPA Start of Protected
Tab Set with Area
Justification
VTS Vertical Tab EPA End of Protected
Set Area
PLD Partial Line CSI Control Sequence
Down Introducer
PLU Partial Line Up ST String Terminator
RI Reverse Index OSC Operating System
Command
SS2 Single Shift 2 PM Privacy Message
SS3 Single Shift 3 APC Application
DCS Device Control
String
The character set specified by the FORTRAN-77 Standard consists of
the uppercase letters A through Z, the digits 0 through 9, and the
following special characters:
SP (space) , (comma)
$ (dollar sign) - (minus sign)
' (apostrophe) . (period)
( (left parenthesis) / (slash)
) (right parenthesis) : (colon)
* (asterisk) = (equal sign)
+ (plus sign)
The Fortran character set includes the entire FORTRAN-77 Standard
set plus the lowercase letters a through z (uppercase and lowercase
letters are equivalent) and the following special characters:
! (exclamation mark) <Tab> (tab)
" (quotation mark) < (left angle bracket)
% (percent sign) > (right angle bracket)
& (ampersand) _ (underscore)
All printable characters (those in the range 20(hex) through
7E(hex), or A1(hex) through FE(hex)) can appear in comments,
character constants, and Hollerith constants.
Printable characters include the tab character (09 hex), those
ASCII characters with codes in the range 20(hex) through 7E(hex),
and those characters in the DEC Multinational Extension to the
ASCII Character Set with codes in the range A1(hex) through
FE(hex).
Note that printable characters that are not in the Fortran
character set (see Character_Set subtopic FORTRAN) can only appear
in comments and character and Hollerith constants.
6 - Nonprintable Characters
|
If nonprintable characters appear anywhere in a Fortran source line
or comment, the compiler issues a warning diagnostic and the
nonprintable character is replaced with a blank in both the
compiled source and the listing, except for the following special
cases:
o The form-feed character (0C hex) is treated as a blank without
causing a diagnostic message to be issued. In addition, a
source record of length 1 containing a form-feed character
causes the compilation source listing to begin a new page.
o A source record of length 1 containing a Ctrl-Z character (1A
hex) is treated as a blank line. Such a record is created by
the ENDFILE statement.
If you must use a nonprintable character in a character constant,
use the CHAR intrinsic function (with the concatenation operator,
if necessary). For example:
CHARACTER*(*) ESC_BRACKET
PARAMETER (ESC_BRACKET = CHAR(27)//'[')
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.