#interpreter #csp #ap #web #cut #rough #web-interface

bin+lib 伪代码

AP CSP 伪代码解释器(粗略版)

9 个版本

0.1.8 2021年3月19日
0.1.7 2020年6月23日
0.1.4 2020年4月14日
0.1.2 2020年3月30日

#535 in 编程语言

自定义许可证

47KB
1K SLoC

Rust 1K SLoC // 0.0% comments Pest 113 SLoC

AP 伪代码解释器

包含

  • Rust 库
  • 命令行界面
  • 网络界面

构建

网络界面

需要安装:cargo, rust, npm

  1. 安装 wasm-pack
  2. 安装 cargo-generate
    cargo install cargo-generate
    
  3. web/www 内初始化 JavaScript 设置
    cd web/www
    # if doing for first time
    #npm init wasm-app www
    
    cd www
    npm install
    
  4. 运行
    npm run start
    

静态服务

可以构建这个工具,使其可以静态地提供服务。首先,运行 npm run build 将文件放入 web/www/dist,然后提供 dist 目录的服务。确保您的网络服务器(例如 nginx)已将 application/wasm MIME 类型附加到 .wasm 资源。您可以在 nginx 中通过向 /etc/nginx/mime.types 添加以下行来实现此操作:

    application/wasm    wasm

待办事项

  • 列表
    • 需要实现列表作为引用类型
    • 而不是将支撑 Vec 内嵌在 Value 枚举中,将 Vec 的引用嵌入到存储在 Scope 环境中的 Vec 中
    • 这将需要扩展 Scope 环境以存储引用,可能在单独的字典中?
  • 负数
  • 否定
  • NOT
  • 本地函数:在 Rust 中实现
    • CONCAT
    • SUBSTRING
    • RANDOM
    • [ ] 显示 (?)
  • 机器人相关内容
  • 逐步执行

依赖项

~3.5MB
~68K SLoC