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

Compiler

Spec.Compiler History

Hide minor edits - Show changes to markup

2010-05-24 11:48 by benjk -
Changed lines 9-10 from:

(* information about the compiler *)

to:

(* Information about the compiler *)

Changed lines 23-24 from:

(* information about the compiler's lexical parameters *)

to:

(* Information about the compiler's lexical parameters *)

Changed lines 36-48 from:

<*INLINE*> PROCEDURE MODNAME : ARRAY OF CHAR;

  (* Expands to a string literal containing the name of the enclosing module. *)

<*INLINE*> PROCEDURE PROCNAME: ARRAY OF CHAR;

  (* Expands to a string literal containing the name of the enclosing procedure. *)

<*INLINE*> PROCEDURE LINENO : CARDINAL;

  (* Expands to a decimal number literal with the value of the current line number. *)

<*INLINE*> PROCEDURE ROWNO : CARDINAL;

  (* Expands to a decimal number literal with the value of the current row number. *)
to:

(* MACRO *) PROCEDURE MODNAME : ARRAY OF CHAR; (* Expands to a string literal with the name of the enclosing module. *)

(* MACRO *) PROCEDURE PROCNAME: ARRAY OF CHAR; (* Expands to a string literal with the name of the enclosing procedure.*)

(* MACRO *) PROCEDURE LINENO : CARDINAL; (* Expands to a numeric value with the value of the current line number. *)

(* MACRO *) PROCEDURE ROWNO : CARDINAL; (* Expands to a numeric value with the value of the current row number. *)

(* introspection *)

(* MACRO *) PROCEDURE Is Compatible With Type?( <T>; var : <Any Type?> ) : BOOLEAN; (* Expands to TRUE if the type of variable <var> is compatible with type <T>,

   expands to FALSE otherwise. *)
Changed lines 58-64 from:

<*INLINE*> PROCEDURE HASH( literal : ARRAY OF CHAR ) : CARDINAL;

  (* Expands to the hash value of literal excluding quotation marks,
     using the compiler's internal hash function. *)

<*INLINE*> PROCEDURE UPPERHASH( literal : ARRAY OF CHAR ) : CARDINAL;

  (* Expands to the hash value of the uppercase representation of literal excluding quotation marks,
     using the compiler's internal hash function. *)
to:

(* MACRO *) PROCEDURE HASH ( literal : ARRAY OF CHAR ) : LONGCARD; (* Expands to the hash value of literal excluding quotation marks,

   calculated by the compiler's internal hash function. *)

(* MACRO *) PROCEDURE UPPERHASH ( literal : ARRAY OF CHAR ) : LONGCARD; (* Expands to the hash value of the uppercase representation of literal,

   excluding quotation marks, using the compiler's internal hash function. *)
2010-03-11 04:00 by benjk -
Changed lines 49-61 from:

(* information about the target architecture *)

<*INLINE*> PROCEDURE Target Arch? : ARRAY OF CHAR;

  (* Expands to a string literal containing the name of the target architecture. *)

<*INLINE*> PROCEDURE Target Big Endian? : BOOLEAN;

  (* Expands to TRUE if target architecture is big endian, FALSE otherwise. *)

<*INLINE*> PROCEDURE Target Little Endian? : BOOLEAN;

  (* Expands to TRUE if target architecture is little endian, FALSE otherwise. *)

(* miscellaneous *)

to:

(* interface to the compiler's built-in hash function *)