├── .cargo └── config ├── .dockerignore ├── .github └── workflows │ ├── pages.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .vscode ├── launch.json └── settings.json ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── crates ├── r0codegen │ ├── Cargo.toml │ └── src │ │ ├── code.rs │ │ ├── err.rs │ │ ├── generator │ │ ├── mod.rs │ │ └── util.rs │ │ ├── lib.rs │ │ ├── scope.rs │ │ └── ty.rs ├── r0vm │ ├── .gitignore │ ├── .vscode │ │ └── settings.json │ ├── Cargo.lock │ ├── Cargo.toml │ ├── readme.md │ └── src │ │ ├── error.rs │ │ ├── lib.rs │ │ ├── opcodes.rs │ │ ├── s0 │ │ ├── io.rs │ │ └── mod.rs │ │ ├── tests │ │ ├── mod.rs │ │ └── ser.rs │ │ ├── util.rs │ │ └── vm │ │ ├── mem.rs │ │ ├── mod.rs │ │ └── ops.rs └── syntax │ ├── .gitignore │ ├── Cargo.toml │ ├── readme.md │ └── src │ ├── ast.rs │ ├── lexer.rs │ ├── lib.rs │ ├── parser │ ├── err.rs │ └── mod.rs │ ├── scope.rs │ ├── span.rs │ ├── token.rs │ └── util.rs ├── docs ├── .gitignore ├── book.toml ├── src │ ├── SUMMARY.md │ ├── c0 │ │ ├── c0.md │ │ ├── expr.md │ │ ├── extended-c0.md │ │ ├── func.md │ │ ├── method_notes.md │ │ ├── notes.md │ │ ├── stdlib.md │ │ ├── stmt.md │ │ ├── token.md │ │ └── ty.md │ ├── compile-pipeline.md │ ├── ebnf.md │ ├── judge.md │ ├── navm │ │ ├── faq.md │ │ ├── index.md │ │ └── instruction.md │ ├── preface.md │ ├── ref-impl.md │ ├── reference.md │ ├── requirement.md │ ├── res │ │ ├── 200331-natrium.png │ │ ├── banner.png │ │ ├── base.png │ │ └── logo.png │ ├── scoring.md │ └── todo.md └── theme │ └── css │ └── additional.css ├── judge.toml ├── readme.md ├── src ├── bin │ └── r0vm.rs ├── lib.rs ├── main.rs ├── test.rs └── util.rs └── web ├── .gitignore ├── Cargo.toml ├── README.md ├── js ├── index.styl ├── index.tsx └── main.tsx ├── package.json ├── src └── lib.rs ├── static └── index.html ├── tests └── app.rs ├── tsconfig.json ├── webpack.config.js ├── webpack.prod.js └── yarn.lock /.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/.cargo/config -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/workflows/pages.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/.github/workflows/pages.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | *.c0 3 | *.o0 4 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/Dockerfile -------------------------------------------------------------------------------- /crates/r0codegen/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/Cargo.toml -------------------------------------------------------------------------------- /crates/r0codegen/src/code.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/src/code.rs -------------------------------------------------------------------------------- /crates/r0codegen/src/err.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/src/err.rs -------------------------------------------------------------------------------- /crates/r0codegen/src/generator/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/src/generator/mod.rs -------------------------------------------------------------------------------- /crates/r0codegen/src/generator/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/src/generator/util.rs -------------------------------------------------------------------------------- /crates/r0codegen/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/src/lib.rs -------------------------------------------------------------------------------- /crates/r0codegen/src/scope.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/src/scope.rs -------------------------------------------------------------------------------- /crates/r0codegen/src/ty.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0codegen/src/ty.rs -------------------------------------------------------------------------------- /crates/r0vm/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | -------------------------------------------------------------------------------- /crates/r0vm/.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/.vscode/settings.json -------------------------------------------------------------------------------- /crates/r0vm/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/Cargo.lock -------------------------------------------------------------------------------- /crates/r0vm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/Cargo.toml -------------------------------------------------------------------------------- /crates/r0vm/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/readme.md -------------------------------------------------------------------------------- /crates/r0vm/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/error.rs -------------------------------------------------------------------------------- /crates/r0vm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/lib.rs -------------------------------------------------------------------------------- /crates/r0vm/src/opcodes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/opcodes.rs -------------------------------------------------------------------------------- /crates/r0vm/src/s0/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/s0/io.rs -------------------------------------------------------------------------------- /crates/r0vm/src/s0/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/s0/mod.rs -------------------------------------------------------------------------------- /crates/r0vm/src/tests/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/tests/mod.rs -------------------------------------------------------------------------------- /crates/r0vm/src/tests/ser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/tests/ser.rs -------------------------------------------------------------------------------- /crates/r0vm/src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/util.rs -------------------------------------------------------------------------------- /crates/r0vm/src/vm/mem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/vm/mem.rs -------------------------------------------------------------------------------- /crates/r0vm/src/vm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/vm/mod.rs -------------------------------------------------------------------------------- /crates/r0vm/src/vm/ops.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/r0vm/src/vm/ops.rs -------------------------------------------------------------------------------- /crates/syntax/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | -------------------------------------------------------------------------------- /crates/syntax/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/Cargo.toml -------------------------------------------------------------------------------- /crates/syntax/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/readme.md -------------------------------------------------------------------------------- /crates/syntax/src/ast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/ast.rs -------------------------------------------------------------------------------- /crates/syntax/src/lexer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/lexer.rs -------------------------------------------------------------------------------- /crates/syntax/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/lib.rs -------------------------------------------------------------------------------- /crates/syntax/src/parser/err.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/parser/err.rs -------------------------------------------------------------------------------- /crates/syntax/src/parser/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/parser/mod.rs -------------------------------------------------------------------------------- /crates/syntax/src/scope.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /crates/syntax/src/span.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/span.rs -------------------------------------------------------------------------------- /crates/syntax/src/token.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/token.rs -------------------------------------------------------------------------------- /crates/syntax/src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/crates/syntax/src/util.rs -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | book 2 | -------------------------------------------------------------------------------- /docs/book.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/book.toml -------------------------------------------------------------------------------- /docs/src/SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/SUMMARY.md -------------------------------------------------------------------------------- /docs/src/c0/c0.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/c0.md -------------------------------------------------------------------------------- /docs/src/c0/expr.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/expr.md -------------------------------------------------------------------------------- /docs/src/c0/extended-c0.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/extended-c0.md -------------------------------------------------------------------------------- /docs/src/c0/func.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/func.md -------------------------------------------------------------------------------- /docs/src/c0/method_notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/method_notes.md -------------------------------------------------------------------------------- /docs/src/c0/notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/notes.md -------------------------------------------------------------------------------- /docs/src/c0/stdlib.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/stdlib.md -------------------------------------------------------------------------------- /docs/src/c0/stmt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/stmt.md -------------------------------------------------------------------------------- /docs/src/c0/token.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/token.md -------------------------------------------------------------------------------- /docs/src/c0/ty.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/c0/ty.md -------------------------------------------------------------------------------- /docs/src/compile-pipeline.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/compile-pipeline.md -------------------------------------------------------------------------------- /docs/src/ebnf.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/ebnf.md -------------------------------------------------------------------------------- /docs/src/judge.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/judge.md -------------------------------------------------------------------------------- /docs/src/navm/faq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/navm/faq.md -------------------------------------------------------------------------------- /docs/src/navm/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/navm/index.md -------------------------------------------------------------------------------- /docs/src/navm/instruction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/navm/instruction.md -------------------------------------------------------------------------------- /docs/src/preface.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/preface.md -------------------------------------------------------------------------------- /docs/src/ref-impl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/ref-impl.md -------------------------------------------------------------------------------- /docs/src/reference.md: -------------------------------------------------------------------------------- 1 | # 参考资料 2 | -------------------------------------------------------------------------------- /docs/src/requirement.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/requirement.md -------------------------------------------------------------------------------- /docs/src/res/200331-natrium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/res/200331-natrium.png -------------------------------------------------------------------------------- /docs/src/res/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/res/banner.png -------------------------------------------------------------------------------- /docs/src/res/base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/res/base.png -------------------------------------------------------------------------------- /docs/src/res/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/res/logo.png -------------------------------------------------------------------------------- /docs/src/scoring.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/src/scoring.md -------------------------------------------------------------------------------- /docs/src/todo.md: -------------------------------------------------------------------------------- 1 | # TODO 2 | 3 | 还没写完。 4 | -------------------------------------------------------------------------------- /docs/theme/css/additional.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/docs/theme/css/additional.css -------------------------------------------------------------------------------- /judge.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/judge.toml -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/readme.md -------------------------------------------------------------------------------- /src/bin/r0vm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/src/bin/r0vm.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/src/test.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/src/util.rs -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/.gitignore -------------------------------------------------------------------------------- /web/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/Cargo.toml -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/README.md -------------------------------------------------------------------------------- /web/js/index.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/js/index.styl -------------------------------------------------------------------------------- /web/js/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/js/index.tsx -------------------------------------------------------------------------------- /web/js/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/js/main.tsx -------------------------------------------------------------------------------- /web/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/package.json -------------------------------------------------------------------------------- /web/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/src/lib.rs -------------------------------------------------------------------------------- /web/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/static/index.html -------------------------------------------------------------------------------- /web/tests/app.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/tests/app.rs -------------------------------------------------------------------------------- /web/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/tsconfig.json -------------------------------------------------------------------------------- /web/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/webpack.config.js -------------------------------------------------------------------------------- /web/webpack.prod.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/webpack.prod.js -------------------------------------------------------------------------------- /web/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BUAA-SE-Compiling/natrium/HEAD/web/yarn.lock --------------------------------------------------------------------------------