Oberon Community Platform Forum
November 21, 2019, 06:35:39 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Comprehensive Active Oberon Language Reference  (Read 4952 times)
R.Auge
Newbie
*
Posts: 9


« on: August 30, 2010, 06:28:21 PM »

I've been wading through numerous web pages and documents in an attempt to find a comprehensive language reference for Active Oberon, but so far I am being led to the conclusion that there isn't one.  Tongue

Am I wrong?  Hopefully, but if not is this at least a (near) complete list of the references needed to have full documentation of the current version of Active Oberon:

The Programming Language Oberon - Revision 1.10.90  N. Wirth
  • the core language

The Programming Language Oberon - Revision 1.11.2008  N. Wirth
  • constant parameters

The Programming Language Oberon-2 - October 1993  H. Mossenbock, N. Wirth
  • read-only export mark "-"
  • open arrays
  • FOR statements
  • ASSERT

Active Oberon Language Report - October 27,2004 P. reali
  • object oriented extensions
  • concurrency support
  • HUGEINT
  • UNTRACED
  • IA32 extensions

So far the only things that I can't seem to find are explanations of IN when used in the context; "MODULE ModName IN ModGroupName;"; and the ANY type.

Can anyone help me out?

Logged
Bernhard T.
Administrator
Full Member
*****
Posts: 164


« Reply #1 on: September 06, 2010, 12:55:47 PM »

MODULE name IN group:
Namespaces are documented here:
   http://www.ocp.inf.ethz.ch/wiki/Documentation/Language?action=download&upname=contexts.pdf

The (hopefully) current EBNF of Active Oberon is in the A2 QuickStart Guide available here:
   http://www.ocp.inf.ethz.ch/wiki/Documentation/Language?action=download&upname=A2QuickStartGuide.pdf

I do not know if ANY is only a placeholder in the manuals or is a real data type.

Bernhard
« Last Edit: September 06, 2010, 01:41:16 PM by Bernhard T. » Logged
staubesv
Administrator
Sr. Member
*****
Posts: 387



« Reply #2 on: September 06, 2010, 01:13:28 PM »

The ANY type is compatible with POINTER TO RECORD, OBJECT and delegates (e.g. PROCEDURE {DELEGATE}).

Examples:

TYPE
   Object = OBJECT VAR a : LONGINT; END Object;

PROCEDURE Foo(x : ANY);
BEGIN
   IF (x IS Object) THEN
       x(Object).a := 5;
   END;
END Foo;

Logged
Bernhard T.
Administrator
Full Member
*****
Posts: 164


« Reply #3 on: September 07, 2010, 12:16:48 PM »

see also http://www.ocp.inf.ethz.ch/wiki/FAQ/Language for notes on CONST & namespaces ...
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!