zoukankan      html  css  js  c++  java
  • Project Oberon

    Project Oberon

    Project Oberon  http://www.projectoberon.com/

    Project Oberon

    28.11.2018 / 11.12.2018

    license.txt         FAQ

    Project Oberon is a design for a complete desktop computer system from scratch.  Its simplicity and clarity enables a single person to know and implement the whole system, while still providing enough power to make it useful and usable in a production environment. This website contains information and resources for exploring and using the system.  The project is fully described in Project Oberon: The Design of an Operating System, a Compiler, and a Computer — written by the designers, Niklaus Wirth and Jürg Gutknecht. The second (2013) edition of the book and source code are published on Prof. Wirth's website. We provide links to the original material here, and local zipped copies, with kind permission from the authors.

    The Oberon System

    Book Chapters 1-9 pdf mirror

    Using Oberon pdf mirror

    Inner Core Source zip

    Outer Core Source zip

    Tools & Fonts zip

    Oberon RISC Emulator (Peter De Wachter)

    Windows

    Applications

    Book Chapters 10-15 pdf mirror

    Network Source zip

    SCC Net

    Compiler Source zip

    ORS ORB ORG ORP ORTool

    Oberon-07 Langage pdf mirror

    Graphics Editor Source zip

    Tools, Fonts & Libraries zip

    The RISC Computer

    Book Chapters 16-17 pdf mirror

    RISC Architecture pdf mirror

    RISC Design pdf mirror

    OberonStation Verilog Source zip

    Digilent Spartan 3 Verilog Source zip

    SD-Card raw image zip

    -----------------------------------------------------

    来源 https://github.com/vishaps/voc

    ѴishapOberon

    ѴishapOberon是Oberon-2语言和库的免费开源(GPLv3)实现,可用于Linux,BSD,Android,Mac和Windows等传统操作系统。

    Vishap的Oberon编译器(voc)使用C后端(gcc,clang或msc)在Unix,Mac或Windows下编译Oberon程序。Vishap Oberon包括来自Ulm,oo2c和Ofront Oberon编译器的库,以及符合Oakwood Guide for Oberon-2编译器的默认库。

    内容

        安装
        编译“Hello”应用程序
        许可证
        平台支持和移植
        语言支持和库
        历史
        路线图
        贡献者
        名称“ѴishapOberon”的起源
        参考

    安装

    使用以下简单步骤安装Oberon编译器和库很容易:

    1. 安装先决条件,如git,gcc,静态C库,diff utils。
    2. 克隆存储库并运行'make full'。
    3. (可选)使用“make install”安装到系统目录,例如/ opt或/ usr / local / share。
    4. 设置PATH变量以包含编译器二进制文件。

    这些详述如下:

    1.安装先决条件

    平台
    Debian / Ubuntu / Mint ...... apt-get install git
    Fedora / RHEL / CentOS ...... yum install git gcc glibc-staticdnf而不是yum最近的Fedoras)
    FreeBSD的/ OpenBSD系统/ NetBSD的 pkg install git
    OpenSUSE系统 zypper install gcc git-core make glibc-devel-static
    Cygwin的 使用setup-x86 [_x64]添加包git,make,diffutils和gcc-core
    达尔文 在命令行键入'git'并接受安装它的提示。

    更多详细信息,包括MinGW和MS C,在安装

    2.克隆并构建编译器和库

    1. git clone https://github.com/vishaps/voc
    2. cd voc
    3. make full

    make full 将在voc / install的本地存储库下创建一个安装目录。

    mmake full运行ldconfig以配置链接器以在voc / install中查找库,但您需要自己更新程序搜索PATH(请参阅下面的步骤4)。

    3.(可选)安装到系统目录

    运行make install作为根目录下复制VOC /安装到相应的目录,你的操作系统如下:

    系统make install把安装
    Linux的 /opt/voc
    BSD /usr/local/share/voc
    视窗 请参阅Windows安装
    Termux /data/data/com.termux/files/opt/voc

    make installldconfg使用新库位置进行更新

    4.设置PATH环境变量

    由于不同系统和用户管理其PATH的方式有很多种,因此我们会让您更新路径以包含编译器二进制文件。

    双方make fullmake install就具体设置到系统路径显示的说明。

    供参考,这将是:

    安装选择设置路径
    只是 make full export PATH="your-repository-clone/install/bin:$PATH"
    make install 在Linux上 export PATH="/opt/voc/bin:$PATH"
    make install 在BSD上 export PATH="/usr/local/share/voc/bin:$PATH"
    make install 在Windows上 请参阅Windows安装
    make install 在Termux上 export PATH="/data/data/com.termux/files/opt/voc/bin:$PATH"

    另请参阅安装

    编译器根据加载的位置查找安装的其余部分。

    'Hello'应用程序

    附加到Oberon.Log的任何内容都会自动写入stdout,因此以下常规Oberon程序将显示“Hello。”:

    MODULE hello;
      IMPORT Oberon, Texts;
      VAR W: Texts.Writer;
    BEGIN
      Texts.OpenWriter(W);
      Texts.WriteString(W, "Hello."); Texts.WriteLn(W);
      Texts.Append(Oberon.Log, W.buf)
    END hello.

    或者,Oakwood模块Out可用于直接写入stdout:

    MODULE hello;
      IMPORT Out;
    BEGIN
      Out.String("Hello."); Out.Ln
    END hello.

    编译如下:

    voc hello.mod -m

    -m参数告诉voc这是一个主模块,并生成一个可执行的二进制文件。

    像往常一样在Linux(./hello)或Windows(hello)上执行。

    有关编译的更多详细信息,请参阅编译

    查看包含模块的接口。

    要查看模块接口的定义,请使用“showdef”程序。

    $ showdef Out
    DEFINITION Out;
    
      VAR
        IsConsole-: BOOLEAN;
    
      PROCEDURE Char(ch: CHAR);
      PROCEDURE Flush;
      PROCEDURE Int(x: INT64; n: INT64);
      PROCEDURE Ln;
      PROCEDURE LongReal(x: LONGREAL; n: INT16);
      PROCEDURE Open;
      PROCEDURE Real(x: REAL; n: INT16);
      PROCEDURE String(str: ARRAY OF CHAR);
    
    END Out.

    执照

    Vishap Oberon的前端和C后端引擎是Josef Templ的Ofront的一个分支,它已经在FreeBSD许可下发布。与Ofront不同,Vishap Oberon不包括Oberon v4 GUI环境。

    Ulm Oberon图书馆和Ooc图书馆根据GPL分发。使用这些库的专有代码可能不是静态链接的。

    Voc工具在GPLv3下发布。

    libVishapOberon中的大多数运行时都是在GPLv3下分发,运行时异常。

    平台支持和移植

    Vishap Oberon支持32位和64位小端架构,包括Intel x86和x64,arm和ppc。

    它在gcc,clang和Microsoft Visual C下编译。

    安装支持GNU / Linux,MAC OSX,BSD和Windows(本机和cygwin)。

    AC程序(src / tools / make / configure.c)检测运行它的C编译器和操作系统的详细信息。

    以下系统得到认可:

    • Linux,包括Ubuntu和Centos衍生品。
    • BSD,包括OpenBSD和FreeBSD。
    • Windows下的Cygwin,Cygwin下的MingW,Windows上的Ubuntu上的Bash。

    此外,还提供了一个Windows .cmd,用于与Microsoft C一起构建。

    有关详细信息,包括如何添加对无法识别的系统的支持,请参阅 移植

    语言支持和图书馆

    Vishap Oberon支持Oberon 2编程语言,包括类型绑定程序。SYSTEM.Mod包含其他功能和64位支持的一些更改。

    整数和集类型大小:

    类型-O2选项(默认)-OC选项
    SHORTINT 8位 16位
    整数 16位 32位
    LONGINT 32位 64位
    32位 64位

    图书馆

    包含的库便于从主要的Oberon系统移植代码:

    • Oberon V4和S3兼容的库集。
    • Ooc(优化oberon-2编译器)库端口。
    • 乌尔姆的Oberon系统库端口。
    • 奥克伍德标准库。
    • 其他一些可自由再发行的库。

    奥林伍德图书馆支持-O2和-OC选项,而ULM,OOC和ETH系统3库仅适用于-O2(默认)编辑。

    Vishap Oberon还支持Oberon-07的一些功能。

    另请参见功能

    贡献者

    Joseph Templ开发了前端作为将Oberon-2程序转换为语义上等效的C程序的工具。它于1995年获得版权保护,并于2012年转为免费BSD许可证。

    来自Joseph的github存储库:

    前线的设计和实施归功于Josef Templ ...前沿部分基于Regis Crelier的博士论文和Stefan Gehring的毕业论文,均在苏黎世联邦理工学院计算机系统研究所进行。

    Norayr Chilingarian于2013年分叉,从ULM OberonOO2C和ETH Oberon System 3 移植了大量库,并增加了对包括64位系统在内的更多平台的支持。

    自2016年1月以来,David Brown一直致力于为使用MSC,cygwin或mingw的更多平台添加支持。最近,他在编译器中推广了基本类型支持,允许例如32位系统上的64位LONGINT和64位上的32位LONGINT比特系统。

    “ѴishapOberon”这个名字的由来

    奥伯伦

    Oberon是一种编程语言,操作系统和图形用户界面。它最初由Niklaus Wirth和JürgGutknecht在20世纪80年代后期在苏黎世联邦理工学院设计和实施,它表明现代操作系统和GUI的基本原理可以在比现代系统更小的清晰简单的代码中实现。

    Oberon编程语言是Pascal和Modula语言的演变。虽然它添加了垃圾收集,可扩展类型和(在Oberon-2中)类型绑定程序,但它也简化了爱因斯坦和Antoine de Saint-Exupéry的原理:

    尽可能简单,但不简单。(艾尔伯特爱因斯坦)

    如果不再需要添加任何东西,那么最终就会获得完美,但是当不再需要带走任何东西时。(Antoine de Saint-Exupéry,由LewisGalantière翻译。)

    Ѵishap

    可能是栖息在亚美尼亚高地的龙。我们决定将项目命名为“Vishap”,因为编译器和龙之间的关系具有古老的传统。

    此外,Vishaps以故事,小说而闻名。本页将一些技术称为“计算机科幻小说”。其中来到奥伯伦。这带来了另一种意义,Oberon就像外星人,鬼魂。和Vishaps。

    参考

    Oberon
    Oberon2
    Oberon 07
    链接

    历史

    历史

    ========================== End

  • 相关阅读:
    重新安装AD RMS
    Exp00009错误解決
    AD RMS 问题解决 事件ID:139
    如何破解微软的正版增值烦恼
    如何批量更改帐号的属性
    ORA31694,原来是文件有问题
    Standby异常解决
    ASP.NET 常用网站
    .NET C#读取Excel内容
    AD Usre lastLogon Time
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/11356935.html
Copyright © 2011-2022 走看看