257:
5868:
5553:
5541:
66:
25:
168:
629:
into the executable binaries, and exposed in the modules that define the types and/or procedures. If the format of these structures are exposed at the language level (as is the case for ETH Oberon, for example), reflection could be implemented at the
1594:
of a variable to be checked directly. In both cases, once the subtype has been identified, the programmer can make use of any type-bound procedures or variables that are appropriate to the subtype. Examples of these approaches are shown below.
634:
level. It could thus be implemented almost entirely at library level, without changing the language code. Indeed, ETH Oberon makes use of language-level and library-level reflection abilities extensively.
1576:
type of an object. For example, where a Bird object might be instantiated to either a Duck or a Cuckoo, Oberon-2 allows the programmer to respond to the actual type of the object at runtime.
642:
similar to Java and performs bounds and array index checks, etc., that eliminate the potential stack and array bounds overwriting problems and manual memory management issues inherent in
1602:
statement used in Oberon-2 is unrelated to the Pascal and Modula-2 WITH statement. This method of abbreviating access to record fields is not implemented in Oberon or Oberon-2.
5909:
5899:
3520:), etc. but which tests dynamic type. Unlike the two other approaches, however, it does not allow the programmer access to the subtype that has been detected.
5904:
5894:
5557:
5545:
5730:
4979:
556:
4917:
4797:
5094:
5713:
5287:
5872:
5695:
639:
615:
4585:
4933:. quote: "The Oxford Oberon--2 compiler translates source programs into code for a stack-based abstract machine... the Keiko machine"
568:
234:
216:
149:
52:
5257:
5322:
1544:
The use of exported variables and record fields can be restricted to read-only access. This is shown with a "-" visibility flag.
4562:
by
Stephen J. Bevan of Manchester University, UK, based on the one in the Mössenböck and Wirth reference. It is at version 1.4.
5591:
5482:
1536:
Procedures can be bound to a record (or pointer) type. They are equivalent to instance methods in object-oriented terminology.
599:
190:
3549:
87:
80:
4848:
The Oxford Oberon-2 compiler translates source programs into code for a stack-based abstract machine. ... the Keiko machine.
3557:
4607:). Some JOB-specific classes are provided which are Java compatible, but which use a more Oberon-like component hierarchy.
5667:
5651:
5635:
5373:
5357:
5262:
5107:
3533:
607:
564:
503:
471:
451:
294:
4948:
4694:
first compiles to an intermediate bytecode (Keiko bytecode) which can be interpreted with a byte-code interpreter or use
4656:) to Linux and Win32. The Linux port of BlackBox was unavailable before and it originally ran on only Microsoft Windows.
5623:
5087:
587:
1552:
Open arrays which formerly could only be declared as formal parameter types may now be declared as pointer base types.
130:
5266:
611:
514:
281:
102:
4628:. The compiler is written in JavaScript and can thus be called from Web pages to process scripts written in Oberon.
5487:
5441:
5067:
4660:
4653:
4631:
4603:(JOB) was written at the University of Vologda in Russia. It produces object code in the form of Java class files (
650:
via the module architecture ensure fast rebuilds since only modules with changed interfaces need to be recompiled.
491:
417:
5682:
5390:
4746:
591:
487:
38:
4544:
compiles to native machine code and can use a JIT on
Windows, Linux, and macOS. It is created and maintained by
109:
4695:
4600:
643:
373:
368:
198:
194:
178:
598:(it can be emulated somewhat by reflection and through message extension, as demonstrated in ETH Oberon), and
4578:
implementation of Oberon with the addition of some minor .NET-related extensions has been developed at ETHZ.
5848:
5080:
4639:
4634:
is a development system by
Excelsior LLC, Novosibirsk, Russia. It contains an optimizing compiler for Intel
4615:
76:
5815:
5518:
541:
310:
4805:
510:
352:
273:
269:
116:
5708:
5686:
5396:
5047:
4707:
5062:
4642:
development. Available for
Windows and Linux. The compiler is written in Oberon-2 and compiles itself.
5853:
5776:
5615:
4878:
518:
506:
264:
98:
4682:
Oberon-2 can target the Keiko
Virtual machine. For example, like some other language compilers (see
256:
5770:
5755:
5584:
5413:
631:
385:
277:
4973:
545:
380:
317:
1564:
statement of Pascal and Modula-2 was not implemented in Oberon. It is reintroduced in Oberon-2.
548:, Austria. Oberon-2 is a superset of Oberon, is fully compatible with it, and was a redesign of
4930:
4831:
4781:
4691:
4541:
5805:
5751:
5508:
5252:
5223:
5217:
5198:
5192:
5052:
5018:
4589:
409:
4727:
5676:
5659:
5447:
5382:
5365:
4984:
4892:
4884:
4649:
3541:
654:
483:
404:
5426:
5272:
5141:
595:
301:
5312:
4967:
5788:
5703:
5577:
4961:
4827:
4793:
4645:
4552:
4545:
4530:
360:
5024:
5013:
123:
5888:
5663:
5647:
5600:
5503:
5434:
5369:
5347:
5317:
5307:
5161:
5122:
4671:
4567:
549:
537:
479:
459:
356:
306:
291:
44:
5836:
5820:
4588:, which is provided with editor, linker, and Oberon-2 compiler. This compiles to
5745:
5407:
5291:
5209:
4593:
4571:
which includes an operating system, and can directly boot on PC class hardware.
603:
347:
65:
5057:
5003:
4896:
5810:
5782:
5513:
5477:
5247:
5149:
4992:
4988:
4625:
622:
533:
322:
4888:
4581:
1591:
647:
583:
579:
4998:
5643:
5278:
5184:
5155:
5132:
4604:
3537:
626:
526:
455:
5841:
5631:
4862:
4664:
4635:
4621:
4522:
389:
4860:
Collingbourne, H. (February 2000). "What Pascal's inventor did next".
4757:
4611:
5639:
5453:
5173:
5128:
5103:
4687:
4683:
4559:
475:
397:
5007:
4782:
Differences between Oberon and Oberon-2, Mössenböck and Wirth (1993)
618:
at object or class level, but modules can be used for this purpose.
521:
as pointer base types, read-only field export, and reintroduces the
572:
197:
external links, and converting useful links where appropriate into
5627:
5167:
4534:
4526:
3529:
3512:. This is a relation operator with the same precedence as equals (
560:
421:
413:
393:
5072:
5569:
4953:
4575:
4556:
5573:
5076:
5039:
4968:
Programming in Oberon - A derivative of
Programming in Modula-2
4670:
The
Portable Oberon-2 Compiler (OP2) was developed to port the
432:
5025:
Project Oberon. The design of an
Operating System and Compiler
5019:
Project Oberon. The design of an
Operating System and Compiler
4747:"What's New in Component Pascal (changes from Oberon-2 to CP)"
4518:
161:
59:
18:
4804:(Report). Oriel College, University of Oxford. Archived from
665:
The following Oberon-2 code implements a simple binary tree:
4624:
is a compiler that translates the full Oberon language into
4958:"Second International Modula-2 Conference", September 1991.
1579:
The first, most conventional, approach is to rely on the
567:("type bound procedures"). Method calls were resolved at
544:, who is now at Institut fĂĽr Systemsoftware (SSW) of the
5687:
Active Object System (AOS, 2002), Bluebottle (2005), A2
5397:
Active Object System (AOS, 2002), Bluebottle (2005), A2
5010:
as PDF with the friendly permission of
Springer-Verlag)
4999:
Various references including electronic online versions
4987:
H. Mössenböck, N. Wirth, Institut für Computersysteme,
186:
1572:
Oberon-2 provides several mechanisms for checking the
4931:"Design overview for OBC: The Keiko Abstract Machine"
5829:
5798:
5763:
5744:
5722:
5694:
5675:
5614:
5607:
5496:
5470:
5463:
5425:
5406:
5381:
5346:
5339:
5300:
5240:
5233:
5208:
5183:
5140:
5121:
5114:
4832:
Design overview for OBC: The Keiko Abstract Machine
646:and C++. Separate compiling using symbol files and
610:, and it's not possible to define interfaces as in
465:
445:
427:
403:
379:
367:
346:
328:
316:
300:
287:
263:
5068:The Oberon-2 Reflection Model and its Applications
4596:is provided; the compiler is written in Oberon-2.
578:Compared to fully object-oriented languages like
555:Oberon-2 inherited limited reflection and single
181:may not follow Knowledge's policies or guidelines
5058:Pow Tutorial (in Romanian language), by Dan Popa
5014:Design Patterns in Oberon-2 and Component Pascal
3556:) using only 33 grammatical productions in the
638:Oberon-2 provides built-in runtime support for
602:is limited to subclasses of a common class (no
594:, many operations are not methods, there is no
5585:
5088:
5006:Hanspeter Mössenböck (1994). (Available from
4838:(Report). Oriel College, University of Oxford
3552:. The entire Oberon-2 language is described (
559:("type extension") without the interfaces or
8:
3411:(* -------------------------------------- *)
3267:(* -------------------------------------- *)
3096:(* Pass dynamic type to procedure *)
3093:(* -------------------------------------- *)
249:
53:Learn how and when to remove these messages
5611:
5592:
5578:
5570:
5467:
5352:
5343:
5237:
5118:
5095:
5081:
5073:
657:is a refinement (a superset) of Oberon-2.
248:
5027:Niklaus Wirth & JĂĽrg Gutknecht (2013)
5021:Niklaus Wirth & JĂĽrg Gutknecht (2005)
4880:Separate Compilation and Module Extension
625:, but simply reads from type descriptors
563:from Oberon, but added efficient virtual
235:Learn how and when to remove this message
217:Learn how and when to remove this message
150:Learn how and when to remove this message
4618:(GCC) toolchain for program generation.
5844:Programming Languages Achievement Award
5731:Algorithms + Data Structures = Programs
5288:Academy of Sciences of the Soviet Union
5004:Object-Oriented Programming in Oberon-2
4719:
4674:onto commercially available platforms.
3505:A third approach is possible using the
86:Please improve this article by adding
5910:Programming languages created in 1991
5900:Object-oriented programming languages
7:
4548:and uses the Keiko Virtual Machine.
1583:. The second approach is to use the
621:Reflection in Oberon-2 does not use
5714:Wirth–Weber precedence relationship
5048:Oberon Reference page at ETH ZĂĽrich
4648:is a project to bring Oberon 2 and
5905:Oberon programming language family
5895:Modula programming language family
5258:Centrum Wiskunde & Informatica
4586:integrated development environment
3554:Mössenböck & Wirth, March 1995
14:
5063:ftp://ftp.inf.ethz.ch/pub/Oberon/
4985:The Programming Language Oberon-2
4517:Oberon-2 compilers maintained by
34:This article has multiple issues.
5867:
5866:
5552:
5551:
5540:
5539:
502:is an extension of the original
255:
166:
64:
23:
5483:Johannes Kepler University Linz
4974:The Programming Language Oberon
3544:language family is marked by a
42:or discuss these issues on the
4949:Oberon Language Genealogy Tree
4030:REPEAT StatementSeq UNTIL Expr
4024:WHILE Expr DO StatementSeq END
575:-style virtual method tables.
1:
5284:elego Software Solutions GmbH
5263:Digital Equipment Corporation
1516:Oberon-2 extensions to Oberon
614:). Oberon-2 does not support
88:secondary or tertiary sources
4638:, or "via-C" translator for
4612:Optimizing Oberon-2 Compiler
3991:ELSIF Expr THEN StatementSeq
532:It was developed in 1991 at
4582:Programmer's Open Workbench
4057:WITH Guard DO StatementSeq
1590:, which allows the dynamic
515:object-oriented programming
334:; 33 years ago
5926:
5442:BlackBox Component Builder
5008:Johannes Kepler University
4661:real-time operating system
4654:BlackBox Component Builder
3985:IF Expr THEN StatementSeq
5862:
5535:
5355:
4614:compiles to C, using the
4565:There is a release named
3558:extended Backus–Naur form
3548:in the complexity of the
470:
450:
254:
4918:"Specification of Keiko"
4889:10.3929/ethz-a-000945227
4696:just-in-time compilation
4692:Oxford Oberon-2 compiler
4584:(POW!) is a very simple
4542:Oxford Oberon-2 compiler
3562:
2379:
1924:
1609:
667:
5849:Computer History Museum
5816:de:Hanspeter Mössenböck
5519:de:Hanspeter Mössenböck
5267:Systems Research Center
5253:Modula Computer Systems
4877:Crelier, RĂ©gis (1994).
4667:, written in Oberon-2.
4640:cross-platform software
4616:GNU Compiler Collection
4601:Java to Oberon Compiler
3528:The development of the
5488:Oberon microsystems AG
4995:(1991) 12(4): 179-195.
4993:Structured Programming
4798:Specification of Keiko
4745:Pfister, Cuno (2001).
1598:Note that the form of
511:reflective programming
75:relies excessively on
5709:Wirth syntax notation
5281:Research Center (ORC)
4962:From Modula to Oberon
4830:(30 September 2020).
4708:A2 (operating system)
4551:There is an Oberon-2
4521:include versions for
4066:Guard DO StatementSeq
4051:LOOP StatementSeq END
1568:Runtime type checking
1532:Type-bound procedures
582:, in Oberon-2, basic
5854:Marcel Benoist Prize
5777:University of Zurich
4929:Dr. Michael Spivey.
4916:Dr. Michael Spivey.
542:Hanspeter Mössenböck
507:programming language
311:Hanspeter Mössenböck
187:improve this article
16:Programming language
5771:Stanford University
5053:Oberon at SSW, Linz
4991:, January 1992 and
4897:20.500.11850/141604
4883:(PhD). ETH Zurich.
4754:Oberon microsystems
4632:XDS Modula2/Oberon2
4045:DO StatementSeq END
2688:"Cuckoo!"
2122:"Cuckoo!"
1894:"Cuckoo!"
1581:type binding system
329:First appeared
251:
199:footnote references
5791:(1976–77, 1984–85)
4592:executables. Full
4003:CASE Expr OF Case
3560:, as shown below.
2799:"Tweet!"
2634:"Quack!"
2182:"Tweet!"
2161:"Quack!"
1774:"Quack!"
640:garbage collection
546:University of Linz
509:that adds limited
5882:
5881:
5740:
5739:
5677:Operating systems
5567:
5566:
5531:
5530:
5527:
5526:
5421:
5420:
5383:Operating systems
5335:
5334:
5331:
5330:
5185:Operating systems
4728:"Related Reading"
4393:"&"
4321:">="
4309:"<="
517:facilities, open
513:(reflection) and
497:
496:
348:Typing discipline
245:
244:
237:
227:
226:
219:
160:
159:
152:
134:
57:
5917:
5870:
5869:
5612:
5594:
5587:
5580:
5571:
5558:Category: Oberon
5555:
5554:
5546:Category: Modula
5543:
5542:
5468:
5448:Component Pascal
5353:
5344:
5238:
5119:
5097:
5090:
5083:
5074:
5043:
5042:
5040:Official website
4952:" maintained at
4934:
4927:
4921:
4914:
4908:
4907:
4905:
4903:
4874:
4868:
4867:
4857:
4851:
4850:
4845:
4843:
4824:
4818:
4817:
4815:
4813:
4790:
4784:
4779:
4773:
4772:
4770:
4768:
4762:
4756:. Archived from
4751:
4742:
4736:
4735:
4724:
4650:Component Pascal
4508:
4505:
4502:
4499:
4496:
4493:
4490:
4487:
4484:
4481:
4478:
4475:
4472:
4469:
4466:
4463:
4460:
4457:
4454:
4451:
4448:
4445:
4442:
4439:
4436:
4433:
4430:
4427:
4424:
4421:
4418:
4415:
4412:
4409:
4406:
4403:
4400:
4397:
4394:
4391:
4388:
4385:
4382:
4379:
4376:
4373:
4370:
4367:
4364:
4361:
4358:
4355:
4352:
4349:
4346:
4343:
4340:
4337:
4334:
4331:
4328:
4325:
4322:
4319:
4316:
4315:">"
4313:
4310:
4307:
4304:
4303:"<"
4301:
4298:
4295:
4292:
4289:
4286:
4283:
4280:
4277:
4274:
4271:
4268:
4265:
4262:
4259:
4256:
4253:
4250:
4247:
4244:
4241:
4238:
4235:
4232:
4229:
4226:
4223:
4220:
4217:
4214:
4211:
4208:
4205:
4202:
4199:
4196:
4193:
4190:
4187:
4184:
4181:
4178:
4175:
4172:
4169:
4166:
4163:
4160:
4157:
4154:
4151:
4148:
4145:
4142:
4139:
4136:
4133:
4130:
4127:
4124:
4121:
4118:
4115:
4112:
4109:
4106:
4103:
4100:
4097:
4094:
4091:
4088:
4085:
4082:
4079:
4076:
4073:
4070:
4067:
4064:
4061:
4058:
4055:
4052:
4049:
4046:
4043:
4040:
4037:
4034:
4031:
4028:
4025:
4022:
4019:
4016:
4013:
4010:
4007:
4004:
4001:
3998:
3995:
3992:
3989:
3986:
3983:
3980:
3977:
3974:
3971:
3968:
3965:
3962:
3959:
3956:
3953:
3950:
3947:
3944:
3941:
3938:
3935:
3932:
3929:
3926:
3923:
3920:
3917:
3914:
3911:
3908:
3905:
3902:
3899:
3896:
3893:
3890:
3887:
3884:
3881:
3878:
3875:
3872:
3869:
3866:
3863:
3860:
3857:
3854:
3851:
3848:
3845:
3842:
3839:
3836:
3833:
3830:
3827:
3824:
3821:
3818:
3815:
3812:
3809:
3806:
3803:
3800:
3797:
3794:
3791:
3788:
3785:
3782:
3779:
3776:
3773:
3770:
3767:
3764:
3761:
3758:
3755:
3752:
3749:
3746:
3743:
3740:
3737:
3734:
3731:
3728:
3725:
3722:
3719:
3716:
3713:
3710:
3707:
3704:
3701:
3698:
3695:
3692:
3689:
3686:
3683:
3680:
3677:
3674:
3671:
3668:
3665:
3662:
3659:
3656:
3653:
3650:
3647:
3644:
3641:
3638:
3635:
3632:
3629:
3626:
3623:
3620:
3617:
3614:
3611:
3608:
3605:
3602:
3599:
3596:
3593:
3590:
3587:
3584:
3581:
3578:
3575:
3572:
3569:
3566:
3542:Component Pascal
3519:
3515:
3509:
3500:
3493:
3490:
3487:
3484:
3481:
3478:
3475:
3472:
3469:
3466:
3463:
3460:
3457:
3454:
3451:
3448:
3445:
3442:
3439:
3436:
3433:
3430:
3427:
3424:
3421:
3418:
3415:
3412:
3409:
3406:
3403:
3400:
3397:
3394:
3391:
3388:
3385:
3382:
3379:
3376:
3373:
3370:
3367:
3364:
3361:
3358:
3355:
3352:
3349:
3346:
3343:
3340:
3337:
3334:
3331:
3328:
3325:
3322:
3319:
3316:
3313:
3310:
3307:
3304:
3301:
3298:
3295:
3292:
3289:
3286:
3283:
3280:
3277:
3274:
3271:
3268:
3265:
3262:
3259:
3256:
3253:
3250:
3247:
3244:
3241:
3238:
3235:
3232:
3229:
3226:
3223:
3220:
3217:
3214:
3211:
3208:
3205:
3202:
3199:
3196:
3193:
3190:
3187:
3184:
3181:
3178:
3175:
3172:
3169:
3166:
3163:
3160:
3157:
3154:
3151:
3148:
3145:
3142:
3139:
3136:
3133:
3130:
3127:
3124:
3121:
3118:
3115:
3112:
3109:
3106:
3103:
3100:
3097:
3094:
3091:
3088:
3085:
3082:
3079:
3076:
3073:
3070:
3067:
3064:
3061:
3058:
3055:
3052:
3049:
3046:
3043:
3040:
3037:
3034:
3031:
3028:
3025:
3022:
3019:
3016:
3013:
3010:
3007:
3004:
3001:
2998:
2995:
2992:
2989:
2986:
2983:
2980:
2977:
2974:
2971:
2968:
2965:
2962:
2959:
2956:
2953:
2950:
2947:
2944:
2941:
2938:
2935:
2932:
2929:
2926:
2923:
2920:
2917:
2914:
2911:
2908:
2905:
2902:
2899:
2896:
2893:
2890:
2887:
2884:
2881:
2878:
2875:
2872:
2869:
2866:
2863:
2860:
2857:
2854:
2851:
2848:
2845:
2842:
2839:
2836:
2833:
2830:
2827:
2824:
2821:
2818:
2815:
2812:
2809:
2806:
2803:
2800:
2797:
2794:
2791:
2788:
2785:
2782:
2779:
2776:
2773:
2770:
2767:
2764:
2761:
2758:
2755:
2752:
2749:
2746:
2743:
2740:
2737:
2734:
2731:
2728:
2725:
2722:
2719:
2716:
2713:
2710:
2707:
2704:
2701:
2698:
2695:
2692:
2689:
2686:
2683:
2680:
2677:
2674:
2671:
2668:
2665:
2662:
2659:
2656:
2653:
2650:
2647:
2644:
2641:
2638:
2635:
2632:
2629:
2626:
2623:
2620:
2617:
2614:
2611:
2608:
2605:
2602:
2599:
2596:
2593:
2590:
2587:
2584:
2581:
2578:
2575:
2572:
2569:
2566:
2563:
2560:
2557:
2554:
2551:
2548:
2545:
2542:
2539:
2536:
2533:
2530:
2527:
2524:
2521:
2518:
2515:
2512:
2509:
2506:
2503:
2500:
2497:
2494:
2491:
2488:
2485:
2482:
2479:
2476:
2473:
2470:
2467:
2464:
2461:
2458:
2455:
2452:
2449:
2446:
2443:
2440:
2437:
2434:
2431:
2428:
2425:
2422:
2419:
2416:
2413:
2410:
2407:
2404:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2376:
2369:
2366:
2363:
2360:
2357:
2354:
2351:
2348:
2345:
2342:
2339:
2336:
2333:
2330:
2327:
2324:
2321:
2318:
2315:
2312:
2309:
2306:
2303:
2300:
2297:
2294:
2291:
2288:
2285:
2282:
2279:
2276:
2273:
2270:
2267:
2264:
2261:
2258:
2255:
2252:
2249:
2246:
2243:
2240:
2237:
2234:
2231:
2228:
2225:
2222:
2219:
2216:
2213:
2210:
2207:
2204:
2201:
2198:
2195:
2192:
2189:
2186:
2183:
2180:
2177:
2174:
2171:
2168:
2165:
2162:
2159:
2156:
2153:
2150:
2147:
2144:
2141:
2138:
2135:
2132:
2129:
2126:
2123:
2120:
2117:
2114:
2111:
2108:
2105:
2102:
2099:
2096:
2093:
2090:
2087:
2084:
2081:
2078:
2075:
2072:
2069:
2066:
2063:
2060:
2057:
2054:
2051:
2048:
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2021:
2018:
2015:
2012:
2009:
2006:
2003:
2000:
1997:
1994:
1991:
1988:
1985:
1982:
1979:
1976:
1973:
1970:
1967:
1964:
1961:
1958:
1955:
1952:
1949:
1946:
1943:
1940:
1937:
1934:
1931:
1928:
1920:
1913:
1910:
1907:
1904:
1901:
1898:
1895:
1892:
1889:
1886:
1883:
1880:
1877:
1874:
1871:
1868:
1865:
1862:
1859:
1856:
1853:
1850:
1847:
1844:
1841:
1838:
1835:
1832:
1829:
1826:
1823:
1820:
1817:
1814:
1811:
1808:
1805:
1802:
1799:
1796:
1793:
1790:
1787:
1784:
1781:
1778:
1775:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1715:
1712:
1709:
1706:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1679:
1676:
1673:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1601:
1587:
1563:
1540:Read-only export
1528:
1527:
1523:
1511:
1508:
1505:
1502:
1499:
1496:
1493:
1490:
1487:
1484:
1481:
1478:
1475:
1472:
1469:
1466:
1463:
1460:
1457:
1454:
1451:
1448:
1445:
1442:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1418:
1415:
1412:
1409:
1406:
1403:
1400:
1397:
1394:
1391:
1388:
1385:
1382:
1379:
1376:
1373:
1370:
1367:
1364:
1361:
1358:
1355:
1352:
1349:
1346:
1343:
1340:
1337:
1334:
1331:
1328:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1247:
1244:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1220:
1217:
1214:
1211:
1208:
1205:
1202:
1199:
1196:
1193:
1190:
1187:
1184:
1181:
1178:
1175:
1172:
1169:
1166:
1163:
1160:
1157:
1154:
1151:
1148:
1145:
1142:
1139:
1136:
1133:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
917:
914:
911:
908:
905:
902:
899:
896:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
863:
860:
857:
854:
851:
848:
845:
842:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
809:
806:
803:
800:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
749:
746:
743:
740:
737:
734:
731:
728:
725:
722:
719:
716:
713:
710:
707:
704:
701:
698:
695:
692:
689:
686:
683:
680:
677:
674:
671:
655:Component Pascal
524:
484:Component Pascal
441:
438:
436:
434:
342:
340:
335:
302:Designed by
259:
252:
240:
233:
222:
215:
211:
208:
202:
170:
169:
162:
155:
148:
144:
141:
135:
133:
92:
68:
60:
49:
27:
26:
19:
5925:
5924:
5920:
5919:
5918:
5916:
5915:
5914:
5885:
5884:
5883:
5878:
5858:
5825:
5794:
5759:
5736:
5718:
5690:
5671:
5617:
5603:
5598:
5568:
5563:
5523:
5492:
5459:
5417:
5402:
5377:
5327:
5296:
5275:Research Center
5229:
5204:
5195:(1983, Knudsen)
5179:
5136:
5110:
5101:
5038:
5037:
5034:
4980:Oberon 2 Report
4943:
4941:Further reading
4938:
4937:
4928:
4924:
4915:
4911:
4901:
4899:
4876:
4875:
4871:
4866:. No. 160.
4859:
4858:
4854:
4841:
4839:
4836:Spivey's Corner
4828:Spivey, Michael
4826:
4825:
4821:
4811:
4809:
4808:on 4 March 2016
4802:Spivey's Corner
4794:Spivey, Michael
4792:
4791:
4787:
4780:
4776:
4766:
4764:
4760:
4749:
4744:
4743:
4739:
4726:
4725:
4721:
4716:
4704:
4680:
4515:
4513:Implementations
4510:
4509:
4506:
4503:
4500:
4497:
4494:
4491:
4488:
4485:
4482:
4479:
4476:
4473:
4470:
4467:
4464:
4461:
4458:
4455:
4452:
4449:
4446:
4443:
4440:
4437:
4434:
4431:
4428:
4425:
4422:
4419:
4416:
4413:
4410:
4407:
4404:
4401:
4398:
4395:
4392:
4389:
4386:
4383:
4380:
4377:
4374:
4371:
4368:
4365:
4362:
4359:
4356:
4353:
4350:
4347:
4344:
4341:
4338:
4335:
4332:
4329:
4326:
4323:
4320:
4317:
4314:
4311:
4308:
4305:
4302:
4299:
4296:
4293:
4290:
4287:
4284:
4281:
4278:
4275:
4272:
4269:
4266:
4263:
4260:
4257:
4254:
4251:
4248:
4245:
4242:
4239:
4236:
4233:
4230:
4227:
4224:
4221:
4218:
4215:
4212:
4209:
4206:
4203:
4200:
4197:
4194:
4191:
4188:
4185:
4182:
4179:
4176:
4173:
4170:
4167:
4164:
4161:
4158:
4155:
4152:
4149:
4146:
4143:
4140:
4137:
4134:
4131:
4128:
4125:
4122:
4119:
4116:
4113:
4110:
4107:
4104:
4101:
4098:
4095:
4092:
4089:
4086:
4083:
4080:
4077:
4074:
4071:
4068:
4065:
4062:
4059:
4056:
4053:
4050:
4047:
4044:
4041:
4038:
4035:
4032:
4029:
4026:
4023:
4020:
4017:
4014:
4011:
4008:
4005:
4002:
3999:
3996:
3993:
3990:
3987:
3984:
3981:
3978:
3975:
3972:
3969:
3966:
3963:
3960:
3957:
3954:
3951:
3948:
3945:
3942:
3939:
3936:
3933:
3930:
3927:
3924:
3921:
3918:
3915:
3912:
3910:POINTER TO Type
3909:
3906:
3903:
3900:
3897:
3894:
3891:
3888:
3885:
3882:
3879:
3876:
3873:
3870:
3867:
3864:
3861:
3858:
3855:
3852:
3849:
3846:
3843:
3840:
3837:
3834:
3831:
3828:
3825:
3822:
3819:
3816:
3813:
3810:
3807:
3804:
3801:
3798:
3795:
3792:
3789:
3786:
3783:
3780:
3777:
3774:
3771:
3768:
3765:
3762:
3759:
3756:
3753:
3750:
3747:
3744:
3741:
3738:
3735:
3732:
3729:
3726:
3723:
3720:
3717:
3714:
3711:
3708:
3705:
3702:
3699:
3696:
3693:
3690:
3687:
3684:
3681:
3678:
3675:
3672:
3669:
3666:
3663:
3660:
3657:
3654:
3651:
3648:
3645:
3642:
3639:
3636:
3633:
3630:
3627:
3624:
3621:
3618:
3615:
3612:
3609:
3606:
3603:
3600:
3597:
3594:
3591:
3588:
3585:
3582:
3579:
3576:
3573:
3570:
3567:
3564:
3550:language syntax
3526:
3517:
3513:
3507:
3503:
3498:
3495:
3494:
3491:
3488:
3485:
3482:
3479:
3476:
3473:
3470:
3467:
3464:
3461:
3458:
3455:
3452:
3449:
3446:
3443:
3440:
3437:
3434:
3431:
3428:
3425:
3422:
3419:
3416:
3413:
3410:
3407:
3404:
3401:
3398:
3395:
3392:
3389:
3386:
3383:
3380:
3377:
3374:
3371:
3368:
3365:
3362:
3359:
3356:
3353:
3350:
3347:
3344:
3341:
3338:
3335:
3332:
3329:
3326:
3323:
3320:
3317:
3314:
3311:
3308:
3305:
3302:
3299:
3296:
3293:
3290:
3287:
3284:
3281:
3278:
3275:
3272:
3269:
3266:
3263:
3260:
3257:
3254:
3251:
3248:
3245:
3242:
3239:
3236:
3233:
3230:
3227:
3224:
3221:
3218:
3215:
3212:
3209:
3206:
3203:
3200:
3197:
3194:
3191:
3188:
3185:
3182:
3179:
3176:
3173:
3170:
3167:
3164:
3161:
3158:
3155:
3152:
3149:
3146:
3143:
3140:
3137:
3134:
3131:
3128:
3125:
3122:
3119:
3116:
3113:
3110:
3107:
3104:
3101:
3098:
3095:
3092:
3089:
3086:
3083:
3080:
3077:
3074:
3071:
3068:
3065:
3062:
3059:
3056:
3053:
3050:
3047:
3044:
3041:
3038:
3035:
3032:
3029:
3026:
3023:
3020:
3017:
3014:
3011:
3008:
3005:
3002:
2999:
2996:
2993:
2990:
2987:
2984:
2981:
2978:
2975:
2972:
2969:
2966:
2963:
2960:
2957:
2954:
2951:
2948:
2945:
2942:
2939:
2936:
2933:
2930:
2927:
2924:
2921:
2918:
2915:
2912:
2909:
2906:
2903:
2900:
2897:
2894:
2891:
2888:
2885:
2882:
2879:
2876:
2873:
2870:
2867:
2864:
2861:
2858:
2855:
2852:
2849:
2846:
2843:
2840:
2837:
2834:
2831:
2828:
2825:
2822:
2819:
2816:
2813:
2810:
2807:
2804:
2801:
2798:
2795:
2792:
2789:
2786:
2783:
2780:
2777:
2774:
2771:
2768:
2765:
2762:
2759:
2756:
2753:
2750:
2747:
2744:
2741:
2738:
2735:
2732:
2729:
2726:
2723:
2720:
2717:
2714:
2711:
2708:
2705:
2702:
2699:
2696:
2693:
2690:
2687:
2684:
2681:
2678:
2675:
2672:
2669:
2666:
2663:
2660:
2657:
2654:
2651:
2648:
2645:
2642:
2639:
2636:
2633:
2630:
2627:
2624:
2621:
2618:
2615:
2612:
2609:
2606:
2603:
2600:
2597:
2594:
2591:
2588:
2585:
2582:
2579:
2576:
2573:
2570:
2567:
2564:
2561:
2558:
2555:
2552:
2549:
2546:
2543:
2540:
2537:
2534:
2531:
2528:
2525:
2522:
2519:
2516:
2513:
2510:
2507:
2504:
2501:
2498:
2495:
2492:
2489:
2486:
2483:
2480:
2477:
2474:
2471:
2468:
2465:
2462:
2459:
2456:
2453:
2450:
2447:
2444:
2441:
2438:
2435:
2432:
2429:
2426:
2423:
2420:
2417:
2414:
2411:
2408:
2405:
2402:
2399:
2396:
2393:
2390:
2387:
2384:
2381:
2378:
2374:
2371:
2370:
2367:
2364:
2361:
2358:
2355:
2352:
2349:
2346:
2343:
2340:
2337:
2334:
2331:
2328:
2325:
2322:
2319:
2316:
2313:
2310:
2307:
2304:
2301:
2298:
2295:
2292:
2289:
2286:
2283:
2280:
2277:
2274:
2271:
2268:
2265:
2262:
2259:
2256:
2253:
2250:
2247:
2244:
2241:
2238:
2235:
2232:
2229:
2226:
2223:
2220:
2217:
2214:
2211:
2208:
2205:
2202:
2199:
2196:
2193:
2190:
2187:
2184:
2181:
2178:
2175:
2172:
2169:
2166:
2163:
2160:
2157:
2154:
2151:
2148:
2145:
2142:
2139:
2136:
2133:
2130:
2127:
2124:
2121:
2118:
2115:
2112:
2109:
2106:
2103:
2100:
2097:
2094:
2091:
2088:
2085:
2082:
2079:
2076:
2073:
2070:
2067:
2064:
2061:
2058:
2055:
2052:
2049:
2046:
2043:
2040:
2037:
2034:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
1998:
1995:
1992:
1989:
1986:
1983:
1980:
1977:
1974:
1971:
1968:
1965:
1962:
1959:
1956:
1953:
1950:
1947:
1944:
1941:
1938:
1935:
1932:
1929:
1926:
1923:
1918:
1915:
1914:
1911:
1908:
1905:
1902:
1899:
1896:
1893:
1890:
1887:
1884:
1881:
1878:
1875:
1872:
1869:
1866:
1863:
1860:
1857:
1854:
1851:
1848:
1845:
1842:
1839:
1836:
1833:
1830:
1827:
1824:
1821:
1818:
1815:
1812:
1809:
1806:
1803:
1800:
1797:
1794:
1791:
1788:
1785:
1782:
1779:
1776:
1773:
1770:
1767:
1764:
1761:
1758:
1755:
1752:
1749:
1746:
1743:
1740:
1737:
1734:
1731:
1728:
1725:
1722:
1719:
1716:
1713:
1710:
1707:
1704:
1701:
1698:
1695:
1692:
1689:
1686:
1683:
1680:
1677:
1674:
1671:
1668:
1665:
1662:
1659:
1656:
1653:
1650:
1647:
1644:
1641:
1638:
1635:
1632:
1629:
1626:
1623:
1620:
1617:
1614:
1611:
1608:
1599:
1585:
1570:
1561:
1558:
1550:
1542:
1534:
1529:
1525:
1521:
1519:
1518:
1513:
1512:
1509:
1506:
1503:
1500:
1497:
1494:
1491:
1488:
1485:
1482:
1479:
1476:
1473:
1470:
1467:
1464:
1461:
1458:
1455:
1452:
1449:
1446:
1443:
1440:
1437:
1434:
1431:
1428:
1425:
1422:
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1362:
1359:
1356:
1353:
1350:
1347:
1344:
1341:
1338:
1335:
1332:
1329:
1326:
1323:
1320:
1317:
1314:
1311:
1308:
1305:
1302:
1299:
1296:
1293:
1290:
1287:
1284:
1281:
1278:
1275:
1272:
1269:
1266:
1263:
1260:
1257:
1254:
1251:
1248:
1245:
1242:
1239:
1236:
1233:
1230:
1227:
1224:
1221:
1218:
1215:
1212:
1209:
1206:
1203:
1200:
1197:
1194:
1191:
1188:
1185:
1182:
1179:
1176:
1173:
1170:
1167:
1164:
1161:
1158:
1155:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1095:
1092:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
939:
936:
933:
930:
927:
924:
921:
918:
915:
912:
909:
906:
903:
900:
897:
894:
891:
888:
885:
882:
879:
876:
873:
870:
867:
864:
861:
858:
855:
852:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
684:
681:
678:
675:
672:
669:
663:
596:message passing
522:
431:
338:
336:
333:
309:
282:object-oriented
241:
230:
229:
228:
223:
212:
206:
203:
184:
175:This article's
171:
167:
156:
145:
139:
136:
93:
91:
85:
81:primary sources
69:
28:
24:
17:
12:
11:
5:
5923:
5921:
5913:
5912:
5907:
5902:
5897:
5887:
5886:
5880:
5879:
5877:
5876:
5863:
5860:
5859:
5857:
5856:
5851:
5847:Fellow of the
5845:
5839:
5833:
5831:
5827:
5826:
5824:
5823:
5818:
5813:
5808:
5806:JĂĽrg Gutknecht
5802:
5800:
5796:
5795:
5793:
5792:
5786:
5780:
5774:
5767:
5765:
5761:
5760:
5750:
5748:
5742:
5741:
5738:
5737:
5735:
5734:
5726:
5724:
5720:
5719:
5717:
5716:
5711:
5706:
5700:
5698:
5692:
5691:
5681:
5679:
5673:
5672:
5622:
5620:
5609:
5605:
5604:
5599:
5597:
5596:
5589:
5582:
5574:
5565:
5564:
5562:
5561:
5549:
5536:
5533:
5532:
5529:
5528:
5525:
5524:
5522:
5521:
5516:
5511:
5509:JĂĽrg Gutknecht
5506:
5500:
5498:
5494:
5493:
5491:
5490:
5485:
5480:
5474:
5472:
5465:
5461:
5460:
5458:
5457:
5451:
5445:
5438:
5431:
5429:
5423:
5422:
5419:
5418:
5412:
5410:
5404:
5403:
5401:
5400:
5394:
5387:
5385:
5379:
5378:
5356:
5350:
5341:
5337:
5336:
5333:
5332:
5329:
5328:
5326:
5325:
5320:
5315:
5310:
5304:
5302:
5298:
5297:
5295:
5294:
5285:
5282:
5276:
5270:
5260:
5255:
5250:
5244:
5242:
5235:
5231:
5230:
5228:
5227:
5226:(1988, Soviet)
5221:
5214:
5212:
5206:
5205:
5203:
5202:
5201:(1988, Soviet)
5196:
5189:
5187:
5181:
5180:
5178:
5177:
5171:
5165:
5159:
5153:
5146:
5144:
5138:
5137:
5127:
5125:
5116:
5112:
5111:
5102:
5100:
5099:
5092:
5085:
5077:
5071:
5070:
5065:
5060:
5055:
5050:
5045:
5033:
5032:External links
5030:
5029:
5028:
5022:
5016:
5011:
5001:
4996:
4982:
4977:
4971:
4965:
4959:
4956:
4942:
4939:
4936:
4935:
4922:
4909:
4869:
4852:
4819:
4785:
4774:
4763:on 15 May 2011
4737:
4718:
4717:
4715:
4712:
4711:
4710:
4703:
4700:
4679:
4678:Keiko bytecode
4676:
4646:Oberon Revival
4514:
4511:
4498:IdentDef
4486:Qualident
4465:IdentList
4444:ExprList
4399:Designator
4363:MulOp
4339:AddOp
4285:Relation
4273:Element
4258:Set
4189:Factor
4171:Term
4153:SimpleExpr
4141:Expr
4129:ConstExpr
4111:Guard
4099:CaseLabels
4090:Case
4039:":="
3964:":="
3952:Statement
3931:StatementSeq
3922:FieldList
3865:Type
3841:Receiver
3811:FPSection
3796:FormalPars
3778:ForwardDecl
3754:ProcDecl
3736:VarDecl
3718:TypeDecl
3700:ConstDecl
3619:DeclSeq
3589:ImportList
3565:Module
3563:
3525:
3522:
3502:
3496:
3198:SetCuckooSound
2841:SetCuckooSound
2742:SetCuckooSound
2694:SetCuckooSound
2649:SetCuckooSound
2380:
2377:
2372:
1925:
1922:
1916:
1610:
1607:
1604:
1569:
1566:
1557:
1554:
1549:
1546:
1541:
1538:
1533:
1530:
1517:
1514:
668:
662:
659:
495:
494:
468:
467:
463:
462:
448:
447:
443:
442:
429:
425:
424:
407:
401:
400:
383:
377:
376:
371:
365:
364:
350:
344:
343:
330:
326:
325:
320:
314:
313:
304:
298:
297:
289:
285:
284:
267:
261:
260:
243:
242:
225:
224:
179:external links
174:
172:
165:
158:
157:
72:
70:
63:
58:
32:
31:
29:
22:
15:
13:
10:
9:
6:
4:
3:
2:
5922:
5911:
5908:
5906:
5903:
5901:
5898:
5896:
5893:
5892:
5890:
5875:
5874:
5865:
5864:
5861:
5855:
5852:
5850:
5846:
5843:
5840:
5838:
5835:
5834:
5832:
5828:
5822:
5819:
5817:
5814:
5812:
5809:
5807:
5804:
5803:
5801:
5799:Collaborators
5797:
5790:
5787:
5784:
5781:
5778:
5775:
5772:
5769:
5768:
5766:
5762:
5757:
5753:
5749:
5747:
5743:
5733:
5732:
5728:
5727:
5725:
5721:
5715:
5712:
5710:
5707:
5705:
5702:
5701:
5699:
5697:
5693:
5688:
5684:
5683:Oberon System
5680:
5678:
5674:
5669:
5665:
5664:Active Oberon
5661:
5657:
5653:
5649:
5648:Object Pascal
5645:
5641:
5637:
5633:
5629:
5625:
5621:
5619:
5613:
5610:
5606:
5602:
5601:Niklaus Wirth
5595:
5590:
5588:
5583:
5581:
5576:
5575:
5572:
5560:
5559:
5550:
5548:
5547:
5538:
5537:
5534:
5520:
5517:
5515:
5512:
5510:
5507:
5505:
5504:Niklaus Wirth
5502:
5501:
5499:
5495:
5489:
5486:
5484:
5481:
5479:
5476:
5475:
5473:
5471:Organizations
5469:
5466:
5462:
5455:
5452:
5449:
5446:
5443:
5439:
5436:
5435:Object Oberon
5433:
5432:
5430:
5428:
5424:
5415:
5411:
5409:
5405:
5398:
5395:
5392:
5391:Oberon System
5389:
5388:
5386:
5384:
5380:
5375:
5371:
5370:Active Oberon
5367:
5363:
5359:
5354:
5351:
5349:
5345:
5342:
5338:
5324:
5321:
5319:
5318:Luca Cardelli
5316:
5314:
5311:
5309:
5308:Niklaus Wirth
5306:
5305:
5303:
5299:
5293:
5289:
5286:
5283:
5280:
5277:
5274:
5271:
5268:
5264:
5261:
5259:
5256:
5254:
5251:
5249:
5246:
5245:
5243:
5241:Organizations
5239:
5236:
5232:
5225:
5222:
5220:(1980, Wirth)
5219:
5216:
5215:
5213:
5211:
5207:
5200:
5197:
5194:
5191:
5190:
5188:
5186:
5182:
5175:
5172:
5169:
5166:
5163:
5162:Baby Modula-3
5160:
5157:
5154:
5151:
5148:
5147:
5145:
5143:
5139:
5134:
5130:
5126:
5124:
5120:
5117:
5113:
5109:
5105:
5098:
5093:
5091:
5086:
5084:
5079:
5078:
5075:
5069:
5066:
5064:
5061:
5059:
5056:
5054:
5051:
5049:
5046:
5041:
5036:
5035:
5031:
5026:
5023:
5020:
5017:
5015:
5012:
5009:
5005:
5002:
5000:
4997:
4994:
4990:
4986:
4983:
4981:
4978:
4975:
4972:
4969:
4966:
4963:
4960:
4957:
4955:
4951:
4950:
4945:
4944:
4940:
4932:
4926:
4923:
4919:
4913:
4910:
4898:
4894:
4890:
4886:
4882:
4881:
4873:
4870:
4865:
4864:
4856:
4853:
4849:
4837:
4833:
4829:
4823:
4820:
4807:
4803:
4799:
4795:
4789:
4786:
4783:
4778:
4775:
4759:
4755:
4748:
4741:
4738:
4733:
4729:
4723:
4720:
4713:
4709:
4706:
4705:
4701:
4699:
4697:
4693:
4690:, etc.), the
4689:
4685:
4677:
4675:
4673:
4672:Oberon System
4668:
4666:
4662:
4659:XOberon is a
4657:
4655:
4651:
4647:
4643:
4641:
4637:
4633:
4629:
4627:
4623:
4622:Oberon Script
4619:
4617:
4613:
4608:
4606:
4602:
4597:
4595:
4591:
4587:
4583:
4579:
4577:
4572:
4570:
4569:
4568:Native Oberon
4563:
4561:
4558:
4554:
4549:
4547:
4543:
4538:
4536:
4532:
4528:
4524:
4520:
4512:
4477:","
4456:","
4438:")"
4432:"("
4426:"^"
4411:"."
4375:"/"
4369:"*"
4351:"-"
4345:"+"
4297:"#"
4291:"="
4267:"}"
4264:"{"
4249:"~"
4243:")"
4237:"("
4198:")"
4120:":"
4063:"|"
4042:Expr TO Expr
4009:"|"
3976:")"
3943:";"
3895:";"
3859:")"
3853:":"
3847:"("
3832:":"
3823:","
3805:")"
3802:"("
3787:"^"
3766:";"
3745:":"
3727:"="
3709:"="
3694:";"
3685:";"
3673:";"
3655:";"
3637:";"
3613:";"
3604:","
3583:"."
3574:";"
3571:MODULE ident
3561:
3559:
3555:
3551:
3547:
3543:
3539:
3535:
3531:
3523:
3521:
3511:
3497:
2373:
1917:
1605:
1603:
1596:
1593:
1589:
1582:
1577:
1575:
1567:
1565:
1556:FOR statement
1555:
1553:
1547:
1545:
1539:
1537:
1531:
1524:
1515:
666:
660:
658:
656:
653:The language
651:
649:
645:
641:
636:
633:
628:
624:
619:
617:
616:encapsulation
613:
609:
605:
601:
597:
593:
589:
585:
581:
576:
574:
570:
566:
562:
558:
553:
551:
550:Object Oberon
547:
543:
539:
538:Niklaus Wirth
535:
530:
528:
520:
516:
512:
508:
505:
501:
493:
489:
485:
481:
480:Active Oberon
477:
473:
469:
464:
461:
460:Object Oberon
457:
453:
449:
446:Influenced by
444:
440:
430:
426:
423:
419:
415:
411:
408:
406:
402:
399:
395:
391:
387:
384:
382:
378:
375:
372:
370:
366:
362:
358:
354:
351:
349:
345:
331:
327:
324:
321:
319:
315:
312:
308:
307:Niklaus Wirth
305:
303:
299:
296:
293:
290:
286:
283:
279:
275:
271:
268:
266:
262:
258:
253:
247:
239:
236:
221:
218:
210:
207:February 2024
200:
196:
195:inappropriate
192:
188:
182:
180:
173:
164:
163:
154:
151:
143:
132:
129:
125:
122:
118:
115:
111:
108:
104:
101: –
100:
96:
95:Find sources:
89:
83:
82:
78:
73:This article
71:
67:
62:
61:
56:
54:
47:
46:
41:
40:
35:
30:
21:
20:
5871:
5837:Turing Award
5821:Larry Tesler
5746:Workstations
5729:
5655:
5556:
5544:
5361:
5313:MartĂn Abadi
5210:Workstations
5044:, ETH ZĂĽrich
4976:Wirth (1990)
4970:Wirth (1982)
4964:Wirth (1990)
4947:
4925:
4912:
4900:. Retrieved
4879:
4872:
4861:
4855:
4847:
4840:. Retrieved
4835:
4822:
4810:. Retrieved
4806:the original
4801:
4788:
4777:
4765:. Retrieved
4758:the original
4753:
4740:
4731:
4722:
4681:
4669:
4658:
4644:
4630:
4620:
4609:
4598:
4580:
4573:
4566:
4564:
4555:scanner and
4550:
4539:
4516:
4420:""
4183:MulOp Factor
3691:ForwardDecl
3553:
3545:
3527:
3516:), greater (
3506:
3504:
3489:PointerBirds
3114:SetDuckSound
2853:SetDuckSound
2769:SetDuckSound
2640:SetDuckSound
2595:SetDuckSound
2385:PointerBirds
1606:Type binding
1597:
1584:
1580:
1578:
1573:
1571:
1559:
1551:
1543:
1535:
664:
661:Example code
652:
637:
620:
600:polymorphism
577:
554:
531:
499:
498:
246:
231:
213:
204:
189:by removing
176:
146:
137:
127:
120:
113:
106:
94:
74:
50:
43:
37:
36:Please help
33:
5704:Wirth's law
5616:Programming
5408:Workstation
5323:Greg Nelson
5292:Novosibirsk
4902:18 November
4594:source code
4546:Mike Spivey
4195:Designator
4147:SimpleExpr
3973:Designator
3961:Designator
3540:→ Oberon →
1548:Open arrays
623:metaobjects
604:duck typing
557:inheritance
5889:Categories
5811:Tony Hoare
5789:Xerox PARC
5783:ETH Zurich
5764:Workplaces
5696:Formalisms
5514:Tony Hoare
5478:ETH Zurich
5464:Developers
5440:Oberon/F,
5248:ETH Zurich
5234:Developers
4989:ETH Zurich
4767:10 January
4732:Dr. Dobb's
4714:References
4626:JavaScript
4435:Qualident
4405:Qualident
4213:character
4165:AddOp Term
4117:Qualident
4105:ConstExpr
4036:FOR ident
3937:Statement
3916:PROCEDURE
3889:FieldList
3784:PROCEDURE
3760:PROCEDURE
3742:IdentList
3634:ConstDecl
3580:END ident
648:namespaces
584:data types
534:ETH Zurich
525:loop from
466:Influenced
435:.ethoberon
355:, hybrid (
323:ETH Zurich
274:structured
270:Imperative
140:April 2011
110:newspapers
99:"Oberon-2"
77:references
39:improve it
5785:(1968–99)
5779:(1963–67)
5773:(1963–67)
5754:(1977) →
5685:(1987) →
5668:Oberon-07
5666:(1998) →
5662:(1995) →
5658:(1991) →
5654:(1987) →
5650:(1986) →
5646:(1978) →
5642:(1975) →
5638:(1970) →
5634:(1966) →
5630:(1966) →
5626:(1965) →
5618:languages
5427:By others
5374:Oberon-07
5372:(1998) →
5368:(1995) →
5364:(1991) →
5360:(1987) →
5199:Excelsior
5150:Modula-2+
5142:By others
5131:(1975) →
4471:IdentDef
4123:Qualident
3946:Statement
3898:FieldList
3871:Qualident
3790:IdentDef
3772:END ident
3763:IdentDef
3724:IdentDef
3712:ConstExpr
3706:IdentDef
3682:ProcDecl
3652:TypeDecl
3546:reduction
2700:PROCEDURE
2646:PROCEDURE
2592:PROCEDURE
2529:CuckooRec
2472:CuckooRec
2350:MakeSound
2338:MakeSound
2326:MakeSound
2281:MakeSound
2200:MakeSound
2197:PROCEDURE
2050:PROCEDURE
1921:statement
1849:PROCEDURE
1729:PROCEDURE
1588:statement
1360:PROCEDURE
1150:PROCEDURE
763:PROCEDURE
580:Smalltalk
472:Oberon-07
318:Developer
265:Paradigms
191:excessive
45:talk page
5873:Category
5656:Oberon-2
5644:Modula-2
5608:Software
5362:Oberon-2
5348:By Wirth
5279:Olivetti
5156:Modula-3
5133:Modula-2
5123:By Wirth
4796:(2014).
4702:See also
4605:bytecode
4480:IdentDef
3769:DeclSeq
3670:VarDecl
3577:DeclSeq
3538:Modula-2
3510:operator
3501:operator
3426:SetSound
3348:SetSound
3270:SetSound
2979:SetSound
2967:SetSound
2808:SetSound
2703:SetSound
2314:SetSound
2302:SetSound
2290:SetSound
2191:SetSound
2053:SetSound
2008:SomeBird
1966:SomeBird
1900:SetSound
1852:SetSound
1780:SetSound
1732:SetSound
627:compiled
590:are not
527:Modula-2
500:Oberon-2
456:Modula-2
381:Platform
250:Oberon-2
5842:SIGPLAN
5632:ALGOL W
5193:Medos-2
4863:PC Plus
4665:PowerPC
4636:Pentium
4590:Windows
4531:Solaris
4523:Windows
4219:string
4207:number
4177:Factor
4084:RETURN
3886:RECORD
3880:OF Type
3595:IMPORT
2547:DuckRec
2541:POINTER
2523:POINTER
2511:BirdRec
2505:POINTER
2487:BirdRec
2460:BirdRec
2445:DuckRec
2403:BirdRec
2375:POINTER
2095:Cuckoos
2020:Cuckoos
1951:Cuckoos
1909:Cuckoos
1798:Cuckoos
1592:subtype
1574:dynamic
1498:NewTree
1363:NewTree
724:POINTER
691:POINTER
632:library
592:objects
588:classes
569:runtime
565:methods
428:Website
418:Solaris
410:Windows
390:NS32032
374:Lexical
361:dynamic
337: (
278:modular
185:Please
177:use of
124:scholar
5830:Awards
5758:(1985)
5752:Lilith
5689:(2008)
5670:(2007)
5652:Oberon
5640:Modula
5636:Pascal
5497:People
5456:(2013)
5454:Zonnon
5450:(1997)
5444:(1993)
5437:(1989)
5416:(1985)
5399:(2008)
5393:(1987)
5376:(2007)
5358:Oberon
5340:Oberon
5301:People
5265:(DEC)
5224:Kronos
5218:Lilith
5176:(1997)
5174:Alma-0
5170:(1993)
5164:(1993)
5158:(1988)
5152:(1984)
5135:(1978)
5129:Modula
5115:Modula
5108:Oberon
5104:Modula
4842:9 July
4812:9 July
4688:p-code
4684:O-code
4560:parser
4504:ident
4414:ident
4252:Factor
3877:ARRAY
3856:ident
3850:ident
3817:ident
3628:CONST
3598:ident
3534:Pascal
3524:Syntax
3456:String
3378:String
3300:String
3234:String
3210:Cuckoo
3150:String
3060:String
3009:String
2934:String
2883:String
2736:Cuckoo
2664:Cuckoo
2574:Cuckoo
2517:Cuckoo
2481:RECORD
2454:RECORD
2412:RECORD
2391:IMPORT
2382:MODULE
2251:String
2101:Cuckoo
2026:Cuckoo
1975:RECORD
1936:IMPORT
1927:MODULE
1870:Cuckoo
1825:RECORD
1816:Cuckoo
1804:IMPORT
1795:MODULE
1705:RECORD
1684:IMPORT
1675:MODULE
1633:RECORD
1612:MODULE
1520:": -->
1489:RETURN
1354:Search
1345:RETURN
1168:Search
1144:Insert
1123:father
1105:father
1090:father
883:RETURN
847:father
844:REPEAT
817:father
781:Insert
712:RECORD
670:MODULE
608:Python
606:as in
571:using
561:mixins
519:arrays
504:Oberon
476:Zonnon
452:Oberon
398:x86-64
357:static
353:Strong
295:Oberon
288:Family
126:
119:
112:
105:
97:
5756:Ceres
5723:Books
5628:PL360
5624:Euler
5414:Ceres
5273:Acorn
5269:(SRC)
5168:Obliq
4761:(PDF)
4750:(PDF)
4535:macOS
4527:Linux
4492:ident
4450:Expr
4279:Expr
4240:Expr
4159:Term
3826:ident
3646:TYPE
3607:ident
3530:ALGOL
3471:sound
3393:sound
3315:sound
3249:sound
3165:sound
3075:sound
3024:sound
2949:sound
2898:sound
2814:BEGIN
2790:sound
2724:BEGIN
2679:sound
2670:BEGIN
2625:sound
2616:BEGIN
2424:ARRAY
2415:sound
2287:BEGIN
2263:sound
2230:BEGIN
2218:Birds
2173:sound
2152:sound
2134:Ducks
2113:sound
2083:BEGIN
2071:Birds
2038:Ducks
1981:Birds
1957:Ducks
1945:Birds
1885:sound
1876:BEGIN
1831:Birds
1807:Birds
1789:Ducks
1765:sound
1756:BEGIN
1711:Birds
1687:Birds
1678:Ducks
1669:Birds
1645:ARRAY
1636:sound
1615:Birds
1507:Trees
1477:right
1393:BEGIN
1333:right
1249:&
1231:WHILE
1216:BEGIN
1183:ARRAY
1129:right
1003:right
952:UNTIL
946:right
829:BEGIN
796:ARRAY
748:right
730:ARRAY
673:Trees
437:.ethz
422:macOS
414:Linux
394:IA-32
386:Ceres
369:Scope
292:Wirth
131:JSTOR
117:books
5660:Lola
5366:Lola
4954:ETHZ
4904:2018
4844:2023
4814:2023
4769:2007
4663:for
4610:The
4599:The
4576:.NET
4557:Yacc
4540:The
4459:Expr
4387:MOD
4381:DIV
4231:Set
4225:NIL
4135:Expr
4078:EXIT
4012:Case
3967:Expr
3835:Type
3748:Type
3730:Type
3664:VAR
3518:>
3126:Duck
2784:bird
2781:ELSE
2775:bird
2763:Duck
2757:bird
2748:bird
2730:bird
2727:WITH
2718:Bird
2712:bird
2673:bird
2658:bird
2619:bird
2610:Duck
2604:bird
2586:Duck
2562:Bird
2535:Duck
2499:Bird
2433:CHAR
2400:TYPE
2365:Test
2224:Bird
2167:bird
2164:ELSE
2146:bird
2140:Duck
2128:bird
2107:bird
2089:bird
2086:WITH
2077:Bird
2065:bird
2044:Duck
1987:Bird
1963:TYPE
1930:Test
1919:WITH
1879:bird
1864:bird
1837:Bird
1813:TYPE
1759:bird
1750:Duck
1744:bird
1717:Bird
1696:Duck
1693:TYPE
1654:CHAR
1624:Bird
1621:TYPE
1600:WITH
1586:WITH
1560:The
1522:edit
1459:left
1438:name
1420:name
1387:Tree
1372:Tree
1318:ELSE
1315:left
1300:THEN
1294:name
1285:<
1282:name
1267:name
1255:name
1210:Tree
1195:Tree
1189:CHAR
1177:name
1162:Tree
1120:ELSE
1111:left
1102:THEN
1096:name
1087:<
1084:name
1072:name
1060:name
1054:COPY
1039:name
1027:name
985:left
931:ELSE
928:left
913:THEN
907:name
898:<
895:name
880:THEN
874:name
862:name
823:Tree
802:CHAR
790:name
775:Tree
754:Tree
742:left
736:CHAR
715:name
703:Node
697:Node
682:Tree
679:TYPE
612:Java
586:and
540:and
359:and
339:1991
332:1991
103:news
4893:hdl
4885:doi
4553:Lex
4519:ETH
4327:IN
4072:END
4018:END
3997:END
3904:END
3486:END
3477:Out
3450:Out
3438:Out
3414:NEW
3399:Out
3372:Out
3360:Out
3321:Out
3294:Out
3282:Out
3255:Out
3228:Out
3216:Out
3213:));
3171:Out
3144:Out
3132:Out
3129:));
3081:Out
3054:Out
3042:Out
3030:Out
3003:Out
2991:Out
2955:Out
2928:Out
2916:Out
2904:Out
2877:Out
2865:Out
2829:NEW
2817:NEW
2805:END
2802:END
2691:END
2637:END
2553:VAR
2493:END
2466:END
2439:END
2394:Out
2362:END
2278:END
2269:Out
2245:Out
2233:Out
2209:VAR
2188:END
2185:END
2062:VAR
1999:VAR
1993:END
1939:Out
1906:END
1897:END
1861:VAR
1843:END
1786:END
1777:END
1741:VAR
1723:END
1666:END
1660:END
1562:FOR
1504:END
1495:END
1483:NIL
1465:NIL
1408:NEW
1396:NEW
1378:VAR
1369:():
1351:END
1339:END
1336:END
1243:NIL
1201:VAR
1141:END
1138:END
1033:LEN
1015:NEW
1009:NIL
991:NIL
967:NEW
961:NIL
949:END
886:END
808:VAR
757:END
573:C++
536:by
523:FOR
492:Nim
439:.ch
433:www
392:),
193:or
79:to
5891::
5290:,
5106:,
4891:.
4846:.
4834:.
4800:.
4752:.
4730:.
4698:.
4686:,
4574:A
4537:.
4533:,
4529:,
4525:,
4483:}.
4462:}.
4441:}.
4357:OR
4333:IS
4186:}.
4168:}.
4087:].
3949:}.
3697:}.
3676:}}
3536:→
3532:→
3508:IS
3499:IS
3483:Ln
3474:);
3462:pb
3444:Ln
3435:);
3432:pb
3423:);
3420:pb
3405:Ln
3396:);
3384:pb
3366:Ln
3357:);
3354:pb
3342:pd
3333:pb
3327:Ln
3318:);
3306:pb
3288:Ln
3279:);
3276:pb
3261:Ln
3252:);
3240:pb
3222:Ln
3204:pb
3192:pc
3183:pb
3177:Ln
3168:);
3156:pb
3138:Ln
3120:pb
3108:pd
3099:pb
3087:Ln
3078:);
3066:pd
3048:Ln
3036:Ln
3027:);
3015:pc
2997:Ln
2988:);
2985:pd
2976:);
2973:pc
2961:Ln
2952:);
2940:pd
2922:Ln
2910:Ln
2901:);
2889:pc
2871:Ln
2862:);
2859:pd
2850:);
2847:pc
2838:);
2835:pd
2826:);
2823:pc
2766:DO
2739:DO
2721:);
2667:);
2613:);
2580:pd
2568:pc
2556:pb
2544:TO
2526:TO
2508:TO
2430:OF
2427:10
2356:sb
2347:);
2335:);
2323:);
2320:sb
2311:);
2299:);
2275:Ln
2266:);
2239:Ln
2227:);
2143:DO
2104:DO
2080:);
2002:sb
1873:);
1753:);
1651:OF
1648:10
1480::=
1462::=
1441::=
1429:);
1405:);
1324::=
1306::=
1279:IF
1276:DO
1222::=
1192:):
1186:OF
1132::=
1114::=
1081:IF
1078:);
1051:);
1006::=
988::=
976:);
937::=
919::=
892:IF
859:IF
850::=
835::=
805:);
799:OF
733:OF
727:TO
694:TO
552:.
529:.
490:,
488:Go
486:,
482:,
478:,
474:,
458:,
454:,
420:,
416:,
412:,
405:OS
396:,
280:,
276:,
272:,
90:.
48:.
5593:e
5586:t
5579:v
5096:e
5089:t
5082:v
4946:"
4920:.
4906:.
4895::
4887::
4816:.
4771:.
4734:.
4652:(
4507:.
4501:=
4495:.
4489:=
4474:{
4468:=
4453:{
4447:=
4429:|
4423:|
4417:|
4408:{
4402:=
4396:.
4390:|
4384:|
4378:|
4372:|
4366:=
4360:.
4354:|
4348:|
4342:=
4336:.
4330:|
4324:|
4318:|
4312:|
4306:|
4300:|
4294:|
4288:=
4282:.
4276:=
4270:.
4261:=
4255:.
4246:|
4234:|
4228:|
4222:|
4216:|
4210:|
4204:|
4201:]
4192:=
4180:{
4174:=
4162:{
4156:=
4150:.
4144:=
4138:.
4132:=
4126:.
4114:=
4108:.
4102:=
4096:.
4093:=
4081:|
4075:|
4069:}
4060:{
4054:|
4048:|
4033:|
4027:|
4021:|
4015:}
4006:{
4000:|
3994:}
3988:{
3982:|
3979:]
3970:|
3958:[
3955:=
3940:{
3934:=
3928:.
3925:=
3919:.
3913:|
3907:|
3901:}
3892:{
3883:|
3874:|
3868:=
3862:.
3844:=
3838:.
3829:}
3820:{
3814:=
3808:.
3799:=
3793:.
3781:=
3775:.
3757:=
3751:.
3739:=
3733:.
3721:=
3715:.
3703:=
3688:|
3679:{
3667:{
3661:|
3658:}
3649:{
3643:|
3640:}
3631:{
3625:{
3622:=
3616:.
3610:}
3601:{
3592:=
3586:.
3568:=
3514:=
3492:.
3480:.
3468:.
3465:^
3459:(
3453:.
3447:;
3441:.
3429:(
3417:(
3408:;
3402:.
3390:.
3387:^
3381:(
3375:.
3369:;
3363:.
3351:(
3345:;
3339:=
3336::
3330:;
3324:.
3312:.
3309:^
3303:(
3297:.
3291:;
3285:.
3273:(
3264:;
3258:.
3246:.
3243:^
3237:(
3231:.
3225:;
3219:.
3207:(
3201:(
3195:;
3189:=
3186::
3180:;
3174:.
3162:.
3159:^
3153:(
3147:.
3141:;
3135:.
3123:(
3117:(
3111:;
3105:=
3102::
3090:;
3084:.
3072:.
3069:^
3063:(
3057:.
3051:;
3045:.
3039:;
3033:.
3021:.
3018:^
3012:(
3006:.
3000:;
2994:.
2982:(
2970:(
2964:;
2958:.
2946:.
2943:^
2937:(
2931:.
2925:;
2919:.
2913:;
2907:.
2895:.
2892:^
2886:(
2880:.
2874:;
2868:.
2856:(
2844:(
2832:(
2820:(
2811:;
2796:=
2793::
2787:.
2778:)
2772:(
2760::
2754:|
2751:)
2745:(
2733::
2715::
2709:(
2706:*
2697:;
2685:=
2682::
2676:.
2661::
2655:(
2652:*
2643:;
2631:=
2628::
2622:.
2607::
2601:(
2598:*
2589:;
2583::
2577:;
2571::
2565:;
2559::
2550:;
2538:=
2532:;
2520:=
2514:;
2502:=
2496:;
2490:)
2484:(
2478:=
2475:*
2469:;
2463:)
2457:(
2451:=
2448:*
2442:;
2436:;
2421::
2418:*
2409:=
2406:*
2397:;
2388:;
2368:.
2359:)
2353:(
2344:d
2341:(
2332:c
2329:(
2317:(
2308:d
2305:(
2296:c
2293:(
2284:;
2272:.
2260:.
2257:b
2254:(
2248:.
2242:;
2236:.
2221:.
2215::
2212:b
2206:(
2203:*
2194:;
2179:=
2176::
2170:.
2158:=
2155::
2149:.
2137:.
2131::
2125:|
2119:=
2116::
2110:.
2098:.
2092::
2074:.
2068::
2059:(
2056:*
2047:;
2041:.
2035::
2032:d
2029:;
2023:.
2017::
2014:c
2011:;
2005::
1996:;
1990:)
1984:.
1978:(
1972:=
1969:*
1960:;
1954:,
1948:,
1942:,
1933:;
1912:.
1903:;
1891:=
1888::
1882:.
1867::
1858:(
1855:*
1846:;
1840:)
1834:.
1828:(
1822:=
1819:*
1810:;
1801:;
1792:.
1783:;
1771:=
1768::
1762:.
1747::
1738:(
1735:*
1726:;
1720:)
1714:.
1708:(
1702:=
1699:*
1690:;
1681:;
1672:.
1663:;
1657:;
1642::
1639:*
1630:=
1627:*
1618:;
1526:]
1510:.
1501:;
1492:t
1486:;
1474:.
1471:t
1468:;
1456:.
1453:t
1450:;
1447:X
1444:0
1435:.
1432:t
1426:1
1423:,
1417:.
1414:t
1411:(
1402:t
1399:(
1390:;
1384::
1381:t
1375:;
1366:*
1357:;
1348:p
1342:;
1330:.
1327:p
1321:p
1312:.
1309:p
1303:p
1297:^
1291:.
1288:p
1273:)
1270:^
1264:.
1261:p
1258:#
1252:(
1246:)
1240:#
1237:p
1234:(
1228:;
1225:t
1219:p
1213:;
1207::
1204:p
1198:;
1180::
1174:(
1171:*
1165:)
1159::
1156:t
1153:(
1147:;
1135:p
1126:.
1117:p
1108:.
1099:^
1093:.
1075:^
1069:.
1066:p
1063:,
1057:(
1048:1
1045:+
1042:)
1036:(
1030:,
1024:.
1021:p
1018:(
1012:;
1000:.
997:p
994:;
982:.
979:p
973:p
970:(
964:;
958:=
955:p
943:.
940:p
934:p
925:.
922:p
916:p
910:^
904:.
901:p
889:;
877:^
871:.
868:p
865:=
856:;
853:p
841:;
838:t
832:p
826:;
820::
814:,
811:p
793::
787:(
784:*
778:)
772::
769:t
766:(
760:;
751::
745:,
739:;
721::
718:-
709:=
706:*
700:;
688:=
685:*
676:;
644:C
388:(
363:)
341:)
238:)
232:(
220:)
214:(
209:)
205:(
201:.
183:.
153:)
147:(
142:)
138:(
128:·
121:·
114:·
107:·
84:.
55:)
51:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.