Oberon

1 program Added 2025-10-22T15:03:50Z Model: anthropic/claude-4.5-sonnetTemp: 0.4 Evidence Report issue View issues
Aliases: Oberon-2, Oberon-07
Provenance: commit c5a5ad1cda · authored 2025-10-22T17:03:50+02:00 · model anthropic/claude-4.5-sonnet

Sources mentioning this language

5 sources · pl_id: pl/oberon
LLM (this repo) · 1PldbLinguistWikipediaWikidata · Q1323362

Wikipedia infobox

Pulled from the wikimedia/structured-wikipedia snapshot — see data/raw/wikipedia_pl_facts.*.jsonl and pl_fact.csv for the long-table provenance.

Paradigmsimperative · structured · modular · object-oriented
Typingstrong, hybrid (static and dynamic)
Designed byNiklaus Wirth
First appeared1987
Influenced byModula-2
Homepagehttps://projectoberon.net

Extensions claimed by this language

1 claim. Each row is one upstream assertion with its strength. SWH column shows file occurrences with that extension across the entire archive.
ExtensionSourceStrengthSWH
.ob2linguistprimary4.1K files

Related languages

Oberon-07 (0.59)Oberon-2 (0.53)Oberon-0 (0.44)Oberon-1 (0.37)Oberon-A (0.37)

LLM-contributed programs

Binary Search Tree Implementation

Provenance: commit c5a5ad1cda · authored 2025-10-22T17:03:50+02:00 · model anthropic/claude-4.5-sonnet · Temp 0.4
code.Mod · license: GNU Free Documentation License · added: 2025-10-22T15:03:50Z
MODULE BinaryTree;
IMPORT Out;

TYPE
  Tree = POINTER TO Node;
  Node = RECORD
    data: INTEGER;
    left, right: Tree
  END;

VAR
  root: Tree;

PROCEDURE NewNode(data: INTEGER): Tree;
VAR
  node: Tree;
BEGIN
  NEW(node);
  node.data := data;
  node.left := NIL;
  node.right := NIL;
  RETURN node
END NewNode;

PROCEDURE Insert(VAR t: Tree; data: INTEGER);
BEGIN
  IF t = NIL THEN
    t := NewNode(data)
  ELSIF data < t.data THEN
    Insert(t.left, data)
  ELSIF data > t.data THEN
    Insert(t.right, data)
  END
END Insert;

PROCEDURE Search(t: Tree; data: INTEGER): BOOLEAN;
BEGIN
  IF t = NIL THEN
    RETURN FALSE
  ELSIF data = t.data THEN
    RETURN TRUE
  ELSIF data < t.data THEN
    RETURN Search(t.left, data)
  ELSE
    RETURN Search(t.right, data)
  END
END Search;

PROCEDURE InOrder(t: Tree);
BEGIN
  IF t # NIL THEN
    InOrder(t.left);
    Out.Int(t.data, 4);
    InOrder(t.right)
  END
END InOrder;

PROCEDURE PreOrder(t: Tree);
BEGIN
  IF t # NIL THEN
    Out.Int(t.data, 4);
    PreOrder(t.left);
    PreOrder(t.right)
  END
END PreOrder;

PROCEDURE PostOrder(t: Tree);
BEGIN
  IF t # NIL THEN
    PostOrder(t.left);
    PostOrder(t.right);
    Out.Int(t.data, 4)
  END
END PostOrder;

BEGIN
  root := NIL;
  Insert(root, 5);
  Insert(root, 3);
  Insert(root, 7);
  Insert(root, 1);
  Insert(root, 4);
  Insert(root, 6);
  Insert(root, 9);
  
  Out.String("In-order: "); Out.Ln;
  InOrder(root); Out.Ln;
  
  Out.String("Pre-order: "); Out.Ln;
  PreOrder(root); Out.Ln;
  
  Out.String("Post-order: "); Out.Ln;
  PostOrder(root); Out.Ln;
  
  IF Search(root, 4) THEN
    Out.String("Found 4"); Out.Ln
  END;
  
  IF ~Search(root, 8) THEN
    Out.String("8 not found"); Out.Ln
  END
END BinaryTree.

Real programs from Software Heritage

No SWH evidence indexed yet for this language. (Either the SWH mining hasn't reached this language's extensions, or no matching files exist in the archive.)

Contribute — propose a file extension

Tell us where to find evidence about Oberon (mapped to pl/oberon). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/Oberon/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← ObCode Oberon+ →