Modula-2 Reloaded

A Modern Typesafe & Literate Programming Notation

Site Menu

Project

Specification

Implementation

Recommendations

Reference

Needs Updating

Work in Progress

Wastebasket

Wiki Manual

edit SideBar

Lexical Entities

CoreLanguage.LexicalEntities History

Hide minor edits - Show changes to output

2015-10-09 18:22 by trijezdci -
Changed line 9 from:
Reserved words are symbols that consist of a sequence of all-uppercase letters, are visible in any scope, have special meaning in the language and may not be redefined. There are 50 reserved words:
to:
Reserved words are symbols that consist of a sequence of all-uppercase letters, are visible in any scope, have special meaning in the language and may not be redefined. There are 49 reserved words:
2015-10-09 18:22 by trijezdci -
Changed lines 13-22 from:
 ALIAS          DEFINITION      GENLIB          NOT            RETAIN
 AND
             DIV            IF            OF            RETURN
 ARGLIST
        DO             IMPLEMENTATION  OPAQUE          SET
ARRAY          ELSE            IMPORT          OR             THEN
 
BEGIN          ELSIF          IN              POINTER       TO
 BLUEPRINT
      END            LOOP          PROCEDURE      TYPE
BY              ENUM            MOD            RECORD         UNTIL
 CASE
            EXIT          MODULE          REFERENTIAL    VAR
CONST          FOR             NEW            RELEASE         WHILE
 
COPY            FROM            NONE           REPEAT         YIELD
to:
 ALIAS          DEFINITION      IF              OF             RETURN
 AND
            DIV            IMPLEMENTATION  OPAQUE        SET
 ARGLIST
        DO            IMPORT          OR              THEN
 
ARRAY          ELSE            IN              POINTER        TO
BEGIN          ELSIF          LOOP            PROCEDURE      TYPE
 BLUEPRINT
     END            MOD            RECORD        UNTIL
BY              EXIT            MODULE          REFERENTIAL    VAR
 CASE
           FOR            NEW            RELEASE        WHILE
CONST          FROM            NONE           REPEAT          YIELD
COPY            GENLIB          NOT            RETAIN        
Changed line 393 from:
Actual lexical parameters shall be provided as constants in standard library module @@`LexParams@@.
to:
Actual lexical parameters shall be provided as constants in standard library module @@`LexParams@@.
2015-09-22 12:32 by trijezdci -
Changed line 57 from:
 @@+  -  *  /  \  =  #  <  <=  >  >=  ==  ::  ^  &@@
to:
 @@+  -  *  /  \  =  #  <  <=  >  >=  ==  ::  &  ^@@
Deleted line 393:
2015-09-22 12:31 by trijezdci -
Changed line 57 from:
 @@+  -  *   *.  /  \  =  #  <  <=  >  >=  ==  ::  ^  &@@
to:
 @@+  -  *  /  \  =  #  <  <=  >  >=  ==  ::  ^  &@@
2015-09-22 12:29 by trijezdci -
Changed line 302 from:
||Symbolic Inline Assembler ||@@ASSEMBLER@@ @@ASM@@ @@REG@@ ||_______||
to:
||Symbolic Inline Assembler (Optional) ||@@ASSEMBLER@@ @@ASM@@ @@REG@@ ||_______||
2015-09-22 12:28 by trijezdci -
Changed lines 303-304 from:
||Phase II Deliverables ||@@ACTOR@@ @@PRIORITY@@ ||_______||
||Possible Future Use ||[@** @] [@*. @] ||_______||
to:
||Actor Based Concurrency (Phase II Deliverables) ||@@ACTOR@@ @@PRIORITY@@ ||_______||
||Exponentiation and Dot Product Operators (Possible Future Use) ||[@** @] [@*. @] ||_______||
2015-09-22 12:26 by trijezdci -
Changed lines 303-304 from:
||Future Use (Phase II Deliverables) ||[@**@] [@*.@] @@ACTOR@@ @@PRIORITY@@ ||_______||
to:
||Phase II Deliverables ||@@ACTOR@@ @@PRIORITY@@ ||_______||
||Possible Future Use ||[@** @] [@*. @]
||_______||
2015-09-22 12:24 by trijezdci -
Changed line 303 from:
||Future Use (Phase II Deliverables) ||@@ACTOR@@ @@PRIORITY@@ ||_______||
to:
||Future Use (Phase II Deliverables) ||[@**@] [@*.@] @@ACTOR@@ @@PRIORITY@@ ||_______||
2015-09-20 19:02 by trijezdci -
Changed line 369 from:
If an identifier or a pragma symbol exceeds the maximum length support by the implementation, it may be truncated to the maximum supported length. If it is, a soft compile time warning shall occur.
to:
If an identifier or a pragma symbol exceeds the maximum length supported by the implementation, it may be truncated to the maximum supported length. If it is, a soft compile time warning shall occur.
2015-09-20 19:01 by trijezdci -
Changed line 392 from:
Actual lexical parameters shall be provided as constants in standard library module @@LexParams@@.
to:
Actual lexical parameters shall be provided as constants in standard library module @@`LexParams@@.
2015-09-20 19:00 by trijezdci -
Changed lines 344-393 from:
Any special symbols not specifically reserved shall be considered reserved for possible future use or taboo.
to:
Any special symbols not specifically reserved shall be considered reserved for possible future use or taboo.

[[#LexicalParameters]]
!!!! 1.9 Lexical Parameters

[[#LengthOfLiterals]]
!!!!! 1.9.1 Length of Literals

The minimum lengths of literals a conforming implementation shall support are:
* for string literals, 160 characters
* for character code literals, 6 digits
* for whole number literals, 24 digits
* for real number literals, 64 digits

The fractional part of a real number literal may be truncated. If it is truncated, a soft compile time warning shall be emitted.

If a string literal, a character code literal, a whole number literal or the significand or exponent of a real number literal is longer than an implementation is able to process, a compile time error shall occur.

[[#LengthOfIdents]]
!!!!! 1.9.2 Length of Identifiers and Pragma Symbols

The minimum lengths of identifiers and pragma symbols a conforming implementation shall support are:
* for identifiers, 32 characters
* for pragma symbols, 32 characters

If an identifier or a pragma symbol exceeds the maximum length support by the implementation, it may be truncated to the maximum supported length. If it is, a soft compile time warning shall occur.

[[#LengthOfComments]]
!!!!! 1.9.4 Length of Comments

An implementation that generates source code of another language may choose to preserve comments by copying them into the output. In this case, the implementation may limit the length of comments copied into the output. The minimum lengths of comments to be fully preserved that such an implementation shall support are:
* for line comments, 250 characters
* for block comments, 2000 characters

If a comment to be preserved exceeds the maximum length supported by the implementation, it may be truncated to the maximum supported length. If it is truncated, a soft compile time warning shall occur. If a nested block comment is truncated, an implementation shall insert all closing comment delimiters that would have been lost as a result of truncation.

[[#LineAndColumnCounters]]
!!!!! 1.9.4 Line and Column Counters

An implementation may limit the capacity of its internal line and column counters. The minimum values a conforming implementation shall support are:
* for the line counter, 65000
* for the column counter, 250

In the event that a source file being processed exceeds the supported counter limits, an implementation may either continue or abort compilation. A soft compile time warning shall occur if the implementation continues. A fatal compile time error shall be emitted if the implementation aborts.

[[#LexicalParameterConstants]]
!!!!! 1.9.5 Lexical Parameter Constants

Actual lexical parameters shall be provided as constants in standard library module @@LexParams@@.

2015-09-20 11:14 by trijezdci -
2015-09-20 11:11 by trijezdci -
Changed line 339 from:
[@/=  +>  (.   .)  (:   :)  (=   =)  ?/  ?<  ?!  ?-  ?.  ?=  ?*  ?:  ??  ???  ?,  ?,,  ?>  ?+  ?;@] ||
to:
[@/=  @] [@+>  @] [@(.  .)  @] [@(:  :)  @] [@(=  =)  @] [@?/  @] [@?<  @] [@?!  @] [@?-  @] [@?.  @] [@?=  @] [@?*  @] [@?:  @] [@??  @] [@???  @] [@?,  @] [@?,,  @] [@?>  @] [@?+  @] [@?;@] ||
2015-09-20 11:06 by trijezdci -
Changed line 338 from:
||[[Recommentations.Transliteration|Character Set Transliterators]] ||\
to:
||[[Recommendations.Transliteration|Character Set Transliterators]] ||\
2015-09-20 11:05 by trijezdci -
Changed lines 338-339 from:
||Character Set Transliterators ||[@/=  +>  (.  .)  (:  :)  (=  =)  ?/  ?<  ?!  ?-  ?.  ?=  ?*  ?:  ??  ???  ?,  ?,,  ?>  ?+  ?;@] ||
to:
||[[Recommentations.Transliteration|Character Set Transliterators]] ||\
[@/=  +>  (.  .)  (:  :)  (=  =)  ?/  ?<  ?!  ?-  ?.  ?=  ?*  ?:  ??  ???  ?,  ?,,  ?>  ?+  ?;@] ||
2015-09-20 11:04 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||[@/=  +>  (.  .)  (:  :)  (=  =)  ?/  ?<  ?!  ?-  ?.  ?=  ?*  ?:  ??  ?,  ?>  ?+  ?;@] ||
to:
||Character Set Transliterators ||[@/=  +>  (.  .)  (:  :)  (=  =)  ?/  ?<  ?!  ?-  ?.  ?=  ?*  ?:  ??  ???  ?,  ?,,  ?>  ?+  ?;@] ||
2015-09-20 11:01 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||[@/=  +>  /<  ?>  ?-  ?!  ?.  ?=  ?*  ?:  (.  .)  (:  :)  (=  =)@] ||
to:
||Character Set Transliterators ||[@/=  +>  (.  .)  (:  :)  (=  =)  ?/  ?<  ?!  ?-  ?.  ?=  ?*  ?:  ??  ?,  ?>  ?+  ?;@] ||
2015-09-19 14:09 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||[@/<  /=  +>  ?!  ?-  ?>  ?.  ?=  ?*  ?:  (.  .)  (:  :)  (=  =)@] ||
to:
||Character Set Transliterators ||[@/=  +>  /<  ?>  ?-  ?!  ?.  ?=  ?*  ?:  (.  .)  (:  :)  (=  =)@] ||
2015-09-19 14:05 by trijezdci -
Changed lines 337-338 from:
||Modula-2 Template Engine ||[@##  @@  <#  #>  //  /*  */ ||
||Character Set Transliterators ||[@/<  /=  +>  ?!  ?-  ?>  ?.  ?=  ?*  ?:  (.  .)  (:  :)  (=  =) ||
to:
||Modula-2 Template Engine ||[@##  @@  <#  #>  //  /*  */@] ||
||Character Set Transliterators ||[@/<  /=  +>  ?!  ?-  ?>  ?.  ?=  ?*  ?:  (.  .)  (:  :)  (=  =)@] ||
2015-09-19 14:05 by trijezdci -
Changed lines 337-338 from:
||Modula-2 Template Engine ||@@##  @@ @@[=@@=]  @@ @@<#  @@ @@#>  @@ @@//  @@ @@/*  @@ @@*/@@ ||
||Character Set Transliterators ||@@/<
  @@ @@/=  @@ @@+@@ @@.-  @@ @@?!  @@ @@?>  @@ @@?-  @@  @@?=  @@  @@?*  @@  @@?:  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=  @@ @@=) @@ ||
to:
||Modula-2 Template Engine ||[@##  @@  <#  #>  //  /*  */ ||
||Character Set Transliterators ||[
@/<  /=   +>  ?!  ?-  ??.  ?=   ?*  ?:  (.  .)  (:  :)  (=  =) ||
2015-09-19 14:00 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@+>  @@ @@.-  @@ @@?!  @@ @@?>  @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=  @@ @@=) @@ ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@+>  @@ @@.-  @@ @@?!  @@ @@?>  @@ @@?-  @@  @@?=  @@  @@?*  @@  @@?:  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=  @@ @@=) @@ ||
2015-09-19 13:56 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@+>  @@ @@.-  @@ @@(.   @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=   @@ @@=) @@ @@?!  @@ @@?>  @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?: @@ ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@+>  @@ @@.-  @@ @@?!  @@ @@?>  @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ @@(.   @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=   @@ @@=) @@ ||
2015-09-19 13:53 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.   @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=   @@ @@=) @@ @@?>  @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@+>  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=   @@ @@=) @@ @@?! @@ @@?>  @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
2015-09-19 13:46 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.   @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=   @@ @@=) @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=   @@ @@=) @@ @@?> @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
2015-09-19 13:40 by trijezdci -
Changed lines 2-3 from:
!!!! 1 Character Sets
to:
!!!! 1.1 Character Sets
Changed lines 7-8 from:
!!!! 2 Reserved Words
to:
!!!! 1.2 Reserved Words
Changed lines 26-27 from:
!!!! 3 Schrödinger's Tokens
to:
!!!! 1.3 Schrödinger's Tokens
Changed lines 43-44 from:
!!!! 4 Special Symbols
to:
!!!! 1.4 Special Symbols
Changed lines 54-55 from:
!!!!! 4.1 Operators
to:
!!!!! 1.4.1 Operators
Changed lines 61-62 from:
!!!!! 4.2 Punctuation
to:
!!!!! 1.4.2 Punctuation
Changed lines 68-69 from:
!!!!! 4.3 Grouping Delimiters
to:
!!!!! 1.4.3 Grouping Delimiters
Changed lines 75-76 from:
!!!!! 4.4 Quoted Text Delimiters
to:
!!!!! 1.4.4 Quoted Text Delimiters
Changed lines 82-83 from:
!!!!! 4.5 Comment Delimiters
to:
!!!!! 1.4.5 Comment Delimiters
Changed lines 89-90 from:
!!!!! 4.6 Pragma Punctuation and Delimiters
to:
!!!!! 1.4.6 Pragma Punctuation and Delimiters
Changed lines 96-97 from:
!!!! 5 Identifiers
to:
!!!! 1.5 Identifiers
Changed lines 111-112 from:
!!!!! 5.1 Reserved Identifiers
to:
!!!!! 1.5.1 Reserved Identifiers
Changed lines 119-120 from:
!!!!! 5. 2 User-Definable Identifiers
to:
!!!!! 1.5. 2 User-Definable Identifiers
Changed lines 124-125 from:
!!!! 6 Literals
to:
!!!! 1.6 Literals
Changed lines 132-133 from:
!!!!! 6.1 Numeric literals
to:
!!!!! 1.6.1 Numeric literals
Changed lines 143-144 from:
!!!!! 6.1.1 Decimal Number Literals
to:
!!!!! 1.6.1.1 Decimal Number Literals
Changed lines 155-156 from:
!!!!! 6.1.2 Base-2 Number Literals
to:
!!!!! 1.6.1.2 Base-2 Number Literals
Changed lines 166-167 from:
!!!!! 6.1.3 Base-16 Number Literals
to:
!!!!! 1.6.1.3 Base-16 Number Literals
Changed lines 177-178 from:
!!!!! 6.1.4 Character Code Literals
to:
!!!!! 1.6.1.4 Character Code Literals
Changed lines 189-190 from:
!!!! 6.2 String Literals
to:
!!!! 1.6.2 String Literals
Changed lines 203-204 from:
!!!! 6.3 Structured Literals
to:
!!!! 1.6.3 Structured Literals
Changed lines 219-220 from:
!!!! 7 Non-Semantic Symbols
to:
!!!! 1.7 Non-Semantic Symbols
Changed lines 227-228 from:
!!!!! 7.1 Comments
to:
!!!!! 1.7.1 Comments
Changed lines 234-235 from:
!!!!! 7.1.1 Line Comments
to:
!!!!! 1.7.1.1 Line Comments
Changed lines 248-249 from:
!!!!! 7.1.2 Block Comments
to:
!!!!! 1.7.1.2 Block Comments
Changed lines 260-261 from:
!!!!! 7.2 Pragmas
to:
!!!!! 1.7.2 Pragmas
Changed lines 275-276 from:
!!!!! 7.3 Lexical Separators
to:
!!!!! 1.7.3 Lexical Separators
Changed lines 282-283 from:
!!!!! 7.3.1 Control Codes
to:
!!!!! 1.7.3.1 Control Codes
Changed lines 293-294 from:
!!!! 8 Reserved Symbols
to:
!!!! 1.8 Reserved Symbols
Changed lines 298-299 from:
!!!!! 8.1 Symbols Reserved for Optional and Future Use
to:
!!!!! 1.8.1 Symbols Reserved for Optional and Future Use
Changed lines 306-307 from:
!!!!! 8.2 Symbols Reserved for Coordinated Superset Use
to:
!!!!! 1.8.2 Symbols Reserved for Coordinated Superset Use
Changed lines 320-321 from:
!!!!! 8.3 Symbols Reserved for Uncoordinated Superset Use
to:
!!!!! 1.8.3 Symbols Reserved for Uncoordinated Superset Use
Changed lines 331-332 from:
!!!!! 8.4 Symbols Reserved for External Source Code Processors
to:
!!!!! 1.8.4 Symbols Reserved for External Source Code Processors
Changed line 341 from:
!!!!! 8.5 Other Symbols
to:
!!!!! 1.8.5 Other Symbols
2015-09-19 13:36 by trijezdci -
Changed lines 155-156 from:
!!!! 6.1.2 Base-2 Number Literals
to:
!!!!! 6.1.2 Base-2 Number Literals
Changed lines 166-167 from:
!!!! 6.1.3 Base-16 Number Literals
to:
!!!!! 6.1.3 Base-16 Number Literals
Changed lines 177-178 from:
!!!! 6.1.4 Character Code Literals
to:
!!!!! 6.1.4 Character Code Literals
Changed lines 203-204 from:
!!!! 6. 3 Structured Literals
to:
!!!! 6.3 Structured Literals
Changed lines 275-276 from:
!!!! 7.3 Lexical Separators
to:
!!!!! 7.3 Lexical Separators
Changed line 282 from:
!!!!! Control Codes
to:
!!!!! 7.3.1 Control Codes
2015-09-19 13:33 by trijezdci -
Changed lines 2-3 from:
!!!! Character Sets
to:
!!!! 1 Character Sets
Changed lines 7-8 from:
!!!! Reserved Words
to:
!!!! 2 Reserved Words
Changed lines 26-27 from:
!!!! Schrödinger's Tokens
to:
!!!! 3 Schrödinger's Tokens
Changed lines 43-44 from:
!!!! Special Symbols
to:
!!!! 4 Special Symbols
Changed lines 54-55 from:
!!!!! Operators
to:
!!!!! 4.1 Operators
Changed lines 61-62 from:
!!!!! Punctuation
to:
!!!!! 4.2 Punctuation
Changed lines 68-69 from:
!!!!! Grouping Delimiters
to:
!!!!! 4.3 Grouping Delimiters
Changed lines 75-76 from:
!!!!! Quoted Text Delimiters
to:
!!!!! 4.4 Quoted Text Delimiters
Changed lines 82-83 from:
!!!!! Comment Delimiters
to:
!!!!! 4.5 Comment Delimiters
Changed lines 89-90 from:
!!!!! Pragma Punctuation and Delimiters
to:
!!!!! 4.6 Pragma Punctuation and Delimiters
Changed lines 96-97 from:
!!!! Identifiers
to:
!!!! 5 Identifiers
Changed lines 111-112 from:
!!!!! Reserved Identifiers
to:
!!!!! 5.1 Reserved Identifiers
Changed lines 119-120 from:
!!!!! User-Definable Identifiers
to:
!!!!! 5. 2 User-Definable Identifiers
Changed lines 124-125 from:
!!!! Literals
to:
!!!! 6 Literals
Changed lines 132-133 from:
!!!!! Numeric literals
to:
!!!!! 6.1 Numeric literals
Changed lines 143-144 from:
!!!!! Decimal Number Literals
to:
!!!!! 6.1.1 Decimal Number Literals
Changed lines 155-156 from:
!!!! Base-2 Number Literals
to:
!!!! 6.1.2 Base-2 Number Literals
Changed lines 166-167 from:
!!!! Base-16 Number Literals
to:
!!!! 6.1.3 Base-16 Number Literals
Changed lines 177-178 from:
!!!! Character Code Literals
to:
!!!! 6.1.4 Character Code Literals
Changed lines 189-190 from:
!!!! String Literals
to:
!!!! 6.2 String Literals
Changed lines 203-204 from:
!!!! Structured Literals
to:
!!!! 6. 3 Structured Literals
Changed lines 219-220 from:
!!!! Non-Semantic Symbols
to:
!!!! 7 Non-Semantic Symbols
Changed lines 227-228 from:
!!!!! Comments
to:
!!!!! 7.1 Comments
Changed lines 234-235 from:
!!!!! Line Comments
to:
!!!!! 7.1.1 Line Comments
Changed lines 248-249 from:
!!!!! Block Comments
to:
!!!!! 7.1.2 Block Comments
Changed lines 260-261 from:
!!!!! Pragmas
to:
!!!!! 7.2 Pragmas
Changed lines 275-276 from:
!!!! Lexical Separators
to:
!!!! 7.3 Lexical Separators
Changed lines 293-294 from:
!!!! Reserved Symbols
to:
!!!! 8 Reserved Symbols
Changed lines 298-299 from:
!!!!! Symbols Reserved for Optional and Future Use
to:
!!!!! 8.1 Symbols Reserved for Optional and Future Use
Changed lines 306-307 from:
!!!!! Symbols Reserved for Coordinated Superset Use
to:
!!!!! 8.2 Symbols Reserved for Coordinated Superset Use
Changed lines 320-321 from:
!!!!! Symbols Reserved for Uncoordinated Superset Use
to:
!!!!! 8.3 Symbols Reserved for Uncoordinated Superset Use
Changed lines 331-332 from:
!!!!! Symbols Reserved for External Source Code Processors
to:
!!!!! 8.4 Symbols Reserved for External Source Code Processors
Changed line 341 from:
!!!!! Other Symbols
to:
!!!!! 8.5 Other Symbols
2015-09-19 12:08 by trijezdci -
Changed lines 322-323 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragmas are reserved. Such a superset may define additional reserved words and predefined identifiers as long as they start with a single @@@@@&nbsp;character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words and predefined identifiers as long as they contain at least one @@%@@ character.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragmas are reserved. Such a superset may define additional reserved words and predefined identifiers as long as they start with a single @@@@@&nbsp;character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words and predefined identifiers as long as they contain at least one @@%@@&nbsp;character.
Changed line 343 from:
Any special symbols not specifically reserved shall be considered reserved for possible future use or taboo.
to:
Any special symbols not specifically reserved shall be considered reserved for possible future use or taboo.
2015-09-19 12:08 by trijezdci -
Changed line 322 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define additional reserved words and predefined identifiers as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words and predefined identifiers as long as they contain at least one @@%@@ character.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragmas are reserved. Such a superset may define additional reserved words and predefined identifiers as long as they start with a single @@@@@&nbsp;character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words and predefined identifiers as long as they contain at least one @@%@@ character.
2015-09-19 12:06 by trijezdci -
Changed line 322 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define additional reserved words, predefined identifiers and language pragma symbols as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words, predefined identifiers and language pragma symbols as long as they contain at least one @@%@@ character.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define additional reserved words and predefined identifiers as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words and predefined identifiers as long as they contain at least one @@%@@ character.
2015-09-19 10:41 by trijezdci -
Changed line 343 from:
Any special symbols not specifically reserved are either reserved for possible future use or taboo.
to:
Any special symbols not specifically reserved shall be considered reserved for possible future use or taboo.
2015-09-19 10:40 by trijezdci -
Changed line 343 from:
Any special symbols not already reserved are either reserved for possible future use or taboo.
to:
Any special symbols not specifically reserved are either reserved for possible future use or taboo.
2015-09-19 10:39 by trijezdci -
Changed lines 338-343 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=  @@ @@=) @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=  @@ @@=) @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||

[[#OtherSymbols]]
!!!!! Other Symbols

Any special symbols not already reserved are either reserved for possible future use or taboo.
2015-09-19 09:45 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@  @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ @@(=  @@ @@=) @@ @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
2015-09-19 09:32 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@  @@?-  @@  @@?=  @@  @@?.  @@  @@?:  @@ ||
2015-09-19 09:30 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.)   @@ @@(:   @@ @@:) ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@ ||
2015-09-19 09:29 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/=  @@ @@(.  @@ @@.)  @@ @@(:  @@ @@:)  @@ [-and @@??@@ trigraphs of ISO C-] ||
to:
||Character Set Transliterators ||@@/<  @@ @@/=  @@ @@=>  @@ @@+>  @@ @@./  @@ @@.-  @@ @@(.  @@ @@.)  @@ @@(:  @@ @@:) ||
2015-09-19 07:25 by trijezdci -
Changed lines 337-338 from:
||Modula-2 Template Engine ||@@##  @@ @@[=@@=]  @@ @@<#  @@ @@#>  @@ @@//  @@ @@/*  @@ @@*/@@ ||
||Character Set Transliterators ||@@/=  @@ @@(.  @@ @@.)  @@ @@(:  @@ @@:)  @@ [-and @@??@@ trigraphs of ISO C-] ||
to:
||Modula-2 Template Engine ||@@##   @@ @@[=@@=]   @@ @@<#   @@ @@#>   @@ @@//   @@ @@/*   @@ @@*/@@ ||
||Character Set Transliterators ||@@/=   @@ @@(.   @@ @@.)   @@ @@(:   @@ @@:)   @@ [-and @@??@@ trigraphs of ISO C-] ||
2015-09-19 07:25 by trijezdci -
Changed line 338 from:
||Character Set Transliterators ||@@/=  @@ @@(.  @@ @@.)  @@ @@(:  @@ @@:)  [-@@and @@??@@ trigraphs of ISO C-] ||
to:
||Character Set Transliterators ||@@/=  @@ @@(.  @@ @@.)  @@ @@(:  @@ @@:)  @@ [-and @@??@@ trigraphs of ISO C-] ||
2015-09-19 07:24 by trijezdci -
Changed lines 337-338 from:
||Modula-2 Template Engine ||@@##  @@ @@[=@@=]  @@ @@<#  @@ @@#>  @@ @@//  @@ @@/*  @@ @@*/@@ ||_______||
||
Character Set Transliterators ||@@/=  @@ @@(.  @@ @@.)  @@ @@(:  @@ @@:)  @@and @@??@@ trigraphs of ISO C ||_______||
to:
||Modula-2 Template Engine ||@@##  @@ @@[=@@=]  @@ @@<#  @@ @@#>  @@ @@//  @@ @@/*  @@ @@*/@@ ||
||Character Set Transliterators ||@@/=  @@ @@(.  @@ @@.)  @@ @@(:  @@ @@:)  [-@@and @@??@@ trigraphs of ISO C-] ||
2015-09-19 07:22 by trijezdci -
Changed lines 337-342 from:
||Modula-2 Template Engine ||@@##@@ @@[=@@=]@@ @@<#@@ @@#>@@ @@//@@ @@/*@@ @@*/@@ ||_______||
||Character Set Transliterators ||@@/=@@ @@(.@@ @@.)@@ and @@??@@ trigraphs of ISO C ||_______||



||Single&#x2011;Pass[[<<]]Compilers ||Pragmas ||@@FORWARD@@
||
to:
||Modula-2 Template Engine ||@@##  @@ @@[=@@=]  @@ @@<#  @@ @@#>  @@ @@//  @@ @@/*  @@ @@*/@@ ||_______||
||Character Set Transliterators ||@@/=  @@ @@(.  @@ @@.) @@ @@(:  @@ @@:)  @@and @@??@@ trigraphs of ISO C ||_______||
2015-09-19 07:21 by trijezdci -
Added lines 330-338:
[[#UtilitySymbols]]
!!!!! Symbols Reserved for External Source Code Processors

To assist source code processing prior to compilation, certain symbols are reserved for exclusive use by external source code processing utilities.

|| class=headrow border=1 cellspacing=0 width=100%
||!Utility ||!Reserved Symbols ||_______||
||Modula-2 Template Engine ||@@##@@ @@[=@@=]@@ @@<#@@ @@#>@@ @@//@@ @@/*@@ @@*/@@ ||_______||
||Character Set Transliterators ||@@/=@@ @@(.@@ @@.)@@ and @@??@@ trigraphs of ISO C ||_______||
2015-09-19 07:00 by trijezdci -
Changed line 313 from:
||Core Language ||@@`@@ @@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
to:
||Symbols ||@@`@@ @@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
Changed line 316 from:
||Core Language ||@@ALL@@ @@PARALLEL@@ @@SYNC@@ ||
to:
||Symbols ||@@ALL@@ @@PARALLEL@@ @@SYNC@@ ||
2015-09-19 06:50 by trijezdci -
Changed line 322 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragma symbols as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words, predefined identifiers and language pragma symbols as long as they contain at least one @@%@@ character.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define additional reserved words, predefined identifiers and language pragma symbols as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words, predefined identifiers and language pragma symbols as long as they contain at least one @@%@@ character.
2015-09-19 06:49 by trijezdci -
Changed line 322 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words, predefined identifiers and pragmas as long as they contain at least one @@%@@ character.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragma symbols as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words, predefined identifiers and language pragma symbols as long as they contain at least one @@%@@ character.
2015-09-19 06:48 by trijezdci -
Changed line 322 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system, may use the @@%@@ character anywhere within superset specific reserved words and predefined identifiers.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system may define platform specific reserved words, predefined identifiers and pragmas as long as they contain at least one @@%@@ character.
2015-09-19 06:46 by trijezdci -
Changed line 322 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. For implementations that target the [=OpenVMS=] operating system, the @@%@@ character is reserved as a legal character of reserved words and predefined identifiers.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. Implementations that target the [=OpenVMS=] operating system, may use the @@%@@ character anywhere within superset specific reserved words and predefined identifiers.
2015-09-19 06:43 by trijezdci -
Changed line 322 from:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. For implementations that target the [=OpenVMS=] operating system, the @@%@@ character is reserved as a legal character within reserved words and identifiers.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. For implementations that target the [=OpenVMS=] operating system, the @@%@@ character is reserved as a legal character of reserved words and predefined identifiers.
2015-09-19 06:41 by trijezdci -
Changed lines 312-314 from:
||Objective[[<<]]Modula-2+++ \
||Special Symbols ||@@`@@ ||
||Reserved Words and&nbsp;Identifiers ||
@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
to:
||Objective[[<<]]Modula-2++ \
||Core Language ||@@`@@ @@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
Changed line 316 from:
||Reserved Words ||@@ALL@@ @@PARALLEL@@ @@SYNC@@ ||
to:
||Core Language ||@@ALL@@ @@PARALLEL@@ @@SYNC@@ ||
2015-09-19 06:36 by trijezdci -
Changed line 323 from:
An uncoordinated language superset is a compliant language superset for which no specific symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. For implementations that target the [=OpenVMS=] operating system, the @@%@@ character is reserved as a legal character within reserved words and identifiers.
to:
An uncoordinated language superset is a compliant language superset for which no reserved words, identifiers or pragma symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. For implementations that target the [=OpenVMS=] operating system, the @@%@@ character is reserved as a legal character within reserved words and identifiers.
2015-09-19 06:32 by trijezdci -
Changed lines 327-328 from:
 @TRY @CATCH (* universal superset specific reserved words *)
 [=%=]DESCR [=%=]IMMED (* [=OpenVMS=] superset specific reserved words *)
to:
 @TRY @CATCH (* possible reserved words of a language superset *)
 [=%=]DESCR [=%=]IMMED (* possible reserved words of an [=OpenVMS=] specific superset *)
2015-09-19 06:28 by trijezdci -
Changed lines 327-328 from:
 @@TRY @CATCH (* universal superset specific reserved words *)@
 @
[=%=]DESCR [=%=]IMMED (* [=OpenVMS=] superset specific reserved words *)@@
to:
 @TRY @CATCH (* universal superset specific reserved words *)
[=%=]DESCR [=%=]IMMED (* [=OpenVMS=] superset specific reserved words *)
2015-09-19 06:28 by trijezdci -
Changed line 328 from:
 @[=%=]DESCR [=%=]IMMED (* [=%=]OpenVMS[=%=] superset specific reserved words *)@@
to:
 @[=%=]DESCR [=%=]IMMED (* [=OpenVMS=] superset specific reserved words *)@@
2015-09-19 06:27 by trijezdci -
Changed lines 327-328 from:
[@ @TRY @CATCH (* universal superset specific reserved words *)@]
[@
%DESCR %IMMED (* OpenVMS superset specific reserved words *)@]
to:
 @@TRY @CATCH (* universal superset specific reserved words *)@
 @[=%=]DESCR [=%=]IMMED (* [=%=]OpenVMS[=%=] superset specific reserved words *)@@
2015-09-19 06:26 by trijezdci -
Changed lines 327-328 from:
 @@@TRY @CATCH (* superset specific reserved words *)@@
[@%DESCR %IMMED (* superset specific reserved words for OpenVMS *)@]
to:
[@ @TRY @CATCH (* universal superset specific reserved words *)@]
[
@ %DESCR %IMMED (* OpenVMS superset specific reserved words *)@]
2015-09-19 06:24 by trijezdci -
Changed line 328 from:
 @@%DESCR %IMMED (* superset specific reserved words for OpenVMS *)@@
to:
[@%DESCR %IMMED (* superset specific reserved words for OpenVMS *)@]
2015-09-19 06:23 by trijezdci -
Changed lines 323-331 from:
An uncoordinated language superset is a compliant language superset for which no specific symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they are prefixed with the @@@@@ mark.
to:
An uncoordinated language superset is a compliant language superset for which no specific symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they start with a single @@@@@ character. For implementations that target the [=OpenVMS=] operating system, the @@%@@ character is reserved as a legal character within reserved words and identifiers.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@@TRY @CATCH (* superset specific reserved words *)@@
 @@%DESCR %IMMED (* superset specific reserved words for OpenVMS *)@@
>><<

2015-09-19 06:18 by trijezdci -
Added lines 319-324:

[[#ExtensionSymbols]]
!!!!! Symbols Reserved for Uncoordinated Superset Use

An uncoordinated language superset is a compliant language superset for which no specific symbols are reserved. Such a superset may define any additional reserved words, predefined identifiers and language pragmas as long as they are prefixed with the @@@@@ mark.

2015-09-19 05:54 by trijezdci -
Changed line 314 from:
||Reserved Words[[<<]]and Identifiers ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
to:
||Reserved Words and&nbsp;Identifiers ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
2015-09-19 05:53 by trijezdci -
Changed line 314 from:
||Reserved Words and Identifiers ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
to:
||Reserved Words[[<<]]and Identifiers ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
2015-09-19 05:52 by trijezdci -
Changed line 312 from:
||Objective[[<<]]Modula-2++++ \
to:
||Objective[[<<]]Modula-2+++ \
2015-09-19 05:52 by trijezdci -
Changed lines 314-315 from:
||Reserved Words ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ ||
||Predefined Identifiers ||
@@NO@@ @@OBJECT@@ @@YES@@ ||
to:
||Reserved Words and Identifiers ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ @@NO@@ @@OBJECT@@ @@YES@@ ||
2015-09-19 05:40 by trijezdci -
Changed line 301 from:
||!Facility ||!Symbols Reserved for Use by Facility ||_______||
to:
||!Facility ||!Reserved Symbols ||_______||
Changed line 311 from:
||!Superset ||!Symbols Reserved for Use by Superset ||_______||
to:
||!Superset ||!Reserved Symbols ||_______||
2015-09-19 04:58 by trijezdci -
Changed lines 301-304 from:
||!Facility ||!Symbols Reserved for Use by Facility ||
||Symbolic Inline Assembler ||@@ASSEMBLER@@ @@ASM@@ @@REG@@ ||
||Future Use (Phase II Deliverables) ||@@ACTOR@@ @@PRIORITY@@ ||
to:
||!Facility ||!Symbols Reserved for Use by Facility ||_______||
||
Symbolic Inline Assembler ||@@ASSEMBLER@@ @@ASM@@ @@REG@@ ||_______||
||
Future Use (Phase II Deliverables) ||@@ACTOR@@ @@PRIORITY@@ ||_______||
Changed line 321 from:
||Single&#x2011;Pass[[<<]]Compilers ||Pragmas ||@@FORWARD@@ ||
to:
||Single&#x2011;Pass[[<<]]Compilers ||Pragmas ||@@FORWARD@@ ||
2015-09-19 04:50 by trijezdci -
Changed lines 306-307 from:
!!!!! Symbols Reserved for Use by Coordinated Language Supersets
to:
!!!!! Symbols Reserved for Coordinated Superset Use
Added line 320:
2015-09-19 04:46 by trijezdci -
Changed line 293 from:
!!!! Symbols Reserved for Language Extensions and Utilities
to:
!!!! Reserved Symbols
2015-09-19 04:46 by trijezdci -
Changed line 295 from:
Certain symbols are reserved for use by optional language facilities, language extensions and external source code processing utilities. Others are taboo or reserved for future use.
to:
Certain symbols are reserved for use by optional language facilities, language extensions and external source code processing utilities. Some are specifically reserved for future use.
2015-09-19 04:45 by trijezdci -
Changed line 295 from:
Although not part of the language itself, certain symbols are reserved for use by language extensions and external source code processing utilities. Others are taboo or reserved for possible future use.
to:
Certain symbols are reserved for use by optional language facilities, language extensions and external source code processing utilities. Others are taboo or reserved for future use.
2015-09-19 04:41 by trijezdci -
Changed line 298 from:
!!!!! Symbols Reserved for Optional and Future Language Facilities
to:
!!!!! Symbols Reserved for Optional and Future Use
2015-09-19 04:38 by trijezdci -
Changed line 298 from:
!!!!! Symbols Reserved for Optional Language Facilities
to:
!!!!! Symbols Reserved for Optional and Future Language Facilities
2015-09-19 04:37 by trijezdci -
Changed line 303 from:
||Phase II Deliverables ||@@ACTOR@@ @@PRIORITY@@ ||
to:
||Future Use (Phase II Deliverables) ||@@ACTOR@@ @@PRIORITY@@ ||
2015-09-19 04:34 by trijezdci -
Changed line 302 from:
||Pseudo-Module ASSEMBLER ||@@ASSEMBLER@@ @@ASM@@ @@REG@@ ||
to:
||Symbolic Inline Assembler ||@@ASSEMBLER@@ @@ASM@@ @@REG@@ ||
2015-09-19 04:31 by trijezdci -
Changed lines 297-305 from:
[[#ControlCodes]]
to:
[[#OptionalSymbols]]
!!!!! Symbols Reserved for Optional Language Facilities

|| class=headrow border=1 cellspacing=0 width=100%
||!Facility ||!Symbols Reserved for Use by Facility ||
||Pseudo-Module ASSEMBLER ||@@ASSEMBLER@@ @@ASM@@ @@REG@@ ||
||Phase II Deliverables ||@@ACTOR@@ @@PRIORITY@@ ||

[[#SupersetSymbols
]]
2015-09-19 04:08 by trijezdci -
Changed lines 312-313 from:
||Single-Pass[[<<]]Compilers ||Pragmas ||@@FORWARD@@ ||
to:
||Single&#x2011;Pass[[<<]]Compilers ||Pragmas ||@@FORWARD@@ ||
2015-09-19 04:06 by trijezdci -
Changed line 304 from:
||Objective Modula-2++++ \
to:
||Objective[[<<]]Modula-2++++ \
Changed line 309 from:
||Parallel Modula-2++ \
to:
||Parallel[[<<]]Modula-2++ \
Changed line 312 from:
||Single Pass Compilers ||Pragmas ||@@FORWARD@@ ||
to:
||Single-Pass[[<<]]Compilers ||Pragmas ||@@FORWARD@@ ||
2015-09-19 04:04 by trijezdci -
Added lines 309-312:
||Parallel Modula-2++ \
||Reserved Words ||@@ALL@@ @@PARALLEL@@ @@SYNC@@ ||
||Pragmas ||@@LOCAL@@ @@SPREAD@@ @@CYCLE@@ @@SBLOCK@@ @@CBLOCK@@ ||
||Single Pass Compilers ||Pragmas ||@@FORWARD@@ ||
2015-09-19 04:01 by trijezdci -
Changed line 306 from:
||Reserved Words ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ ||
to:
||Reserved Words ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL@@ @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ ||
2015-09-19 04:01 by trijezdci -
Changed lines 306-308 from:
||Reserved Words ||BYCOPY BYREF CLASS CONTINUE CRITICAL INOUT METHOD ON OPTIONAL OUT PRIVATE PROTECTED PROTOCOL PUBLIC TRY ||
||Predefined Identifiers ||NO OBJECT YES ||
||Pragmas ||ACTION FRAMEWORK OUTLET QUALIFIED  ||
to:
||Reserved Words ||@@BYCOPY@@ @@BYREF@@ @@CLASS@@ @@CONTINUE@@ @@CRITICAL@@ @@INOUT@@ @@METHOD@@ @@ON@@ @@OPTIONAL @@OUT@@ @@PRIVATE@@ @@PROTECTED@@ @@PROTOCOL@@ @@PUBLIC@@ @@TRY@@ ||
||Predefined Identifiers ||@@NO@@ @@OBJECT@@ @@YES@@ ||
||Pragmas ||@@ACTION@@ @@FRAMEWORK@@ @@OUTLET@@ @@QUALIFIED@@  ||
2015-09-19 03:58 by trijezdci -
Changed lines 303-304 from:
||!Superset ||!Symbols Reserved for Use by Superset||_______||
||IObjective Modula-2++++ \
to:
||!Superset ||!Symbols Reserved for Use by Superset ||_______||
||Objective Modula-2++++ \
2015-09-19 03:57 by trijezdci -
Added line 281:
[[#ControlCodes]]
Changed lines 290-309 from:
Any other control codes within a source file shall cause a compile time error. An unrecognised BOM shall cause a fatal compile time error. Encoding support other than ASCII and [=UTF8=] is implementation defined.
to:
Any other control codes within a source file shall cause a compile time error. An unrecognised BOM shall cause a fatal compile time error. Encoding support other than ASCII and [=UTF8=] is implementation defined.

[[#ReservedSymbols]]
!!!! Symbols Reserved for Language Extensions and Utilities

Although not part of the language itself, certain symbols are reserved for use by language extensions and external source code processing utilities. Others are taboo or reserved for possible future use.

[[#ControlCodes]]
!!!!! Symbols Reserved for Use by Coordinated Language Supersets

A coordinated language superset is a compliant language superset for whose exclusive use certain symbols are reserved. The reserved symbols of coordinated language supersets are listed below:

|| class=headrow border=1 cellspacing=0 width=100%
||!Superset ||!Symbols Reserved for Use by Superset||_______||
||IObjective Modula-2++++ \
||Special Symbols ||@@`@@ ||
||Reserved Words ||BYCOPY BYREF CLASS CONTINUE CRITICAL INOUT METHOD ON OPTIONAL OUT PRIVATE PROTECTED PROTOCOL PUBLIC TRY ||
||Predefined Identifiers ||NO OBJECT YES ||
||Pragmas ||ACTION FRAMEWORK OUTLET QUALIFIED  ||

2015-09-19 02:19 by trijezdci -
Changed line 207 from:
%silver% [[EBNF.NonTerminals#structuredValuel|'''EBNF''']] | [[SyntaxDiagrams.NonTerminals#structuredValuel|'''Syntax Diagram''']]%%
to:
%silver% [[EBNF.NonTerminals#structuredValue|'''EBNF''']] | [[SyntaxDiagrams.NonTerminals#structuredValue|'''Syntax Diagram''']]%%
2015-09-19 02:18 by trijezdci -
Added lines 140-141:
%silver% [[EBNF.Terminals#NumberLiteral|'''EBNF''']] | [[SyntaxDiagrams.Terminals#NumberLiteral|'''Syntax Diagram''']]%%
Added lines 193-194:
%silver% [[EBNF.Terminals#StringLiteral|'''EBNF''']] | [[SyntaxDiagrams.Terminals#StringLiteral|'''Syntax Diagram''']]%%
Added lines 207-208:
%silver% [[EBNF.NonTerminals#structuredValuel|'''EBNF''']] | [[SyntaxDiagrams.NonTerminals#structuredValuel|'''Syntax Diagram''']]%%
Added lines 238-239:
%silver% [[EBNF.IgnoreSymbols#LineComment|'''EBNF''']] | [[SyntaxDiagrams.IgnoreSymbols#LineComment|'''Syntax Diagram''']]%%
Added lines 252-253:
%silver% [[EBNF.IgnoreSymbols#BlockComment|'''EBNF''']] | [[SyntaxDiagrams.IgnoreSymbols#BlockComment|'''Syntax Diagram''']]%%
Added lines 265-266:

%silver% [[EBNF.Pragmas#pragma|'''EBNF''']] | [[SyntaxDiagrams.Pragmas#pragma|'''Syntax Diagram''']]%%
2015-09-19 02:11 by trijezdci -
Changed line 102 from:
%silver% [-[[EBNF.Terminals#Ident|'''EBNF''']] | [[SyntaxDiagrams.Terminals#Ident|'''Syntax Diagram''']]%%-]
to:
%silver% [[EBNF.Terminals#Ident|'''EBNF''']] | [[SyntaxDiagrams.Terminals#Ident|'''Syntax Diagram''']]%%
2015-09-19 02:11 by trijezdci -
Deleted line 97:
%silver% [-[[EBNF.Terminals#Ident|'''EBNF''']] | [[SyntaxDiagrams.Terminals#Ident|'''Syntax Diagram''']]%%-]
Added lines 101-102:

%silver% [-[[EBNF.Terminals#Ident|'''EBNF''']] | [[SyntaxDiagrams.Terminals#Ident|'''Syntax Diagram''']]%%-]
2015-09-19 02:10 by trijezdci -
Deleted line 98:
2015-09-19 02:09 by trijezdci -
Changed line 98 from:
%silver% &nbsp; [-[[EBNF.Terminals#Ident|EBNF]] | [[SyntaxDiagrams.Terminals#Ident|Syntax Diagram]]%%-]
to:
%silver% [-[[EBNF.Terminals#Ident|'''EBNF''']] | [[SyntaxDiagrams.Terminals#Ident|'''Syntax Diagram''']]%%-]
2015-09-19 02:07 by trijezdci -
Changed lines 96-97 from:
!!!! Identifiers \
%silver%
&nbsp; [-[[EBNF.Terminals#Ident|EBNF]]%%-]
to:
!!!! Identifiers

%silver%
&nbsp; [-[[EBNF.Terminals#Ident|EBNF]] | [[SyntaxDiagrams.Terminals#Ident|Syntax Diagram]]%%-]
2015-09-19 02:05 by trijezdci -
Changed lines 2-3 from:
!!! Character Sets
to:
!!!! Character Sets
Changed lines 7-8 from:
!!! Reserved Words
to:
!!!! Reserved Words
Changed lines 26-27 from:
!!! Schrödinger's Tokens
to:
!!!! Schrödinger's Tokens
Changed lines 43-44 from:
!!! Special Symbols
to:
!!!! Special Symbols
Changed lines 54-55 from:
!!!! Operators
to:
!!!!! Operators
Changed lines 61-62 from:
!!!! Punctuation
to:
!!!!! Punctuation
Changed lines 68-69 from:
!!!! Grouping Delimiters
to:
!!!!! Grouping Delimiters
Changed lines 75-76 from:
!!!! Quoted Text Delimiters
to:
!!!!! Quoted Text Delimiters
Changed lines 82-83 from:
!!!! Comment Delimiters
to:
!!!!! Comment Delimiters
Changed lines 89-90 from:
!!!! Pragma Punctuation and Delimiters
to:
!!!!! Pragma Punctuation and Delimiters
Changed line 96 from:
!!! Identifiers \
to:
!!!! Identifiers \
Changed lines 110-111 from:
!!! Reserved Identifiers
to:
!!!!! Reserved Identifiers
Changed lines 118-119 from:
!!! User-Definable Identifiers
to:
!!!!! User-Definable Identifiers
Changed lines 123-124 from:
!!! Literals
to:
!!!! Literals
Changed lines 131-132 from:
!!!! Numeric literals
to:
!!!!! Numeric literals
Changed lines 140-141 from:
!!!! Decimal Number Literals
to:
!!!!! Decimal Number Literals
Changed lines 152-153 from:
!!! Base-2 Number Literals
to:
!!!! Base-2 Number Literals
Changed lines 163-164 from:
!!! Base-16 Number Literals
to:
!!!! Base-16 Number Literals
Changed lines 174-175 from:
!!! Character Code Literals
to:
!!!! Character Code Literals
Changed lines 186-187 from:
!!! String Literals
to:
!!!! String Literals
Changed lines 198-199 from:
!!! Structured Literals
to:
!!!! Structured Literals
Changed lines 212-213 from:
!!! Non-Semantic Symbols
to:
!!!! Non-Semantic Symbols
Changed lines 220-221 from:
!!! Comments
to:
!!!!! Comments
Changed lines 227-228 from:
!!! Line Comments
to:
!!!!! Line Comments
Changed lines 239-240 from:
!!! Block Comments
to:
!!!!! Block Comments
Changed lines 249-250 from:
!!! Pragmas
to:
!!!!! Pragmas
Changed lines 262-263 from:
!!! Lexical Separators
to:
!!!! Lexical Separators
Changed line 268 from:
!!!! Control Codes
to:
!!!!! Control Codes
2015-09-19 02:01 by trijezdci -
Changed lines 96-97 from:
!!! Identifiers
to:
!!! Identifiers \
%silver% &nbsp; [-[[EBNF.Terminals#Ident|EBNF]]%%-]
2015-09-18 23:03 by trijezdci -
Changed line 57 from:
 @@+  -  *  *.  /  \  =  #  >  ><  <=  ==  ::  &@@
to:
 @@+  -  *  *.  /  \  =  #  <  <>  >=  ==  ::   ^  &@@
Changed line 64 from:
 @@.  ,  :  ;  |  ^  ~  +  *  ..  :=  ++  --  ->  <>  ><  +/-@@
to:
 @@.  ,  :  ;  |  ~  +  *  <  >  ..  :=  ++  --  ->  <>  ><  +/-@@
2015-09-18 22:53 by trijezdci -
Changed lines 51-52 from:
* [[#PragmaDelimiters|pragma affix and delimiters]]
to:
* [[#PragmaDelimiters|pragma punctuation and delimiters]]
Changed line 89 from:
!!!! Pragma Affix and Delimiters
to:
!!!! Pragma Punctuation and Delimiters
2015-09-18 16:35 by trijezdci -
Changed line 98 from:
Identifiers are names for syntactic entities in a program. The start with a letter, low-line or dollar sign, followed by any number and combination of letters, low-lines, dollar signs and digits.
to:
Identifiers are names for syntactic entities in a program. They start with a letter, low-line or dollar sign, followed by any number and combination of letters, low-lines, dollar signs and digits.
2015-09-18 16:15 by trijezdci -
Changed lines 222-223 from:
* line comments
* block comments
to:
* [[#LineComments|line comments]]
* [[#BlockComments|block comments]]
2015-09-18 16:13 by trijezdci -
Changed line 113 from:
* [[@DualUseIdents|Schrödinger's tokens]]
to:
* [[#DualUseIdents|Schrödinger's tokens]]
2015-09-18 16:12 by trijezdci -
Changed lines 28-29 from:
Schrödinger's tokens are symbols that may either be used as reserved words or as identifiers, depending on context. There are 32 Schrödinger's tokens:
to:
Schrödinger's tokens are symbols that may either be used as reserved words or as [[#Identifiers|identifiers]], depending on context. There are 32 Schrödinger's tokens:
Changed lines 46-52 from:
* operators
* punctuation
* grouping delimiters
* quoted text delimiters
* comment delimiters
* pragma affix and delimiters
to:
* [[#Operators|operators]]
* [[#Punctuation|punctuation]]
* [[#GroupingDelimiters|grouping delimiters]]
* [[#TextDelimiters|quoted text delimiters]]
* [[#CommentDelimiters|comment delimiters]]
* [[#PragmaDelimiters|pragma affix and delimiters]]
Changed line 113 from:
* Schrödinger's tokens
to:
* [[@DualUseIdents|Schrödinger's tokens]]
Changed lines 214-216 from:
* comments
* pragmas
* lexical separators
to:
* [[#Comments|comments]]
* [[#Pragmas|pragmas]]
* [[#LexicalSeparators|lexical separators]]
2015-09-18 16:05 by trijezdci -
Changed line 250 from:
Pragmas are in-source directives to control or influence the compilation process but they do not change the meaning of the program. They consist of a pragma body enclosed in opening @@<*@@ and closing @@*>@@ pragma delimiters.
to:
Pragmas are in-source compiler directives to control or influence the compilation process but they do not change the meaning of the program. They consist of a pragma body enclosed in opening @@<*@@ and closing @@*>@@ pragma delimiters.
2015-09-18 16:04 by trijezdci -
Changed line 228 from:
Line comments start with a @@!@@ symbol at the first column of a line and terminate at the end of the same line. They are intended for in-source documentation.
to:
Line comments start with a @@!@@ symbol at the first column of a line and terminate at the end of the same line. They are intended for in-source documentation, for example in combination with documentation generators.
2015-09-18 16:00 by trijezdci -
Changed line 57 from:
 @@+  -  *  *.  /  \  =  #  >  ><  <=  ==  ::  &@@
to:
 @@+  -  *  *.  /  \  =  #  >   >=  <  <=  ==  ::   &@@
Changed line 64 from:
 @@.  ,  :  ;  |  ^  ~  +  *  ..  :=  ++  --  ->  <>  ><  +/-@@
to:
 @@.  ,  :  ;  |  ^  ~  +  *  ..   :=  ++  --  ->  <>  ><   +/-@@
Changed line 71 from:
 @@(  )  [  ]  {  }@@
to:
 @@(  )  ]   {  }@@
Changed line 78 from:
 @@'  "  <<  >>@@
to:
 @@'   "   <<  >>@@
Changed line 85 from:
 @@!  (*  *)@@
to:
 @@!   (*  *)@@
Changed line 92 from:
 @@?  <*  *>@@
to:
 @@?   <*  *>@@
2015-09-18 15:58 by trijezdci -
Changed lines 54-55 from:
!!! Operators
to:
!!!! Operators
Changed lines 61-62 from:
!!! Punctuation
to:
!!!! Punctuation
Changed lines 68-69 from:
!!! Grouping Delimiters
to:
!!!! Grouping Delimiters
Changed lines 75-76 from:
!!! Quoted Text Delimiters
to:
!!!! Quoted Text Delimiters
Changed lines 82-83 from:
!!! Comment Delimiters
to:
!!!! Comment Delimiters
Changed line 89 from:
!!! Pragma Affix and Delimiters
to:
!!!! Pragma Affix and Delimiters
2015-09-18 15:57 by trijezdci -
Changed line 45 from:
Special symbols are symbols that consist of one, two or three non-alphanumeric quotable characters, are visible in any scope, have special meaning in the language and may not be redefined. They fall into four categories:
to:
Special symbols are symbols that consist of one, two or three non-alphanumeric quotable characters, are visible in any scope, have special meaning in the language and may not be redefined. They fall into six categories:
Added lines 50-51:
* comment delimiters
* pragma affix and delimiters
2015-09-18 15:56 by trijezdci -
Added lines 6-41:
[[#ResWords]]
!!! Reserved Words

Reserved words are symbols that consist of a sequence of all-uppercase letters, are visible in any scope, have special meaning in the language and may not be redefined. There are 50 reserved words:

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
|| border=0 cellpadding=0 width=90%
 ALIAS          DEFINITION      GENLIB          NOT            RETAIN
 AND            DIV            IF              OF              RETURN
 ARGLIST        DO              IMPLEMENTATION  OPAQUE          SET
 ARRAY          ELSE            IMPORT          OR              THEN
 BEGIN          ELSIF          IN              POINTER        TO
 BLUEPRINT      END            LOOP            PROCEDURE      TYPE
 BY              ENUM            MOD            RECORD          UNTIL
 CASE            EXIT            MODULE          REFERENTIAL    VAR
 CONST          FOR            NEW            RELEASE        WHILE
 COPY            FROM            NONE            REPEAT          YIELD
>><<

[[#DualUseIdents]]
!!! Schrödinger's Tokens

Schrödinger's tokens are symbols that may either be used as reserved words or as identifiers, depending on context. There are 32 Schrödinger's tokens:

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
|| border=0 cellpadding=0 width=90%
 ABS            INSERT          STORE          TMAX            VAL
 ADDRESS        LENGTH          SUBSET          TMIN            VALUE
 APPEND          OCTET          SXF            TORDERED        WRITE
 CAST            READ            TDYN            TREFC          WRITEF
 COUNT          READNEW        TFLAGS          TSCALAR
 COROUTINE      REMOVE          TLIMIT          TSORTED
 EXISTS          SEEK            TLITERAL        UNSAFE
>><<

Changed lines 45-132 from:
|| class=headrow border=1 cellspacing=0 width=90%
||!Category ||!Symbol ||!Usage ||!Lexical Scope ||
||Intra-Literal++++ \
||[@ \ @]    ||Escape Prefix for LF and TAB ||Within Quoted Literals ||
||[@ ' @]      ||Digit Separator ||Within Number Literals ||
||[@ . @]      ||Decimal Point  ||Within Real Number Literals++ ||
||[@ + - @] ||Exponent Sign  ||
||Special [[<<]]Operators+++ \
||[@ :: @]    ||Type Conversion ||Within Expressions ||
||[@ == @]  ||Identity Test ||Within ADT Expressions ||
||[@ & @]    ||Array, List and String Concatenation ||Within Array, List and String Expressions ||
||Arithmetic [[<<]]Operators+++++ \
||[@ + @]    ||Unary Plus, Addition ||Within Arithmetic Expressions+++++ ||
||[@ - @]    ||Unary Minus, Subtraction ||
||[@ * @]    ||Multiplication ||
||[@ / @]    ||Real Division ||
||[@ *. @]    ||Dot Product ||
||Relational [[<<]]Operators++++++ \
||[@ = @]    ||Equality Test ||Within Arithmetic Expressions++++++ ||
||[@ # @]    ||Inequality Test ||
||[@ > @]    ||Greater-Than Test ||
||[@ >= @]    ||Greater-Or-Equal Test ||
||[@ < @]    ||Less-Than Test ||
||[@ <= @]    ||Less-Or-Equal Test ||
||Set [[<<]]Operators++++++++ \
||[@ + @]    ||Set Union ||Within Set Expressions++++++++ ||
||[@ \ @]    ||Set Difference ||
||[@ * @]    ||Set Intersection ||
||[@ / @]    ||Symmetric Set Difference ||
||[@ > @]    ||Proper Superset Test ||
||[@ >= @]  ||Superset Test ||
||[@ < @]    ||Proper Subset Test ||
||[@ <= @]  ||Subset Test ||
||Special Syntax+++++++++++ \
||[@ + @]    ||Re-Export Suffix, Enumeration Extension Prefix ||  ||
||[@ * @]    ||Wildcard Import Suffix, Restricted Export Prefix ||  ||
||[@ := @]    ||Assignment ||  ||
||[@ ++ @]    ||Increment Statement Suffix, FOR Loop Ascender ||  ||
||[@ -- @]    ||Decrement Statement Suffix, FOR Loop Descender ||  ||
||[@ .. @]    ||Subrange Constructor, Slice Range Specifier ||  ||
||[@ ^ @]    ||Pointer Dereferencing Suffix ||  ||
||[@ -> @]    ||One-Way Dependency ||Blueprint  ||
||[@ <> @]    ||Mutual Dependency Constraint ||Blueprint  ||
||[@ >< @]    ||Mutual Exclusion Constraint ||Blueprint  ||
||[@ +/- @]    ||Unary Minus Binding Specifier ||Blueprint  ||
||Punctuation+++++++ \
||[@ . @]++ ||Name Separator ||Within Qualified Identifier ||
||Module Terminator ||End of Module ||
||[@ , @]    ||Item Separator ||Within Item List ||
||[@ ; @]    ||List Separator ||Within Declaration and Statement Sequences ||
||[@ : @]    ||Head Body Separator ||Within Declarations and Formal Parameters ||
||[@ | @]++ ||Case Label Prefix ||Within Case Label List ||
||Terminator Prefix ||Within Formal Parameters ||
||Delimiters+++++ \
||[@ '  " @] ||Quoted String Literal Delimiters ||Within Expressions ||
||[@ (  ) @] ||Expression Grouping, Parameter List Delimiters ||Within Expressions, Procedure Headers ||
||[@ {  } @] ||Structured Value Delimiters ||Within Expressions, Formal Parameters ||
||[@ [  ] @] ||Array Index, Subrange and Slice Delimiters ||Within Expressions ||
||[@ <<  >> @] ||Replacement Text Delimiters ||Within Library Generation Directive ||
||Comments++ \
||[@ ! @] ||Line Comment Prefix ||At First Column of Any Line ||
||[@ (*  *) @] ||Block Comment Delimiters ||Anywhere Before or After a Token ||
||Pragmas++ \
||[@ ? @] ||Value Pragma Query Prefix ||Within Message Pragma ||
||[@ <*  *> @] ||Pragma Delimiters ||Before or After Certain Tokens ||

[[#Literals]]
!!! Literals

There are three types of literals:
* [[#NumericLiterals|numeric literals]]
* [[#StringLiterals|string literals]]
* [[#StructuredLiterals|structured literals]]

[[#NumericLiterals]]
!!!! Numeric literals

Numeric literals represent a numeric compile time value. There are four types:
* [[#DecimalNumberLiterals|decimal number literals]]
* [[#Base2NumberLiterals|base-2 number literals]]
* [[#Base16NumberLiterals|base-16 number literals]]
* [[#CharCodeLiterals|character code literals]]

[[#DecimalNumberLiterals]]
!!!! Decimal Number Literals

Decimal number literals represent decimal whole and real numbers. They are comprised of a mandatory integral part followed by an optional fractional part followed by an optional exponent. Integral and fractional part are separated by a decimal point. Fractional part and exponent are separated by the exponent prefix [@e@] followed by an optional sign. Integral part, fractional part and exponent are comprised of a non-empty sequence of decimal digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

to:
Special symbols are symbols that consist of one, two or three non-alphanumeric quotable characters, are visible in any scope, have special meaning in the language and may not be redefined. They fall into four categories:
* operators
* punctuation
* grouping delimiters
* quoted text delimiters

[[#Operators]]
!!! Operators

Changed lines 55-58 from:
'''Examples:'''
@@0, 42, 12300, 32767 (* whole numbers *)@@
 @@0.0, 3.1415, 7.531e+12 (* real numbers *)@@
 @@1'234'500'000, 0.987'654'321e+99 (* with digit separators *)
@@
to:
 @@+  - *  *.  /  \  =  #  >  >=  <  <=  ==  ::  &@@
Changed lines 58-62 from:
[[#Base2NumberLiterals]]
!!! Base-2 Number Literals

Base-2 number literals represent whole numbers in base-2 notation. They are comprised of base-2 number prefix [@0b@] followed by a non-empty sequence of base-2 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

to:
[[#Punctuation]]
!!! Punctuation
Changed lines 62-64 from:
'''Examples:'''
@@0b0110 (* without digit separator *)@@
 @@0b1111'0000'0101'0011 (* with digit separators
*)@@
to:
 @@.  ,  :  ;  |  ^  ~  +  *  ..  :=  ++  --  ->  <>  ><  +/-@@
Changed lines 65-69 from:
[[#Base16NumberLiterals]]
!!! Base-16 Number Literals

Base-16 number literals represent whole numbers in base-16 notation. They are comprised of base-16 number prefix [@0x@] followed by a non-empty sequence of base-16 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

to:
[[#GroupingDelimiters]]
!!! Grouping Delimiters
Changed lines 69-71 from:
'''Examples:'''
@@0x80, 0xFF, 0xCAFED00D (* without digit separator *)@@
 @@0x00'00'FF'FF, 0xDEAD'BEEF (* with digit separators *)
@@
to:
 @@(  )  [  ]  {  }@@
Changed lines 72-76 from:
[[#CharCodeLiterals]]
!!! Character Code Literals

Character code literals represent Unicode code points in base-16 notation. They are comprised of Unicode prefix [@0u@] followed by a non-empty sequence of base-16 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

to:
[[#TextDelimiters]]
!!! Quoted Text Delimiters
Changed lines 76-79 from:
'''Examples:'''
 @@0u7F (* DEL *)@@
 @@0uA9 (* copyright *)@@
 @@0u20'AC (* Euro currency sign *)
@@
to:
 @@"  <<  >>@@
Changed lines 79-83 from:
[[#StringLiterals]]
!!! String Literals

String literals are sequences of quotable characters and optional escape sequences, enclosed in single quotes or double quotes. String literals may not contain any control code characters.

to:
[[#CommentDelimiters]]
!!! Comment Delimiters
Changed lines 83-86 from:
'''Examples:'''
@@"it's nine o'clock"@@
 @@'he said "Modula-2" and smiled'@@
 @@"this is the end of the line\n"
@@
to:
 @@!  (*  *)@@
Changed lines 86-90 from:
[[#StructuredLiterals]]
!!! Structured Literals

Structured literals are compound values consisting of zero or more terminal symbols, enclosed in braces. Structured literals may be nested.

to:
[[#PragmaDelimiters]]
!!! Pragma Affix and Delimiters
Changed lines 90-94 from:
'''Examples:'''
@@{ 1, 2, 3 }@@
 @@{ "a", "b", "c" }@@
 @@{ 1 .. 5 }  (* equivalent to: *)  { 1, 2, 3, 4, 5 }@@
 @@{ 0 BY 5 }  (* equivalent to: *)  { 0, 0, 0, 0, 0 }
@@
to:
 @@?  <*  *>@@
Changed lines 93-97 from:
[[#ResWords]]
!!! Reserved Words

Reserved words are symbols that consist of
a sequence of all-uppercase letters, are visible in any scope, have special meaning in the language and may not be redefined. There are 50 reserved words:
to:
[[#Identifiers]]
!!! Identifiers

Identifiers are names for syntactic entities in
a program. The start with a letter, low-line or dollar sign, followed by any number and combination of letters, low-lines, dollar signs and digits.

The use of the low-line and dollar sign within identifiers is permitted in support of environments and platforms where they are an integral part of the naming convention, for instance when writing components for or mapping to operating system [=APIs=] that use them. However, such an identifier must also contain at least one letter or digit. A non-conformant identifier shall cause a compile time error. The definition of an identifier in a foreign API style shall cause a soft compile time warning. However, the warning may be automatically silenced when @@FFI@@ of module @@UNSAFE@@ is imported into the scope of the compiling module.

Changed lines 101-111 from:
|| border=0 cellpadding=0 width=90%
 ALIAS
           DEFINITION      GENLIB         NOT            RETAIN
 AND            DIV            IF              OF              RETURN
 ARGLIST        DO              IMPLEMENTATION  OPAQUE          SET
 ARRAY          ELSE            IMPORT          OR              THEN
 BEGIN          ELSIF          IN              POINTER        TO
 BLUEPRINT      END            LOOP            PROCEDURE      TYPE
 BY              ENUM            MOD            RECORD          UNTIL
 CASE            EXIT            MODULE          REFERENTIAL    VAR
 CONST          FOR            NEW            RELEASE        WHILE
 COPY            FROM            NONE            REPEAT          YIELD
to:
'''Examples:'''
 @@(* Modula-2 style *)
  Foo, setBar, getBaz, Str80, Matrix8x4, FOOBAR@@
 @@(* Foreign API styles *)
  _foo, __bar, __baz__, foo_bar_123, $foo, sys$foo, SYS$BAR@@
Deleted lines 105-133:
[[#DualUseIdents]]
!!! Schrödinger's Tokens

Schrödinger's tokens are symbols that may either be used as reserved words or as identifiers, depending on context. There are 32 Schrödinger's tokens:

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
|| border=0 cellpadding=0 width=90%
 ABS            INSERT          STORE          TMAX            VAL
 ADDRESS        LENGTH          SUBSET          TMIN            VALUE
 APPEND          OCTET          SXF            TORDERED        WRITE
 CAST            READ            TDYN            TREFC          WRITEF
 COUNT          READNEW        TFLAGS          TSCALAR
 COROUTINE      REMOVE          TLIMIT          TSORTED
 EXISTS          SEEK            TLITERAL        UNSAFE
>><<

[[#Identifiers]]
!!! Identifiers

Identifiers are names for syntactic entities in a program. The start with a letter, low-line or dollar sign, followed by any number and combination of letters, low-lines, dollar signs and digits.

The use of the low-line and dollar sign within identifiers is permitted in support of environments and platforms where they are an integral part of the naming convention, for instance when writing components for or mapping to operating system [=APIs=] that use them. However, such an identifier must also contain at least one letter or digit. A non-conformant identifier shall cause a compile time error. The definition of an identifier in a foreign API style shall cause a soft compile time warning. However, the warning may be automatically silenced when @@FFI@@ of module @@UNSAFE@@ is imported into the scope of the compiling module.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@(* Modula-2 style *)  Foo, setBar, getBaz, Str80, Matrix8x4, FOOBAR@@
 @@(* Foreign API styles *)  _foo, __bar, __baz__, foo_bar_123, $foo, sys$foo, SYS$BAR@@
>><<

Added lines 118-206:

[[#Literals]]
!!! Literals

There are three types of literals:
* [[#NumericLiterals|numeric literals]]
* [[#StringLiterals|string literals]]
* [[#StructuredLiterals|structured literals]]

[[#NumericLiterals]]
!!!! Numeric literals

Numeric literals represent a numeric compile time value. There are four types:
* [[#DecimalNumberLiterals|decimal number literals]]
* [[#Base2NumberLiterals|base-2 number literals]]
* [[#Base16NumberLiterals|base-16 number literals]]
* [[#CharCodeLiterals|character code literals]]

[[#DecimalNumberLiterals]]
!!!! Decimal Number Literals

Decimal number literals represent decimal whole and real numbers. They are comprised of a mandatory integral part followed by an optional fractional part followed by an optional exponent. Integral and fractional part are separated by a decimal point. Fractional part and exponent are separated by the exponent prefix [@e@] followed by an optional sign. Integral part, fractional part and exponent are comprised of a non-empty sequence of decimal digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@0, 42, 12300, 32767 (* whole numbers *)@@
 @@0.0, 3.1415, 7.531e+12 (* real numbers *)@@
 @@1'234'500'000, 0.987'654'321e+99 (* with digit separators *)@@
>><<

[[#Base2NumberLiterals]]
!!! Base-2 Number Literals

Base-2 number literals represent whole numbers in base-2 notation. They are comprised of base-2 number prefix [@0b@] followed by a non-empty sequence of base-2 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@0b0110 (* without digit separator *)@@
 @@0b1111'0000'0101'0011 (* with digit separators *)@@
>><<

[[#Base16NumberLiterals]]
!!! Base-16 Number Literals

Base-16 number literals represent whole numbers in base-16 notation. They are comprised of base-16 number prefix [@0x@] followed by a non-empty sequence of base-16 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@0x80, 0xFF, 0xCAFED00D (* without digit separator *)@@
 @@0x00'00'FF'FF, 0xDEAD'BEEF (* with digit separators *)@@
>><<

[[#CharCodeLiterals]]
!!! Character Code Literals

Character code literals represent Unicode code points in base-16 notation. They are comprised of Unicode prefix [@0u@] followed by a non-empty sequence of base-16 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@0u7F (* DEL *)@@
 @@0uA9 (* copyright *)@@
 @@0u20'AC (* Euro currency sign *)@@
>><<

[[#StringLiterals]]
!!! String Literals

String literals are sequences of quotable characters and optional escape sequences, enclosed in single quotes or double quotes. String literals may not contain any control code characters.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@"it's nine o'clock"@@
 @@'he said "Modula-2" and smiled'@@
 @@"this is the end of the line\n"@@
>><<

[[#StructuredLiterals]]
!!! Structured Literals

Structured literals are compound values consisting of zero or more terminal symbols, enclosed in braces. Structured literals may be nested.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@{ 1, 2, 3 }@@
 @@{ "a", "b", "c" }@@
 @@{ 1 .. 5 }  (* equivalent to: *)  { 1, 2, 3, 4, 5 }@@
 @@{ 0 BY 5 }  (* equivalent to: *)  { 0, 0, 0, 0, 0 }@@
>><<

2015-09-18 15:24 by trijezdci -
Added line 167:
Added line 186:
2015-09-18 15:23 by trijezdci -
Changed line 182 from:
!!! Schrödinger's tokens
to:
!!! Schrödinger's Tokens
2015-09-18 15:21 by trijezdci -
Added lines 179-193:
>><<

[[#DualUseIdents]]
!!! Schrödinger's tokens

Schrödinger's tokens are symbols that may either be used as reserved words or as identifiers, depending on context. There are 32 Schrödinger's tokens:
>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
|| border=0 cellpadding=0 width=90%
 ABS            INSERT          STORE          TMAX            VAL
 ADDRESS        LENGTH          SUBSET          TMIN            VALUE
 APPEND          OCTET          SXF            TORDERED        WRITE
 CAST            READ            TDYN            TREFC          WRITEF
 COUNT          READNEW        TFLAGS          TSCALAR
 COROUTINE      REMOVE          TLIMIT          TSORTED
 EXISTS          SEEK            TLITERAL        UNSAFE
2015-09-18 15:07 by trijezdci -
Deleted line 166:
Deleted line 197:
Deleted line 210:
Deleted line 218:
Changed line 241 from:
 @@IF (* no match found *) this^.next = NIL THEN (* comment (* nested comment *) *)@@
to:
 @@IF (* no match found *) this^.next = NIL THEN (* comment (* nested comment *) *) ...@@
Deleted line 260:
Deleted line 266:
2015-09-18 15:03 by trijezdci -
Changed line 278 from:
Any other control codes within a source file shall cause a compile time error. An unrecognised BOM shall cause a fatal compile time error. Encoding support other than ASCII and UTF8 is implementation defined.
to:
Any other control codes within a source file shall cause a compile time error. An unrecognised BOM shall cause a fatal compile time error. Encoding support other than ASCII and [=UTF8=] is implementation defined.
2015-09-18 15:02 by trijezdci -
Changed line 276 from:
* @@UTF8-BOM@@ denoting code sequence @@{ 9uEF, 0uBB, 0uBF }@@ but permitted only at the very beginning of a file.
to:
* [@UTF8-BOM@] denoting code sequence @@{ 9uEF, 0uBB, 0uBF }@@ but permitted only at the very beginning of a file.
2015-09-18 15:02 by trijezdci -
Added lines 261-278:
[[#LexicalSeparators]]
!!! Lexical Separators

Lexical separators terminate a numeric literal, identifier, reserved word or a pragma symbol. There are two kinds.

* Whitespace
* Control Codes

!!!! Control Codes

The following control codes may appear within Modula-2 source text but not within string literals:

* @@TAB@@ denoting horizontal tabulator code @@0u9@@
* @@LF@@ denoting line feed code @@0uA@@
* @@CR@@ denoting carriage return code @@0uD@@
* @@UTF8-BOM@@ denoting code sequence @@{ 9uEF, 0uBB, 0uBF }@@ but permitted only at the very beginning of a file.

Any other control codes within a source file shall cause a compile time error. An unrecognised BOM shall cause a fatal compile time error. Encoding support other than ASCII and UTF8 is implementation defined.
2015-09-18 14:54 by trijezdci -
Changed line 258 from:
 @@<*GM2.UnrollLoops=FALSE|WARN*> (* implementation defined pragma *)@@
to:
 [@<*GM2.UnrollLoops=FALSE|WARN*> (* implementation defined pragma *)@]
2015-09-18 14:54 by trijezdci -
Added lines 247-260:

[[#Pragmas]]
!!! Pragmas

Pragmas are in-source directives to control or influence the compilation process but they do not change the meaning of the program. They consist of a pragma body enclosed in opening @@<*@@ and closing @@*>@@ pragma delimiters.

A pragma body consists of a non-empty token sequence whose syntax is defined by the pragma grammar. Whitespace, tabulator and line breaks may occur between tokens within a pragma, but comments are not permitted. A comment delimiter within a pragma shall cause a compile time error. There are language defined and optional implementation defined pragmas.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@<*ALIGN=TSIZE(LONGCARD)*> (* language defined pragma *)@@
 @@<*GM2.UnrollLoops=FALSE|WARN*> (* implementation defined pragma *)@@
>><<

2015-09-18 14:44 by trijezdci -
Changed lines 229-230 from:
Line comments start with a @@!@@ symbol at the first column of a line and terminate at the end of the same line.
to:
Line comments start with a @@!@@ symbol at the first column of a line and terminate at the end of the same line. They are intended for in-source documentation.
Deleted lines 246-249:



2015-09-18 14:41 by trijezdci -
Changed line 245 from:
 @@ IF (* no match found *) this^.next = NIL THEN (* comment (* nested comment *) *)@@
to:
 @@IF (* no match found *) this^.next = NIL THEN (* comment (* nested comment *) *)@@
2015-09-18 14:41 by trijezdci -
Added line 243:
>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
2015-09-18 14:40 by trijezdci -
Changed lines 202-248 from:
* all-uppercase identifiers of pseudo-modules including their module identifiers
to:
* all-uppercase identifiers of standard pseudo-modules including their module identifiers

[[#UserDefIdents]]
!!! User-Definable Identifiers

Identifiers that do not coincide with reserved identifiers may be defined or redefined in any scope of a program or library module.

[[#NonSemanticSymbols]]
!!! Non-Semantic Symbols

Non-semantic symbols are symbols that do not impact the meaning of a program. They may occur anywhere in a program before or after semantic symbols but not within them. There are three types:

* comments
* pragmas
* lexical separators

[[#Comments]]
!!! Comments

Comments are ignored by a compiler but are for annotation and documentation. There are two kinds:

* line comments
* block comments

[[#LineComments]]
!!! Line Comments

Line comments start with a @@!@@ symbol at the first column of a line and terminate at the end of the same line.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@! Special documentation tags for Doxygen:@@
 @@!! @brief Modula-2 Standard Library@@
 @@!! @authors B.Kowarsch & R.Sutcliffe@@
>><<

[[#BlockComments]]
!!! Block Comments

Block comments are delimited by opening @@(*@@ and closing @@*)@@ comment delimiters. They are intended for annotating source code. They may span multiple lines and they may be nested but in order to ensure portability of source code, a language defined arbitrary nesting limit of ten including the outermost comment is imposed. A compile time error shall occur if this limit is exceeded.

'''Examples:'''
 @@ IF (* no match found *) this^.next = NIL THEN (* comment (* nested comment *) *)@@
>><<


2015-09-18 14:27 by trijezdci -
Changed lines 202-203 from:
* module identifiers of pseudo-modules
*
to:
* all-uppercase identifiers of pseudo-modules including their module identifiers
2015-09-18 14:15 by trijezdci -
Added lines 195-203:
[[#ResIdents]]
!!! Reserved Identifiers

Reserved identifiers are language defined identifiers that may not be redefined. Reserved are:

* predefined identifiers
* Schrödinger's tokens
* module identifiers of pseudo-modules
*
2015-09-18 13:41 by trijezdci -
Changed line 187 from:
The use of the low-line and dollar sign within identifiers is permitted in support of environments and platforms where they are an integral part of the naming convention, for instance when writing components for or mapping to operating system [=APIs=] that use them. However, such an identifier must also contain at least one letter or digit. A non-conformant identifier shall cause a compile time error. The definition of an identifier in a foreign API style shall cause a soft compile time warning. The warning may be automatically silences when @@FFI@@ of module @@UNSAFE@@ is imported into the scope of the compiling module.
to:
The use of the low-line and dollar sign within identifiers is permitted in support of environments and platforms where they are an integral part of the naming convention, for instance when writing components for or mapping to operating system [=APIs=] that use them. However, such an identifier must also contain at least one letter or digit. A non-conformant identifier shall cause a compile time error. The definition of an identifier in a foreign API style shall cause a soft compile time warning. However, the warning may be automatically silenced when @@FFI@@ of module @@UNSAFE@@ is imported into the scope of the compiling module.
2015-09-18 13:40 by trijezdci -
Added lines 180-192:
>><<

[[#Identifiers]]
!!! Identifiers

Identifiers are names for syntactic entities in a program. The start with a letter, low-line or dollar sign, followed by any number and combination of letters, low-lines, dollar signs and digits.

The use of the low-line and dollar sign within identifiers is permitted in support of environments and platforms where they are an integral part of the naming convention, for instance when writing components for or mapping to operating system [=APIs=] that use them. However, such an identifier must also contain at least one letter or digit. A non-conformant identifier shall cause a compile time error. The definition of an identifier in a foreign API style shall cause a soft compile time warning. The warning may be automatically silences when @@FFI@@ of module @@UNSAFE@@ is imported into the scope of the compiling module.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@(* Modula-2 style *)  Foo, setBar, getBaz, Str80, Matrix8x4, FOOBAR@@
 @@(* Foreign API styles *)  _foo, __bar, __baz__, foo_bar_123, $foo, sys$foo, SYS$BAR@@
2015-09-18 13:28 by trijezdci -
Changed line 172 from:
 ARGLIST        DO              IMPLEMENTATION   OPAQUE          SET
to:
 ARGLIST        DO              IMPLEMENTATION  OPAQUE          SET
2015-09-18 13:27 by trijezdci -
Changed lines 170-179 from:
 ALIAS           DEFINITION       GENLIB           NOT             RETAIN
 AND             DIV             IF               OF               RETURN
 ARGLIST         DO               IMPLEMENTATION  OPAQUE           SET
 ARRAY           ELSE             IMPORT           OR               THEN
 BEGIN           ELSIF           IN               POINTER         TO
 BLUEPRINT       END             LOOP             PROCEDURE       TYPE
 BY               ENUM             MOD             RECORD           UNTIL
 CASE             EXIT             MODULE           REFERENTIAL     VAR
 CONST           FOR             NEW             RELEASE         WHILE
 COPY             FROM             NONE             REPEAT           YIELD
to:
 ALIAS          DEFINITION      GENLIB          NOT            RETAIN
 AND            DIV            IF              OF              RETURN
 ARGLIST        DO              IMPLEMENTATION  OPAQUE          SET
 ARRAY          ELSE            IMPORT          OR              THEN
 BEGIN          ELSIF          IN              POINTER        TO
 BLUEPRINT      END            LOOP            PROCEDURE      TYPE
 BY              ENUM            MOD            RECORD          UNTIL
 CASE            EXIT            MODULE          REFERENTIAL    VAR
 CONST          FOR            NEW            RELEASE        WHILE
 COPY            FROM            NONE            REPEAT          YIELD
2015-09-18 13:26 by trijezdci -
Changed lines 170-179 from:
 ||'''ALIAS''' ||'''DEFINITION''' ||'''GENLIB''' ||'''NOT''' ||'''RETAIN''' ||
 ||'''AND''' ||'''DIV''' ||'''IF''' ||'''OF''' ||'''RETURN''' ||
||'''ARGLIST''' ||'''DO''' ||'''IMPLEMENTATION''' ||'''OPAQUE''' ||'''SET''' ||
||'''ARRAY''' ||'''ELSE''' ||'''IMPORT''' ||'''OR''' ||'''THEN''' ||
||'''BEGIN''' ||'''ELSIF''' ||'''IN''' ||'''POINTER''' ||'''TO''' ||
||'''BLUEPRINT''' ||'''END''' ||'''LOOP''' ||'''PROCEDURE''' ||'''TYPE''' ||
||'''BY''' ||'''ENUM''' ||'''MOD''' ||'''RECORD''' ||'''UNTIL''' ||
||'''CASE''' ||'''EXIT''' ||'''MODULE''' ||'''REFERENTIAL''' ||'''VAR''' ||
||'''CONST''' ||'''FOR''' ||'''NEW''' ||'''RELEASE''' ||'''WHILE''' ||
||'''COPY''' ||'''FROM''' ||'''NONE''' ||'''REPEAT''' ||'''YIELD''' ||
to:
 ALIAS            DEFINITION      GENLIB          NOT              RETAIN
 AND
             DIV              IF              OF              RETURN
 ARGLIST          DO              IMPLEMENTATION  OPAQUE          SET
 ARRAY            ELSE            IMPORT          OR              THEN
 BEGIN            ELSIF            IN              POINTER          TO
 BLUEPRINT        END              LOOP            PROCEDURE        TYPE
 BY              ENUM            MOD              RECORD          UNTIL
 CASE            EXIT            MODULE          REFERENTIAL      VAR
 CONST            FOR              NEW              RELEASE          WHILE
 COPY            FROM            NONE            REPEAT          YIELD
2015-09-18 13:15 by trijezdci -
Changed lines 170-171 from:
||'''ALIAS''' ||'''DEFINITION''' ||'''GENLIB''' ||'''NOT''' ||'''RETAIN''' ||
||'''AND''' ||'''DIV''' ||'''IF''' ||'''OF''' ||'''RETURN''' ||
to:
 ||'''ALIAS''' ||'''DEFINITION''' ||'''GENLIB''' ||'''NOT''' ||'''RETAIN''' ||
 ||'''AND''' ||'''DIV''' ||'''IF''' ||'''OF''' ||'''RETURN''' ||
2015-09-18 13:13 by trijezdci -
Changed lines 169-179 from:
|| border=0 cellpadding=0 width=80%
||ALIAS ||DEFINITION ||GENLIB ||NOT ||RETAIN ||
||AND ||DIV ||IF ||OF ||RETURN ||
||ARGLIST ||DO ||IMPLEMENTATION ||OPAQUE ||SET ||
||ARRAY ||ELSE ||IMPORT ||OR ||THEN ||
||BEGIN ||ELSIF ||IN ||POINTER ||TO ||
||BLUEPRINT ||END ||LOOP ||PROCEDURE ||TYPE ||
||BY ||ENUM ||MOD ||RECORD ||UNTIL ||
||CASE ||EXIT ||MODULE ||REFERENTIAL ||VAR ||
||CONST ||FOR ||NEW ||RELEASE ||WHILE ||
||COPY ||FROM ||NONE ||REPEAT ||YIELD ||
to:
|| border=0 cellpadding=0 width=90%
||'''ALIAS''' ||'''DEFINITION''' ||'''GENLIB''' ||'''NOT''' ||'''RETAIN''' ||
||'''AND''' ||'''DIV''' ||'''IF''' ||'''OF''' ||'''RETURN''' ||
||'''ARGLIST''' ||'''DO''' ||'''IMPLEMENTATION''' ||'''OPAQUE''' ||'''SET''' ||
||'''ARRAY''' ||'''ELSE''' ||'''IMPORT''' ||'''OR''' ||'''THEN''' ||
||'''BEGIN''' ||'''ELSIF''' ||'''IN''' ||'''POINTER''' ||'''TO''' ||
||'''BLUEPRINT''' ||'''END''' ||'''LOOP''' ||'''PROCEDURE''' ||'''TYPE''' ||
||'''BY''' ||'''ENUM''' ||'''MOD''' ||'''RECORD''' ||'''UNTIL''' ||
||'''CASE''' ||'''EXIT''' ||'''MODULE''' ||'''REFERENTIAL''' ||'''VAR''' ||
||'''CONST''' ||'''FOR''' ||'''NEW''' ||'''RELEASE''' ||'''WHILE''' ||
||'''COPY''' ||'''FROM''' ||'''NONE''' ||'''REPEAT''' ||'''YIELD''' ||
2015-09-18 13:09 by trijezdci -
Changed line 169 from:
|| border=0 cellpadding=0
to:
|| border=0 cellpadding=0 width=80%
2015-09-18 13:08 by trijezdci -
Added lines 162-181:

[[#ResWords]]
!!! Reserved Words

Reserved words are symbols that consist of a sequence of all-uppercase letters, are visible in any scope, have special meaning in the language and may not be redefined. There are 50 reserved words:

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
|| border=0 cellpadding=0
||ALIAS ||DEFINITION ||GENLIB ||NOT ||RETAIN ||
||AND ||DIV ||IF ||OF ||RETURN ||
||ARGLIST ||DO ||IMPLEMENTATION ||OPAQUE ||SET ||
||ARRAY ||ELSE ||IMPORT ||OR ||THEN ||
||BEGIN ||ELSIF ||IN ||POINTER ||TO ||
||BLUEPRINT ||END ||LOOP ||PROCEDURE ||TYPE ||
||BY ||ENUM ||MOD ||RECORD ||UNTIL ||
||CASE ||EXIT ||MODULE ||REFERENTIAL ||VAR ||
||CONST ||FOR ||NEW ||RELEASE ||WHILE ||
||COPY ||FROM ||NONE ||REPEAT ||YIELD ||
>><<

2015-09-18 12:57 by trijezdci -
Changed lines 141-142 from:
String literals are sequences of quotable characters and optional escape sequences, enclosed in single quotes or double quotes. String literals may not contain any control code character.
to:
String literals are sequences of quotable characters and optional escape sequences, enclosed in single quotes or double quotes. String literals may not contain any control code characters.
Changed lines 151-161 from:
!!! Structured Literals
to:
!!! Structured Literals

Structured literals are compound values consisting of zero or more terminal symbols, enclosed in braces. Structured literals may be nested.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@{ 1, 2, 3 }@@
 @@{ "a", "b", "c" }@@
 @@{ 1 .. 5 }  (* equivalent to: *)  { 1, 2, 3, 4, 5 }@@
 @@{ 0 BY 5 }  (* equivalent to: *)  { 0, 0, 0, 0, 0 }@@
>><<
2015-09-18 12:53 by trijezdci -
Changed lines 145-147 from:
 @@"it's nine o'clock" (* double quoted string containing single quotes *)@@
 @@'he said
"Modula-2" and smiled' (* single quoted string containing double quotes *)@@
 @@"this is the end of the line\n" (* string containing the escape sequence for LF *)
@@
to:
 @@"it's nine o'clock"@@
 @@'he said "Modula-2" and smiled'@@
 @@"this is the end of the line\n
"@@
2015-09-18 12:52 by trijezdci -
Added lines 140-148:

String literals are sequences of quotable characters and optional escape sequences, enclosed in single quotes or double quotes. String literals may not contain any control code character.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@"it's nine o'clock" (* double quoted string containing single quotes *)@@
 @@'he said "Modula-2" and smiled' (* single quoted string containing double quotes *)@@
 @@"this is the end of the line\n" (* string containing the escape sequence for LF *)@@
>><<
2015-09-18 12:48 by trijezdci -
Added lines 128-136:

Character code literals represent Unicode code points in base-16 notation. They are comprised of Unicode prefix [@0u@] followed by a non-empty sequence of base-16 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@0u7F (* DEL *)@@
 @@0uA9 (* copyright *)@@
 @@0u20'AC (* Euro currency sign *)@@
>><<
2015-09-18 12:45 by trijezdci -
Added lines 117-124:

Base-16 number literals represent whole numbers in base-16 notation. They are comprised of base-16 number prefix [@0x@] followed by a non-empty sequence of base-16 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@0x80, 0xFF, 0xCAFED00D (* without digit separator *)@@
 @@0x00'00'FF'FF, 0xDEAD'BEEF (* with digit separators *)@@
>><<
2015-09-18 12:42 by trijezdci -
Added lines 107-114:
Base-2 number literals represent whole numbers in base-2 notation. They are comprised of base-2 number prefix [@0b@] followed by a non-empty sequence of base-2 digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
 @@0b0110 (* without digit separator *)@@
 @@0b1111'0000'0101'0011 (* with digit separators *)@@
>><<

Changed lines 119-125 from:
!!! Character Code Literals
to:
!!! Character Code Literals

[[#StringLiterals]]
!!! String Literals

[[#StructuredLiterals]]
!!! Structured
Literals
2015-09-18 12:38 by trijezdci -
Changed lines 79-81 from:
* numeric literals
* string literals
* structured literals
to:
* [[#NumericLiterals|numeric literals]]
* [[#StringLiterals|string literals]]
* [[#StructuredLiterals|structured literals]]
2015-09-18 12:36 by trijezdci -
Added line 75:
[[#Literals]]
Added line 83:
[[#NumericLiterals]]
Changed lines 87-91 from:
* decimal number literals
* base-2 number literals
* base-16 number literals
* character code literals
to:
* [[#DecimalNumberLiterals|decimal number literals]]
* [[#Base2NumberLiterals|base-2 number literals]]
* [[#Base16NumberLiterals|base-16 number literals]]
* [[#CharCodeLiterals|character code literals]]

[[#DecimalNumberLiterals]]
Changed lines 102-111 from:
>><<
to:
>><<

[[#Base2NumberLiterals]]
!!! Base-2 Number Literals

[[#Base16NumberLiterals]]
!!! Base-16 Number Literals

[[#CharCodeLiterals]]
!!! Character Code Literals
2015-09-18 12:32 by trijezdci -
Changed lines 96-98 from:
@@0, 42, 12300, 32767 (* whole numbers *)@@
@@0.0, 3.1415, 7.531e+12 (* real numbers *)@@
@@1'234'500'000, 0.987'654'321e+99 (* with digit separators *)@@
to:
 @@0, 42, 12300, 32767 (* whole numbers *)@@
 @@0.0, 3.1415, 7.531e+12 (* real numbers *)@@
 @@1'234'500'000, 0.987'654'321e+99 (* with digit separators *)@@
2015-09-18 12:32 by trijezdci -
Changed lines 96-98 from:
0, 42, 12300, 32767 (* whole numbers *)
0.0, 3.1415, 7.531e+12 (* real numbers *)
1'234'500'000, 0.987'654'321e+99 (* with digit separators *)
to:
@@0, 42, 12300, 32767 (* whole numbers *)@@
@@
0.0, 3.1415, 7.531e+12 (* real numbers *)@@
@@
1'234'500'000, 0.987'654'321e+99 (* with digit separators *)@@
2015-09-18 12:31 by trijezdci -
Changed lines 75-81 from:
|| class=headrow border=1 cellspacing=0 width=80%
||!Foo ||!Bar ||!Baz ||
||Bam+++ ||col2 ||col3 ||
||col2 ||col3 ||
||col2 ||col3 ||
||Boo++ ||col2 ||col3 ||
||col2 ||col3 ||
to:
!!! Literals

There are three types of literals:
* numeric literals
* string literals
* structured literals

!!!! Numeric literals

Numeric literals represent a numeric compile time value. There are four types:
* decimal number literals
* base-2 number literals
* base-16 number literals
* character code literals

!!!! Decimal Number Literals

Decimal number literals represent decimal whole and real numbers. They are comprised of a mandatory integral part followed by an optional fractional part followed by an optional exponent. Integral and fractional part are separated by a decimal point. Fractional part and exponent are separated by the exponent prefix [@e@] followed by an optional sign. Integral part, fractional part and exponent are comprised of a non-empty sequence of decimal digits. Digits may be grouped using the single quote as a digit separator. A digit separator may only appear in between two digits.

>>background-color:#f4f4f4 padding:0.5em border:'thin solid gray' whitespace:pre<<
'''Examples:'''
0, 42, 12300, 32767 (* whole numbers *)
0.0, 3.1415, 7.531e+12 (* real numbers *)
1'234'500'000, 0.987'654'321e+99 (* with digit separators *)
>><<
2015-09-18 07:54 by trijezdci -
Added lines 42-53:
||Special Syntax+++++++++++ \
||[@ + @]    ||Re-Export Suffix, Enumeration Extension Prefix ||  ||
||[@ * @]    ||Wildcard Import Suffix, Restricted Export Prefix ||  ||
||[@ := @]    ||Assignment ||  ||
||[@ ++ @]    ||Increment Statement Suffix, FOR Loop Ascender ||  ||
||[@ -- @]    ||Decrement Statement Suffix, FOR Loop Descender ||  ||
||[@ .. @]    ||Subrange Constructor, Slice Range Specifier ||  ||
||[@ ^ @]    ||Pointer Dereferencing Suffix ||  ||
||[@ -> @]    ||One-Way Dependency ||Blueprint  ||
||[@ <> @]    ||Mutual Dependency Constraint ||Blueprint  ||
||[@ >< @]    ||Mutual Exclusion Constraint ||Blueprint  ||
||[@ +/- @]    ||Unary Minus Binding Specifier ||Blueprint  ||
2015-09-18 07:29 by trijezdci -
Added lines 50-55:
||Delimiters+++++ \
||[@ '  " @] ||Quoted String Literal Delimiters ||Within Expressions ||
||[@ (  ) @] ||Expression Grouping, Parameter List Delimiters ||Within Expressions, Procedure Headers ||
||[@ {  } @] ||Structured Value Delimiters ||Within Expressions, Formal Parameters ||
||[@ [  ] @] ||Array Index, Subrange and Slice Delimiters ||Within Expressions ||
||[@ <<  >> @] ||Replacement Text Delimiters ||Within Library Generation Directive ||
2015-09-18 07:20 by trijezdci -
Added lines 53-55:
||Pragmas++ \
||[@ ? @] ||Value Pragma Query Prefix ||Within Message Pragma ||
||[@ <*  *> @] ||Pragma Delimiters ||Before or After Certain Tokens ||
2015-09-18 07:17 by trijezdci -
Added lines 50-52:
||Comments++ \
||[@ ! @] ||Line Comment Prefix ||At First Column of Any Line ||
||[@ (*  *) @] ||Block Comment Delimiters ||Anywhere Before or After a Token ||
2015-09-18 07:10 by trijezdci -
Changed line 42 from:
||Punctuation++++++ \
to:
||Punctuation+++++++ \
2015-09-18 07:08 by trijezdci -
Changed line 43 from:
||[@ . @]++   ||Name Separator ||Within Qualified Identifier ||
to:
||[@ . @]++ ||Name Separator ||Within Qualified Identifier ||
Changed lines 45-46 from:
||[@ , @]    ||Separator ||Within Item List ||
||[@ ; @]    ||Separator ||Within Declaration and Statement Sequences ||
to:
||[@ , @]    ||Item Separator ||Within Item List ||
||[@ ; @]    ||List Separator ||Within Declaration and Statement Sequences ||
Changed lines 48-49 from:
||[@ | @]     ||Case Label Prefix ||Within Case Label List ||
to:
||[@ | @]++ ||Case Label Prefix ||Within Case Label List ||
||Terminator Prefix ||Within Formal Parameters
||
2015-09-18 07:05 by trijezdci -
Changed lines 44-45 from:
||Module Terminator || End of Module ||
||[@ , @]    ||ISeparator ||Within Item List ||
to:
||Module Terminator ||End of Module ||
||[@ , @]    ||Separator ||Within Item List ||
2015-09-18 07:04 by trijezdci -
Added lines 42-48:
||Punctuation++++++ \
||[@ . @]++    ||Name Separator ||Within Qualified Identifier ||
||Module Terminator || End of Module ||
||[@ , @]    ||ISeparator ||Within Item List ||
||[@ ; @]    ||Separator ||Within Declaration and Statement Sequences ||
||[@ : @]    ||Head Body Separator ||Within Declarations and Formal Parameters ||
||[@ | @]    ||Case Label Prefix ||Within Case Label List ||
2015-09-18 06:51 by trijezdci -
Changed line 20 from:
||Arithmetic Operators+++++ \
to:
||Arithmetic [[<<]]Operators+++++ \
Changed line 26 from:
||Relational Operators++++++ \
to:
||Relational [[<<]]Operators++++++ \
Changed line 33 from:
||Set Operators++++++++ \
to:
||Set [[<<]]Operators++++++++ \
2015-09-18 06:51 by trijezdci -
Changed line 9 from:
|| class=headrow border=1 cellspacing=0 width=100%
to:
|| class=headrow border=1 cellspacing=0 width=90%
2015-09-18 06:50 by trijezdci -
Changed line 9 from:
|| class=headrow border=1 cellspacing=0 width=80%
to:
|| class=headrow border=1 cellspacing=0 width=100%
2015-09-18 06:50 by trijezdci -
Changed lines 21-25 from:
||[@ + @]    ||Unary Plus, Addition ||Within Arithmetic Expressions ||
||[@ - @]    ||Unary Minus, Subtraction ||Within Arithmetic Expressions ||
||[@ * @]    ||Multiplication ||Within Arithmetic Expressions ||
||[@ / @]    ||Real Division ||Within Arithmetic Expressions ||
||[@ *. @]    ||Dot Product ||Within Arithmetic Expressions ||
to:
||[@ + @]    ||Unary Plus, Addition ||Within Arithmetic Expressions+++++ ||
||[@ - @]    ||Unary Minus, Subtraction ||
||[@ * @]    ||Multiplication ||
||[@ / @]    ||Real Division ||
||[@ *. @]    ||Dot Product ||
Changed lines 27-32 from:
||[@ = @]    ||Equality Test ||Within Arithmetic Expressions ||
||[@ # @]    ||Inequality Test ||Within Arithmetic Expressions ||
||[@ > @]    ||Greater-Than Test ||Within Arithmetic Expressions ||
||[@ >= @]    ||Greater-Or-Equal Test ||Within Arithmetic Expressions ||
||[@ < @]    ||Less-Than Test ||Within Arithmetic Expressions ||
||[@ <= @]    ||Less-Or-Equal Test ||Within Arithmetic Expressions ||
to:
||[@ = @]    ||Equality Test ||Within Arithmetic Expressions++++++ ||
||[@ # @]    ||Inequality Test ||
||[@ > @]    ||Greater-Than Test ||
||[@ >= @]    ||Greater-Or-Equal Test ||
||[@ < @]    ||Less-Than Test ||
||[@ <= @]    ||Less-Or-Equal Test ||
Changed lines 34-41 from:
||[@ + @]    ||Set Union ||Within Set Expressions ||
||[@ \ @]    ||Set Difference ||Within Set Expressions ||
||[@ * @]    ||Set Intersection ||Within Set Expressions ||
||[@ / @]    ||Symmetric Set Difference ||Within Set Expressions ||
||[@ > @]    ||Proper Superset Test ||Within Set Expressions ||
||[@ >= @]  ||Superset Test ||Within Set Expressions ||
||[@ < @]    ||Proper Subset Test ||Within Set Expressions ||
||[@ <= @]  ||Subset Test ||Within Set Expressions ||
to:
||[@ + @]    ||Set Union ||Within Set Expressions++++++++ ||
||[@ \ @]    ||Set Difference ||
||[@ * @]    ||Set Intersection ||
||[@ / @]    ||Symmetric Set Difference ||
||[@ > @]    ||Proper Superset Test ||
||[@ >= @]  ||Superset Test ||
||[@ < @]    ||Proper Subset Test ||
||[@ <= @]  ||Subset Test ||
2015-09-18 06:47 by trijezdci -
Changed line 15 from:
||[@ + - @] ||Exponent Sign  ||^^ ||
to:
||[@ + - @] ||Exponent Sign  ||
2015-09-18 06:47 by trijezdci -
Changed line 14 from:
||[@ . @]      ||Decimal Point  ||Within Real Number Literals+ ||
to:
||[@ . @]      ||Decimal Point  ||Within Real Number Literals++ ||
2015-09-18 06:47 by trijezdci -
Changed lines 14-15 from:
||[@ . @]      ||Decimal Point  ||Within Real Number Literals ||
||[@ + - @] ||Exponent Sign  ||Within Real Number Literals ||
to:
||[@ . @]      ||Decimal Point  ||Within Real Number Literals+ ||
||[@ + - @] ||Exponent Sign  ||^^ ||
2015-09-18 06:42 by trijezdci -
Changed line 16 from:
||Special Operators+++ \
to:
||Special [[<<]]Operators+++ \
2015-09-18 06:41 by trijezdci -
Changed line 26 from:
||!Relational Operators++++++ \
to:
||Relational Operators++++++ \
Changed line 33 from:
||!Set Operators++++++++ \
to:
||Set Operators++++++++ \
2015-09-18 06:40 by trijezdci -
Changed line 11 from:
||Intra-Literal++++  
to:
||Intra-Literal++++ \
Changed line 16 from:
||Special Operators+++
to:
||Special Operators+++ \
Changed line 20 from:
||Arithmetic Operators+++++
to:
||Arithmetic Operators+++++ \
Changed line 26 from:
||!Relational Operators++++++
to:
||!Relational Operators++++++ \
Changed line 33 from:
||!Set Operators++++++++
to:
||!Set Operators++++++++ \
2015-09-18 06:40 by trijezdci -
Changed lines 10-11 from:
||!Symbol ||!Usage ||!Lexical Scope ||
||!Intra-Literal Symbols  ||||||
to:
||!Category ||!Symbol ||!Usage ||!Lexical Scope ||
||Intra-Literal++++ 
Changed line 16 from:
||!Special Operators  ||||||
to:
||Special Operators+++
Changed line 20 from:
||!Arithmetic Operators  ||||||
to:
||Arithmetic Operators+++++
Changed line 26 from:
||!Relational Operators  ||||||
to:
||!Relational Operators++++++
Changed line 33 from:
||!Set Operators  ||||||
to:
||!Set Operators++++++++
2015-09-18 06:04 by trijezdci -
Changed lines 46-47 from:
||^^  ||col2 ||col3 ||
||^^ 
||col2 ||col3 ||
to:
||col2 ||col3 ||
||col2 ||col3 ||
Changed line 49 from:
||^^  ||col2 ||col3 ||
to:
||col2 ||col3 ||
2015-09-18 06:03 by trijezdci -
Changed line 48 from:
||Boo+ ||col2 ||col3 ||
to:
||Boo++ ||col2 ||col3 ||
2015-09-18 06:03 by trijezdci -
Changed lines 41-49 from:
||[@ <= @]  ||Subset Test ||Within Set Expressions ||
to:
||[@ <= @]  ||Subset Test ||Within Set Expressions ||

|| class=headrow border=1 cellspacing=0 width=80%
||!Foo ||!Bar ||!Baz ||
||Bam+++ ||col2 ||col3 ||
||^^  ||col2 ||col3 ||
||^^  ||col2 ||col3 ||
||Boo+ ||col2 ||col3 ||
||^^  ||col2 ||col3
||
2015-09-18 05:36 by trijezdci -
Changed lines 18-19 from:
||[@ & @]    ||Array, List and String Concatenation ||Within Expressions ||
||[@ == @]  ||Identity Test ||Within Expressions ||
to:
||[@ == @]  ||Identity Test ||Within ADT Expressions ||
||[@ & @]  ||Array, List and String Concatenation ||Within Array, List and String Expressions ||
Changed lines 21-25 from:
||[@ + @]    ||Unary Plus, Addition ||Within Expressions ||
||[@ - @]    ||Unary Minus, Subtraction ||Within Expressions ||
||[@ * @]    ||Multiplication ||Within Expressions ||
||[@ / @]    ||Real Division ||Within Expressions ||
||[@ *. @]    ||Dot Product ||Within Expressions ||
to:
||[@ + @]    ||Unary Plus, Addition ||Within Arithmetic Expressions ||
||[@ - @]    ||Unary Minus, Subtraction ||Within Arithmetic Expressions ||
||[@ * @]    ||Multiplication ||Within Arithmetic Expressions ||
||[@ / @]    ||Real Division ||Within Arithmetic Expressions ||
||[@ *. @]    ||Dot Product ||Within Arithmetic Expressions ||
Changed lines 27-32 from:
||[@ = @]    ||Equality Test ||Within Expressions ||
||[@ # @]    ||Inequality Test ||Within Expressions ||
||[@ > @]    ||Greater-Than Test ||Within Expressions ||
||[@ >= @]    ||Greater-Or-Equal Test ||Within Expressions ||
||[@ < @]    ||Less-Than Test ||Within Expressions ||
||[@ <= @]    ||Less-Or-Equal Test ||Within Expressions ||
to:
||[@ = @]    ||Equality Test ||Within Arithmetic Expressions ||
||[@ # @]    ||Inequality Test ||Within Arithmetic Expressions ||
||[@ > @]    ||Greater-Than Test ||Within Arithmetic Expressions ||
||[@ >= @]    ||Greater-Or-Equal Test ||Within Arithmetic Expressions ||
||[@ < @]    ||Less-Than Test ||Within Arithmetic Expressions ||
||[@ <= @]    ||Less-Or-Equal Test ||Within Arithmetic Expressions ||
Changed lines 34-41 from:
||[@ + @]    ||Set Union ||Within Expressions ||
||[@ \ @]    ||Set Difference ||Within Expressions ||
||[@ * @]    ||Set Intersection ||Within Expressions ||
||[@ / @]    ||Symmetric Set Difference ||Within Expressions ||
||[@ > @]    ||Proper Superset Test ||Within Expressions ||
||[@ >= @]  ||Superset Test ||Within Expressions ||
||[@ < @]    ||Proper Subset Test ||Within Expressions ||
||[@ <= @]  ||Subset Test ||Within Expressions ||
to:
||[@ + @]    ||Set Union ||Within Set Expressions ||
||[@ \ @]    ||Set Difference ||Within Set Expressions ||
||[@ * @]    ||Set Intersection ||Within Set Expressions ||
||[@ / @]    ||Symmetric Set Difference ||Within Set Expressions ||
||[@ > @]    ||Proper Superset Test ||Within Set Expressions ||
||[@ >= @]  ||Superset Test ||Within Set Expressions ||
||[@ < @]    ||Proper Subset Test ||Within Set Expressions ||
||[@ <= @]  ||Subset Test ||Within Set Expressions ||
2015-09-18 05:33 by trijezdci -
Added lines 26-32:
||!Relational Operators  ||||||
||[@ = @]    ||Equality Test ||Within Expressions ||
||[@ # @]    ||Inequality Test ||Within Expressions ||
||[@ > @]    ||Greater-Than Test ||Within Expressions ||
||[@ >= @]    ||Greater-Or-Equal Test ||Within Expressions ||
||[@ < @]    ||Less-Than Test ||Within Expressions ||
||[@ <= @]    ||Less-Or-Equal Test ||Within Expressions ||
Deleted lines 41-47:
||!Relational Operators  ||||||
||[@ = @]    ||Equality Test ||Within Expressions ||
||[@ # @]    ||Inequality Test ||Within Expressions ||
||[@ > @]    ||Greater-Than Test ||Within Expressions ||
||[@ >= @]    ||Greater-Or-Equal Test ||Within Expressions ||
||[@ < @]    ||Less-Than Test ||Within Expressions ||
||[@ <= @]    ||Less-Or-Equal Test ||Within Expressions ||
2015-09-18 05:27 by trijezdci -
Changed lines 19-20 from:
||[@ == @]  ||Identity Test ||Within Expressions ||||!Arithmetic Operators  ||||||
to:
||[@ == @]  ||Identity Test ||Within Expressions ||
||!Arithmetic Operators  ||||||
2015-09-18 05:26 by trijezdci -
Changed lines 12-15 from:
||&nbsp;[@ \ @]    ||Escape Prefix for LF and TAB ||Within Quoted Literals ||
||&nbsp;[@ ' @]      ||Digit Separator ||Within Number Literals ||
||&nbsp;[@ . @]      ||Decimal Point  ||Within Real Number Literals ||
||&nbsp;[@ + - @] ||Exponent Sign  ||Within Real Number Literals ||
to:
||[@ \ @]    ||Escape Prefix for LF and TAB ||Within Quoted Literals ||
||[@ ' @]      ||Digit Separator ||Within Number Literals ||
||[@ . @]      ||Decimal Point  ||Within Real Number Literals ||
||[@ + - @] ||Exponent Sign  ||Within Real Number Literals ||
Changed lines 17-24 from:
||&nbsp;[@ :: @]    ||Type Conversion ||Within Expressions ||
||&nbsp;[@ & @]    ||Array, List and String Concatenation ||Within Expressions ||
||!Arithmetic Operators  ||||||
||&nbsp;[@ + @]    ||Unary Plus, Addition ||Within Expressions ||
||&nbsp;[@ - @]     ||Unary Minus, Subtraction ||Within Expressions ||
||&nbsp;[@ * @]    ||Multiplication ||Within Expressions ||
||&nbsp;[@ / @]    ||Real Division ||Within Expressions ||
||&nbsp;[@ *. @]    ||Dot Product ||Within Expressions ||
to:
||[@ :: @]    ||Type Conversion ||Within Expressions ||
||[@ & @]    ||Array, List and String Concatenation ||Within Expressions ||
||[@ == @]  ||Identity Test ||Within Expressions ||||!Arithmetic Operators  ||||||
||[@ + @]    ||Unary Plus, Addition ||Within Expressions ||
||[@ - @]    ||Unary Minus, Subtraction ||Within Expressions ||
||[@ * @]    ||Multiplication ||Within Expressions ||
||[@ / @]    ||Real Division ||Within Expressions ||
||
[@ *. @]    ||Dot Product ||Within Expressions ||
Changed lines 26-33 from:
||&nbsp;[@ + @]    ||Set Union ||Within Expressions ||
||&nbsp;[@ \ @]    ||Set Difference ||Within Expressions ||
||&nbsp;[@ * @]    ||Set Intersection ||Within Expressions ||
||&nbsp;[@ / @]    ||Symmetric Set Difference ||Within Expressions ||
||&nbsp;[@ > @]    ||Proper Superset Test ||Within Expressions ||
||&nbsp;[@ >= @]  ||Superset Test ||Within Expressions ||
||&nbsp;[@ < @]    ||Proper Subset Test ||Within Expressions ||
||&nbsp;[@ <= @]  ||Subset Test ||Within Expressions ||
to:
||[@ + @]    ||Set Union ||Within Expressions ||
||[@ \ @]    ||Set Difference ||Within Expressions ||
||[@ * @]    ||Set Intersection ||Within Expressions ||
||[@ / @]    ||Symmetric Set Difference ||Within Expressions ||
||[@ > @]    ||Proper Superset Test ||Within Expressions ||
||[@ >= @]  ||Superset Test ||Within Expressions ||
||[@ < @]    ||Proper Subset Test ||Within Expressions ||
||[@ <= @]  ||Subset Test ||Within Expressions ||
Changed lines 35-41 from:
||&nbsp;[@ = @]    ||Equality Test ||Within Expressions ||
||&nbsp;[@ # @]    ||Inequality Test ||Within Expressions ||
||&nbsp;[@ > @]    ||Greater-Than Test ||Within Expressions ||
||&nbsp;[@ >= @]    ||Greater-Or-Equal Test ||Within Expressions ||
||&nbsp;[@ < @]    ||Less-Than Test ||Within Expressions ||
||&nbsp;[@ <= @]    ||Less-Or-Equal Test ||Within Expressions ||
||&nbsp;[@ == @]    ||Identity
Test ||Within Expressions ||
to:
||[@ = @]    ||Equality Test ||Within Expressions ||
||[@ # @]    ||Inequality Test ||Within Expressions ||
||[@ > @]    ||Greater-Than Test ||Within Expressions ||
||[@ >= @]    ||Greater-Or-Equal Test ||Within Expressions ||
||[@ < @]    ||Less-Than Test ||Within Expressions ||
||[@ <= @]    ||Less-Or-Equal Test ||Within Expressions ||
2015-09-18 05:14 by trijezdci -
Changed line 9 from:
|| class=firstrow border=1 cellspacing=0 width=80%
to:
|| class=headrow border=1 cellspacing=0 width=80%
2015-09-18 05:11 by trijezdci -
Changed line 11 from:
||!Within Literals  ||||||
to:
||!Intra-Literal Symbols  ||||||
2015-09-18 05:10 by trijezdci -
Added line 10:
||!Symbol ||!Usage ||!Lexical Scope ||
Deleted line 11:
||!Symbol ||!Usage ||!Lexical Scope ||
Deleted line 16:
||!Symbol ||!Usage ||!Lexical Scope ||
Deleted line 19:
||!Symbol ||!Usage ||!Lexical Scope ||
Deleted line 25:
||!Symbol ||!Usage ||!Lexical Scope ||
Deleted line 34:
||!Symbol ||!Usage ||!Lexical Scope ||
2015-09-18 04:52 by trijezdci -
Changed line 9 from:
|| border=1 cellspacing=0 width=80%
to:
|| class=firstrow border=1 cellspacing=0 width=80%
Changed line 45 from:
||&nbsp;[@ == @]    ||Identity Test ||Within Expressions ||
to:
||&nbsp;[@ == @]    ||Identity Test ||Within Expressions ||
2015-09-18 04:24 by trijezdci -
Deleted lines 15-16:

|| border=1 cellspacing=0 width=80%
Deleted lines 19-20:

|| border=1 cellspacing=0 width=80%
Deleted lines 26-27:

|| border=1 cellspacing=0 width=80%
Deleted lines 36-37:

|| border=1 cellspacing=0 width=80%
2015-09-18 04:23 by trijezdci -
Changed lines 12-15 from:
||&nbsp;[@ \ @]    ||Escape Prefix for LF and TAB ||Within quoted literals ||
||&nbsp;[@ ' @]      ||Digit Separator ||Within number literals ||
||&nbsp;[@ . @]      ||Decimal Point  ||Within real number literals ||
||&nbsp;[@ + - @] ||Exponent Sign  ||Within real number literals ||
to:
||&nbsp;[@ \ @]    ||Escape Prefix for LF and TAB ||Within Quoted Literals ||
||&nbsp;[@ ' @]      ||Digit Separator ||Within Number Literals ||
||&nbsp;[@ . @]      ||Decimal Point  ||Within Real Number Literals ||
||&nbsp;[@ + - @] ||Exponent Sign  ||Within Real Number Literals ||
2015-09-18 04:22 by trijezdci -
Changed line 18 from:
||!Special Operators  || || ||
to:
||!Special Operators  ||||||
Changed line 24 from:
||!Arithmetic Operators  || || ||
to:
||!Arithmetic Operators  ||||||
Changed line 33 from:
||!Set Operators  || || ||
to:
||!Set Operators  ||||||
Changed line 45 from:
||!Relational Operators  || || ||
to:
||!Relational Operators  ||||||
2015-09-18 04:21 by trijezdci -
Changed line 10 from:
||!Within Literals  || || ||
to:
||!Within Literals  ||||||
2015-09-18 04:21 by trijezdci -
Changed line 10 from:
||!Within Literals  ||
to:
||!Within Literals  || || ||
Changed line 18 from:
||!Special Operators  !||
to:
||!Special Operators  || || ||
Changed line 24 from:
||!Arithmetic Operators  !||
to:
||!Arithmetic Operators  || || ||
Changed line 33 from:
||!Set Operators  !||
to:
||!Set Operators  || || ||
Changed line 45 from:
||!Relational Operators  !||
to:
||!Relational Operators  || || ||
2015-09-18 04:20 by trijezdci -
Changed line 10 from:
||!Within Literals  !||
to:
||!Within Literals  ||
2015-09-18 04:18 by trijezdci -
Changed line 26 from:
||&nbsp;[@ + @]    ||Unary Plus, Addition, Set Union ||Within Expressions ||
to:
||&nbsp;[@ + @]    ||Unary Plus, Addition ||Within Expressions ||
Changed lines 28-30 from:
||&nbsp;[@ * @]    ||Multiplication, Set Intersection ||Within Expressions ||
||&nbsp;[@ / @]    ||Real Division, Symmetric Set Difference ||Within Expressions ||
||&nbsp;[@ \ @]    ||Set Difference
||Within Expressions ||
to:
||&nbsp;[@ * @]    ||Multiplication ||Within Expressions ||
||&nbsp;[@ / @]    ||Real Division ||Within Expressions ||
Changed line 35 from:
||&nbsp;[@ + @]    ||Unary Plus, Addition, Set Union ||Within Expressions ||
to:
||&nbsp;[@ + @]    ||Set Union ||Within Expressions ||
Changed lines 37-38 from:
||&nbsp;[@ * @]    ||Multiplication, Set Intersection ||Within Expressions ||
||&nbsp;[@ / @]    ||Real Division, Symmetric Set Difference ||Within Expressions ||
to:
||&nbsp;[@ * @]    ||Set Intersection ||Within Expressions ||
||&nbsp;[@ / @]    ||Symmetric Set Difference ||Within Expressions ||
2015-09-18 04:16 by trijezdci -
Added line 8:
Changed lines 10-16 from:
||!Category ||!Symbol ||!Usage ||!Lexical Scope ||
||In-Literal ||[@ \ @]            ||Escape Prefix for LF and TAB within Quoted Literals ||Within Literal ||
||              ||[@ ' @]            ||Digit Separator within Numeric Literals || ||
||              ||[@ . @]            ||Decimal Point within Real Number Literals || ||
||              ||[@ + - @]        ||Exponent Sign within Real Number Literals || ||
||Non-Arithmetic Operators ||[@ :: @]            ||Type Conversion ||Program Text ||
||                                        ||[@ & @]            ||Concatenation || ||
to:
||!Within Literals  !||
||!Symbol ||!Usage ||!Lexical Scope ||
||&nbsp;[@ \ @]    ||Escape Prefix for LF and TAB ||Within quoted literals ||
||&nbsp;[@ ' @]      ||Digit Separator ||Within number literals ||
||&nbsp;[@ . @]      ||Decimal Point  ||Within real number literals ||
||&nbsp;[@ + - @] ||Exponent Sign  ||Within real number literals ||

|| border=1 cellspacing=0 width=80%
||!Special Operators  !||
||!Symbol ||!Usage ||!Lexical Scope ||
||&nbsp;[@ :: @]    ||Type Conversion ||Within Expressions ||
||&nbsp;[@ & @]    ||Array, List and String Concatenation ||Within Expressions ||

|| border=1 cellspacing=0 width=80%
||!Arithmetic Operators  !||
||!Symbol ||!Usage ||!Lexical Scope ||
||&nbsp;[@ + @]    ||Unary Plus, Addition, Set Union ||Within Expressions ||
||&nbsp;[@ - @]    ||Unary Minus, Subtraction ||Within Expressions ||
||&nbsp;[@ * @]    ||Multiplication, Set Intersection ||Within Expressions ||
||&nbsp;[@ / @]    ||Real Division, Symmetric Set Difference ||Within Expressions ||
||&nbsp;[@ \ @]    ||Set Difference ||Within Expressions ||
||&nbsp;[@ *. @]    ||Dot Product ||Within Expressions ||

|| border=1 cellspacing=0 width=80%
||!Set Operators  !||
||!Symbol ||!Usage ||!Lexical Scope ||
||&nbsp;[@ + @]    ||Unary Plus, Addition, Set Union ||Within Expressions ||
||&nbsp;[@ \ @]    ||Set Difference ||Within Expressions ||
||&nbsp;[@ * @]    ||Multiplication, Set Intersection ||Within Expressions ||
||&nbsp;[@ / @]    ||Real Division, Symmetric Set Difference ||Within Expressions ||
||&nbsp;[@ > @]    ||Proper Superset Test ||Within Expressions ||
||&nbsp;[@ >= @]  ||Superset Test ||Within Expressions ||
||&nbsp;[@ < @]    ||Proper Subset Test ||Within Expressions ||
||&nbsp;[@ <= @]  ||Subset Test ||Within Expressions ||

|| border=1 cellspacing=0 width=80%
||!Relational Operators  !||
||!Symbol ||!Usage ||!Lexical Scope ||
||&nbsp;[@ = @]    ||Equality Test ||Within Expressions ||
||&nbsp;[@ # @]    ||Inequality Test ||Within Expressions ||
||&nbsp;[@ > @]    ||Greater-Than Test ||Within Expressions ||
||&nbsp;[@ >= @]    ||Greater-Or-Equal Test ||Within Expressions ||
||&nbsp;[@ < @]    ||Less-Than Test ||Within Expressions ||
||&nbsp;[@ <= @]    ||Less-Or-Equal Test ||Within Expressions ||
||&nbsp;[@ == @]    ||Identity Test ||Within Expressions ||
2015-09-18 03:53 by trijezdci -
Changed lines 13-15 from:
||              ||[@ + - @]        ||Exponent Sign within Real Number Literals || ||
to:
||              ||[@ + - @]        ||Exponent Sign within Real Number Literals || ||
||Non-Arithmetic Operators ||[@ :: @]            ||Type Conversion ||Program Text ||
||                                        ||[@ & @]            ||Concatenation
|| ||
2015-09-18 03:51 by trijezdci -
Changed lines 11-13 from:
||              ||[@ ' @]            ||Digit Separator within Numeric Literals                    || ||
to:
||              ||[@ ' @]            ||Digit Separator within Numeric Literals || ||
||
              ||[@ . @]            ||Decimal Point within Real Number Literals || ||
||              ||[@ + - @]        ||Exponent Sign within Real Number Literals
|| ||
2015-09-18 03:49 by trijezdci -
Changed line 8 from:
|| border=1 cellspacing=0
to:
|| border=1 cellspacing=0 width=80%
2015-09-18 03:49 by trijezdci -
Changed lines 10-11 from:
||In-Literal ||\            ||Escape Prefix for LF and TAB within Quoted Literals ||Within Literal ||
||              ||'            ||Digit Separator within Numeric Literals                    || ||
to:
||In-Literal ||[@ \ @]           ||Escape Prefix for LF and TAB within Quoted Literals ||Within Literal ||
||              ||[@ ' @]            ||Digit Separator within Numeric Literals                    || ||
2015-09-18 03:47 by trijezdci -
Changed line 8 from:
|| border=1
to:
|| border=1 cellspacing=0
2015-09-18 03:33 by trijezdci -
Added lines 1-11:
[[#CharacterSets]]
!!! Character Sets

By default only the printable characters of the 7-bit [[#Reference.Abbreviations.ASCII|ASCII]] character set, whitespace, tabulator and newline are legal within Modula-2 source text. Unicode characters may be permitted within quoted literals and comments, subject to recognition and verification of the encoding scheme used.

[[#SpecialSymbols]]
!!! Special Symbols
|| border=1
||!Category ||!Symbol ||!Usage ||!Lexical Scope ||
||In-Literal ||\            ||Escape Prefix for LF and TAB within Quoted Literals ||Within Literal ||
||              ||'            ||Digit Separator within Numeric Literals                    || ||