豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 240 行 · 12100 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「编译器核心」之「网页汇编核心」之「模块结构」之书。
寻观「编译器核心」之「网页汇编核心」之「存储模块」之书。
寻观「编译器核心」之「网页汇编核心」之「状态模块」之书。
寻观「编译器核心」之「网页汇编核心」之「状态二进制」之书。
寻观「裸机后端」之「模拟平台」之书。
寻观「裸机后端」之「持久盘构造」之书。
寻观「裸机后端」之「系统构造」之书。

「:文言:豫言系统之器:构建并运行豫言操作系统——内核、用户态客体执行器、以普通豫言所书之壳、持久之盘。汉语:命令行工具 yy豫言系统。用法:yy豫言系统 构建|运行 [--架构 臂六十四|兼容六十四|两者] [--输出 目录] [--壳 源。豫] [--预置 目录树] [--盘容量 扇区数] [--构 ./yy豫构.wasm] [--编译器 ./yy4_bs.wasm]。构建:用真编译器造执行器(豫言操作系统/裸机/客体二号,底层模式)与壳(缺省 豫言操作系统/裸机/壳/壳。豫,普通豫言,目标 wasmgc),按预置树(缺省 豫言操作系统/裸机/示例,目录不存在或写 --预置 无 则为空盘;树中以 。豫 结尾的文件编成 wasm 入盘,以 .底层库 结尾的标记文件构建同名底层包入盘)离线造出持久盘(缺省 65536 个扇区,即 32 MiB),并造出 ARM64 与 AMD64 的可启动镜像;打印各架构的 QEMU 命令。运行:构建其中一个架构(缺省 兼容六十四)后启动 QEMU,串口接终端——壳在串口上交互,输入“退出”结束;终端里的 Ctrl-C 送进系统(打断子进程),系统卡死时按 Ctrl-A 再按 X 强制结束 QEMU。须在仓库根目录、已安装 QEMU 时运行。:」
「命令行值」乃化「字符串」而化「字符串」而「字符串」也。
「命令行值」者会「键」而
  会「缺省」而
    递归虑「找」其化(「列」于「字符串」)而「字符串」者会「们」而
      鉴「们」而
        有「罄」则「缺省」
        或有「缀」于「首」于「尾」则
          若「串相等」于「首」于「键」则鉴「尾」而
            有「缀」于「值」于「后」则「值」
            或有「罄」则「缺省」
          否则
            「找」于「尾」
    而
    「找」于(「命令行参数」之「获取参数」于「元」)
也。

「架构名」乃化「爻」而「字符串」也。
「架构名」者会「臂」而
  若「臂」则『臂六十四』否则『兼容六十四』
也。

「造盘文件」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「字符串」
也。
「造盘文件」者会「构」而会「编」而会「输出」而会「预置」而会「容量文」而
  虑「参们」者
    若「或者」于(「串相等」于「预置」于『』)于(「串相等」于「预置」于『无』)则
      「罄」授以「字符串」
    否则
      「编译预置们」于「构」于「编」于(「输出」附『/预置』)
      于(「目录树造盘参数」于「预置」于『』)
  而
  虑「盘」者「按参数造持久盘」于(「理解整数」于「容量文」)于「参们」而
  虑「盘路径」者「输出」附『/豫言系统.盘』而
  虑「写」者「文件系统」之「写文件字节串」于「盘路径」于「盘」而
  「盘路径」
也。

「造系统镜像」乃
  化「爻」而
  化「网页状态模块」而
  化「字节串」而
  化「字符串」而
  「字符串」
也。
「造系统镜像」者会「臂」而会「状」而会「客字」而会「输出」而
  虑「镜像」者「造执行器镜像」于「臂」于「状」于「客字」于「阴」于「阳」而
  虑「路径」者
    「输出」附『/豫言系统-』附(「架构名」于「臂」)附『.镜像』而
    虑「写」者「文件系统」之「写文件字节串」于「路径」于「镜像」而
    「路径」
也。

「模拟程序名」乃化「爻」而「字符串」也。
「模拟程序名」者会「臂」而
  若「臂」则『qemu-system-aarch64』否则『qemu-system-x86_64』
也。

「模拟参数」乃化「爻」而化「字符串」而化「字符串」而(「列」于「字符串」)也。
「模拟参数」者会「臂」而会「镜像」而会「盘路径」而
  虑「共参」者
    ((「列」于「字符串」)也(「列」【
      『-accel』,
      『tcg』,
      『-m』,
      『128M』,
      『-smp』,
      『1』,
      『-display』,
      『none』,
      『-monitor』,
      『none』,
      『-chardev』,
      『stdio,id=yy_serial,mux=on,signal=off』,
      『-serial』,
      『chardev:yy_serial』,
      『-no-reboot』,
      『-kernel』,
      「镜像」
    】)
    )而
    虑「机参」者「裸机模拟平台参数」于「臂」于「阳」于「阳」而
    虑「设备参」者
      ((「列」于「字符串」)也(「列」【
        『-drive』,
        『file=』附「盘路径」附『,if=none,id=yy_disk,format=raw』,
        『-device』,
        「裸机磁盘设备参数」于「阳」
      】)
      )
    而
    「附加」授以「字符串」
    于「设备参」
    于(「附加」授以「字符串」于「机参」于「共参」)
也。

「打印架构」乃化「字符串」而化「爻」而化「字符串」而化「字符串」而「有」也。
「打印架构」者会「标题」而会「臂」而会「镜像」而会「盘路径」而
  虑「无」者「打印行」于(「标题」附『:』附「镜像」)而
  「打印行」于(『运行:』附(「模拟程序名」于「臂」)附『 』附(「间合」
    于『 』
    于(「模拟参数」于「臂」于「镜像」于「盘路径」)))
也。

「构建全部」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「有」
也。
「构建全部」者会「构」而会「编」而会「输出」而会「壳源」而会「预置」而会「容量文」而会「架构」而
  虑「无」者「运行工具」于『mkdir』于(「列」【『-p』,「输出」】)而
  虑「执行器」者
    「构建豫言包」于「构」于「编」于『客体二号』于(「输出」附『/yy客体二号.wasm』)而
    虑「壳」者
      「编译豫言源」于「构」于「编」于「壳源」于(「输出」附『/壳.wasm』)而
      虑「状」者
        「读取状态二进制」于(「文件系统」之「读文件字节串」于「执行器」)而
        虑「客字」者「文件系统」之「读文件字节串」于「壳」而
        虑「盘路径」者
          「造盘文件」于「构」于「编」于「输出」于「预置」于「容量文」而
          虑「无」者(「打印行」于(『已造持久盘:』附「盘路径」))而
          虑「臂路径」者
            (若「串相等」于「架构」于『兼容六十四』则『』否则「造系统镜像」于「阳」于「状」于「客字」于「输出」)
          而
          虑「兼路径」者
            (若「串相等」于「架构」于『臂六十四』则『』否则「造系统镜像」于「阴」于「状」于「客字」于「输出」)
          而
          虑「无」者
            (若「串相等」于「臂路径」于『』则「元」否则「打印架构」于『ARM64 镜像』于「阳」于「臂路径」于「盘路径」)
          而
          若「串相等」于「兼路径」于『』则
            「元」
          否则
            「打印架构」于『AMD64 镜像』于「阴」于「兼路径」于「盘路径」
也。

「运行系统」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「有」
也。
「运行系统」者会「构」而会「编」而会「输出」而会「壳源」而会「预置」而会「容量文」而会「架构」而
  虑「臂」者「串相等」于「架构」于『臂六十四』而
  虑「无」者
    「构建全部」于「构」于「编」于「输出」于「壳源」于「预置」于「容量文」于「架构」而
    虑「镜像」者
      「输出」附『/豫言系统-』附(「架构名」于「臂」)附『.镜像』而
      虑「盘路径」者「输出」附『/豫言系统.盘』而
      虑「无」者
        「打印行」
          于
          『提示:进入壳后输入 帮助 查看命令,输入 退出 结束;Ctrl-C 可打断运行中的程序;系统卡死时按 Ctrl-A 再按 X 强制结束 QEMU。』
      而
      虑「无」者
        (
          若「或者」
            于(「串相等」于「预置」于『』)
            于(「串相等」于「预置」于『无』)则
              「元」
          否则
            「打印行」
              于『试试:运行 /程序/斐波那契.wasm 10,或 运行 /程序/你好.wasm』
        )
      而
      虑「码」者
        「操作系统」之「子进程」之「运行并继承标准流」
          于(「模拟程序名」于「臂」)
          于(「模拟参数」于「臂」于「镜像」于「盘路径」)
      而
      「打印行」于(『QEMU 已退出,退出码 』附(「整数表示」于「码」))
也。

「主」乃化「有」而「有」也。
「主」者会「无」而
  虑「构」者「命令行值」于『--构』于『./yy豫构.wasm』而
  虑「编」者「命令行值」于『--编译器』于『./yy4_bs.wasm』而
  虑「输出」者「命令行值」于『--输出』于『豫言系统输出』而
  虑「壳源」者「命令行值」于『--壳』于『豫言操作系统/裸机/壳/壳。豫』而
  虑「预置默认」者
    若「文件系统」之「路径是文件夹」于『豫言操作系统/裸机/示例』则『豫言操作系统/裸机/示例』否则『』而
    虑「预置」者「命令行值」于『--预置』于「预置默认」而
    虑「容量文」者「命令行值」于『--盘容量』于『65536』而
    鉴「命令行参数」之「获取参数」于「元」而
      有(「缀」于「令」于「余」)则
        若「串相等」于「令」于『构建』则
          「构建全部」
            于「构」
            于「编」
            于「输出」
            于「壳源」
            于「预置」于「容量文」
            于(「命令行值」于『--架构』于『两者』)
        否则
          (
            若「串相等」于「令」于『运行』则
              「运行系统」
                于「构」
                于「编」
                于「输出」
                于「壳源」
                于「预置」
                于「容量文」
                于(「命令行值」于『--架构』于『兼容六十四』)
            否则
              「发生事故」授以「有」
              于
              『用法:yy豫言系统 构建|运行 [--架构 臂六十四|兼容六十四|两者] [--输出 目录] [--壳 源。豫] [--预置 目录树] [--盘容量 扇区数] [--构 ./yy豫构.wasm] [--编译器 ./yy4_bs.wasm]』
          )
      或有「其他」则
        「发生事故」授以「有」于『用法:yy豫言系统 构建|运行 [选项]』
也。

「主」于「元」。