Add more README.md files

This commit is contained in:
Tim Süberkrüb 2022-08-30 14:49:03 +02:00
parent 92e32bf915
commit 6899dd4c0e
5 changed files with 106 additions and 2 deletions

22
README.md Normal file
View file

@ -0,0 +1,22 @@
# Xfunc Implementation
Extending De-/Refunctionalization to the Lambda Cube
## Project overview
```text
├── app CLI application
├── examples Example code in the object language
├── ext/vscode VSCode extension
├── lang Language implementation
│ ├── core Core (typechecker, evaluator)
│ ├── lowering Lowering concrete to abstract syntax tree
│ ├── parser Parse text to concrete syntax tree
│ ├── printer Print abstract syntax tree to text
│ └── syntax Syntax tree definitions
├── lsp LSP language server implementation
├── scripts Utility scripts
└── web Web demo application
```
Please refer to the `README.md` files in the individual subprojects for further information.

31
app/README.md Normal file
View file

@ -0,0 +1,31 @@
# CLI application
## Requirements
* [Rust and Cargo](https://www.rust-lang.org/tools/install)
## Build
```sh
cargo build
```
## Run
Start interactive REPL:
```sh
cargo run
```
Run a file:
```sh
cargo run -- run <filepath>
```
Print available command-line options:
```sh
cargo run -- --help
```

View file

@ -1 +1,44 @@
# VSCode extension
## Requirements
* [VSCode](https://code.visualstudio.com/Download)
* [Node.js](https://nodejs.org/en/download) and [npm](https://www.npmjs.com/package/npm)
* [vsce](https://www.npmjs.com/package/vsce)
To install `vsce` via `npm`, run:
```sh
npm install -g vsce
```
## Develop
Open this folder in VSCode:
```sh
code .
```
Open the "Run and Debug" tab (`Ctrl+Shift+D`).
Select the "Extension" run configuration.
Press `F5` or the "Start Debugging" button in VSCode.
## Package
To package the extension, run:
```sh
vsce package
```
This should create a file named `xfn-0.0.1.vsix`.
## Install
To install the extension in your local VSCode environment, run:
```sh
code --install-extension xfn-0.0.1.vsix
```

3
lsp/README.md Normal file
View file

@ -0,0 +1,3 @@
# LSP Language Server
Rust library providing a language server implementing the [Language Server Protocol (LSP)](https://microsoft.github.io/language-server-protocol/) for the object language.

View file

@ -2,14 +2,19 @@
Based on [tower-lsp-web-demo](https://github.com/silvanshade/tower-lsp-web-demo/), commit `f44085e39430f0f9a9f98e251f67a40a00e3da56`.
## Building
## Requirements
* [Rust and Cargo](https://www.rust-lang.org/tools/install)
* [Node.js](https://nodejs.org/en/download) and [npm](https://www.npmjs.com/package/npm)
## Build
```sh
make deps
make build
```
## Running
## Run
```sh
make run