character ::= graphic_character | format_effector | other_control_function
graphic_character ::= identifier_letter | digit | space_character | special_characterStatic Semantics
upper_case_identifier_letter | lower_case_identifier_letter
Any character of Row 00 of ISO 10646 BMP whose name begins ``Latin Capital Letter''.
Any character of Row 00 of ISO 10646 BMP whose name begins ``Latin Small Letter''.
One of the characters 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9.
The character of ISO 10646 BMP named ``Space''.
Any character of the ISO 10646 BMP that is not reserved for a control function, and is not the space_character, an identifier_letter, or a digit.
The control functions of ISO 6429 called character tabulation (HT), line tabulation (VT), carriage return (CR), line feed (LF), and form feed (FF).
Any control function, other than a format_effector, that is allowed in a comment; the set of other_control_functions allowed in comments is implementation defined.
symbol name symbol name " quotation mark : colon # number sign ; semicolon & ampersand < less-than sign ' apostrophe, tick = equals sign ( left parenthesis > greater-than sign ) right parenthesis _ low line, underline * asterisk, multiply | vertical line + plus sign [ left square bracket , comma ] right square bracket - hyphen-minus, minus { left curly bracket . full stop, dot, point } right curly bracket / solidus, divideImplementation Permissions
Static Semantics
& ' ( ) * + , - . / : ; < = > |
=> .. ** := /= >= <= << >> <>
delimiter name => arrow .. double dot ** double star, exponentiate := assignment (pronounced: ``becomes'') /= inequality (pronounced: ``not equal'') >= greater than or equal <= less than or equal << left label bracket >> right label bracket <> boxImplementation Requirements
identifier ::= identifier_letter {[underline] letter_or_digit}
letter_or_digit ::= identifier_letter | digit
Static Semantics
Count X Get_Symbol Ethelyn Marion Snobol_4 X1 Page_Count Store_Next_Item
numeric_literal ::= decimal_literal | based_literalNOTES
decimal_literal ::= numeral [.numeral] [exponent]
numeral ::= digit {[underline] digit}
exponent ::= E [+] numeral | E - numeral
Static Semantics
12 0 1E6 123_456 -- integer literals 12.0 0.0 0.456 3.14159_26 -- real literals
based_literal ::= base # based_numeral [.based_numeral] # [exponent]
base ::= numeral
based_numeral ::= extended_digit {[underline] extended_digit}
extended_digit ::= digit | A | B | C | D | E | FLegality Rules
2#1111_1111# 16#FF# 016#0ff# -- integer literals of value 255 16#E#E1 2#1110_0000# -- integer literals of value 224 16#F.FF#E+2 2#1.1111_1111_1110#E11 -- real literals of value 4095.0
character_literal ::= 'graphic_character'NOTES
'A' '*' ''' ' '
string_literal ::= "{string_element}"
string_element ::= "" | non_quotation_mark_graphic_character
Static Semantics
"Message of the day:" "" -- a null string literal " " "A" """" -- three string literals of length 1 "Characters such as $, %, and } are allowed in string literals"
comment ::= --{non_end_of_line_character}
Static Semantics
-- the last sentence above echoes the Algol 68 report end; -- processing of Line is complete -- a long comment may be split onto -- two or more consecutive lines ---------------- the first two hyphens start the comment
pragma ::= pragma identifier [(pragma_argument_association {, pragma_argument_association})];
pragma_argument_association ::= [pragma_argument_identifier =>] name | [pragma_argument_identifier =>] expression
Syntax
Static Semantics
pragma List(Off); -- turn off listing generation pragma Optimize(Off); -- turn off optional optimizations pragma Inline(Set_Mask); -- generate code for Set_Mask inline pragma Suppress(Range_Check, On => Index); -- turn off range checking on Index
Syntax
abort else new return abs elsif not reverse abstract end null accept entry select access exception separate aliased exit of subtype all or and for others tagged array function out task at terminate generic package then begin goto pragma type body private if procedure case in protected until constant is use raise declare range when delay limited record while delta loop rem with digits renames do mod requeue xor
Go to the first, previous, next, last section, table of contents.