Knowledge

Oberon-2

Source đź“ť

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:(

Index

improve it
talk page
Learn how and when to remove these messages

references
primary sources
secondary or tertiary sources
"Oberon-2"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
external links
improve this article
excessive
inappropriate
footnote references
Learn how and when to remove this message
Learn how and when to remove this message

Paradigms
Imperative
structured
modular
object-oriented
Wirth
Oberon
Designed by

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑