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

Terminals

#1 Reserved Words

ALIAS, AND, ARGLIST, ARRAY, BEGIN, BLUEPRINT, BY,CASE, CONST, COPY, DEFINITION, DIV, DO, ELSE, ELSIF, END, EXIT, FOR, FROM, IF, IMPLEMENTATION, IMPORT, IN, LOOP, MOD, MODULE, NEW, NONE, NOT, OF, OPAQUE, OR, POINTER, PROCEDURE, RECORD, REFERENTIAL, RELEASE, REPEAT, RETAIN, RETURN, SET, THEN, TO, TYPE, UNTIL, VAR, WHILE, YIELD

#2 Dual-Use Identifiers
(Schrödinger's Tokens)

ABS, ADDRESS, APPEND, CAST, COUNT, COROUTINE, EXISTS, INSERT, LENGTH, OCTET, READ, READNEW, REMOVE, SEEK, STORE, SUBSET, SXF, TDYN, TFLAGS, TLIMIT, TLITERAL, TMAX, TMIN, TORDERED, TREFC, TSCALAR, TSORTED, UNSAFE, VAL, VALUE, WRITE, WRITEF

#3 Special Symbols

.   ,   :   ;   |   ^   ~   ..   :=   ++   --   ::   +   -   *   /   \   =   #   >   >=   <   <=   ==   &   ->   <>   ><   +/-   (   )   [   ]   {   }  

#3.1 Quoted Text Delimiters

'   "   <<   >>  

#3.2 Comment Delimiters

!   (*   *)  

#3.3 Pragma Punctuation and Delimiters

?   <*   *>  

#3.4 Template Language Symbols

##   <#   #>   @@   //   /*   */  

#3.5 Reserved Symbols

`   for use as a token by Objective Modula-2
@   for use as a lead character in identifiers and reserved words by language supersets
%   for use as a character in identifiers and reserved words by implementations targeting OpenVMS

#4 Identifier   EBNF

#4.1 Standard Library Identifier   EBNF

#4.2 Letter Or Digit   EBNF

#4.3 Foreign Identifier Character   EBNF

#4.4 Identifier Tail Character   EBNF

#5 Number Literal   EBNF

#5.1 Decimal Number Tail   EBNF

#5.2 Real Number Tail   EBNF

#5.3 Digit Sequence   EBNF

#5.4 Base-16 Digit Sequence   EBNF

#5.5 Base-2 Digit Sequence   EBNF

#5.6 Digit   EBNF

#5.7 Base-16 Digit   EBNF

#5.8 Base-2 Digit   EBNF

#6 String Literal   EBNF

#6.1 Single Quoted String   EBNF

#6.2 Double Quoted String   EBNF

#6.3 Quotable Character   EBNF

#6.4 Letter   EBNF

#6.5 Space   EBNF

CONST Space = CHR(32);

#6.6 Non-Alphanumeric Quotable   EBNF

#6.7 Escaped Character   EBNF

#7 Chevron Text   EBNF