📦 Out of Context リポジトリ

リポジトリ / emssr / independent_common_compiler

r2
r2 emssr1
# Common scope notebook
r1 emssr2
r2 emssr3
Common 言語の平文を書き、commonc が組んだ内部表現を横で見るブラウザのアプリケーション。
r1 emssr4
r2 emssr5
---
r1 emssr6
r2 emssr7
## 1. 動かす
r2 emssr8
r2 emssr9
必要なのは Python 3.8 以上。
r2 emssr10
r2 emssr11
### Get Started
r2 emssr12
r2 emssr13
```
r2 emssr14
python server.py
r2 emssr15
```
r2 emssr16
r2 emssr17
Windows は `start.ps1`、macOS と Linux は `start.sh` でも同じ。ブラウザが開くはず。
r2 emssr18
r2 emssr19
### repository から動かす場合
r2 emssr20
r2 emssr21
```
r2 emssr22
python setup.py        初回実行したい場合。runtime/ と vendor/pyodide/ を揃える(約 15 MB を取得)
r2 emssr23
python server.py
r2 emssr24
```
r2 emssr25
r2 emssr26
二回目からは `server.py` だけでよい。
r2 emssr27
r2 emssr28
| したいこと | |
r2 emssr29
|---|---|
r2 emssr30
| port を変える | `python server.py --port 9000` |
r2 emssr31
| ブラウザを開かない | `python server.py --no-browser` |
r2 emssr32
| 動作を確かめる | `python test_notebook.py` |
r2 emssr33
| 図と動画を作り直す | `python figures.py`(matplotlib と ffmpeg を使う) |
r2 emssr34
| 配布版フォルダを作る | `python setup.py --dist <出力先>` |
r2 emssr35
r2 emssr36
network の無い PC へ入れるときは、別の PC で `python setup.py --vendor` を実行し、
r2 emssr37
`vendor/` ごとコピーする。
r2 emssr38
r2 emssr39
---
r2 emssr40
r2 emssr41
## 2. VS Code 拡張を入れる
r2 emssr42
r2 emssr43
`vscode/` フォルダを拡張の置き場へコピーする。
r2 emssr44
r2 emssr45
**1. コピーする。**
r2 emssr46
r2 emssr47
Windows(PowerShell):
r2 emssr48
r2 emssr49
```powershell
r2 emssr50
Copy-Item -Recurse vscode "$env:USERPROFILE\.vscode\extensions\common-scope"
r2 emssr51
```
r2 emssr52
r2 emssr53
macOS / Linux:
r2 emssr54
r2 emssr55
```sh
r2 emssr56
cp -r vscode ~/.vscode/extensions/common-scope
r2 emssr57
```
r2 emssr58
r2 emssr59
**2. VS Code を再起動する。**
r2 emssr60
r2 emssr61
`.cmn` を開いて音節に色が付けば入っている。それ以上の機能がまだない...
r2 emssr62
r2 emssr63
**3. コマンドパレット(Windows と Linux は `Ctrl+Shift+P`、macOS は `Cmd+Shift+P`)から呼ぶ。**
r2 emssr64
r2 emssr65
| コマンド | |
r2 emssr66
|---|---|
r2 emssr67
| `Common scope: notebook を開く` | `server.py` を起動して VS Code の中に出す |
r2 emssr68
| `Common scope: このファイルを全パネルへ送る` | `Ctrl+Enter` でも同じ |
r2 emssr69
| `Common scope: パネルを一枚開く` | 層・DAG・ツイ数平面・lane64・接合秩 から選ぶ |
r2 emssr70
| `Common scope: server を止める` | |
r2 emssr71
r2 emssr72
### server.py が見つからないと言われたとき
r2 emssr73
r2 emssr74
拡張は開いている workspace の下から `common_scope_notebook/server.py` を探す。
r2 emssr75
別の場所へ置いたときは、設定にフォルダを絶対パスで書く。
r2 emssr76
r2 emssr77
```json
r2 emssr78
"commonScope.root": "C:\\tools\\common_scope_notebook"
r2 emssr79
```
r2 emssr80
r2 emssr81
| 設定 | 既定 | |
r2 emssr82
|---|---|---|
r2 emssr83
| `commonScope.root` | 空 | `common_scope_notebook` のフォルダ |
r2 emssr84
| `commonScope.port` | 8787 | `server.py` の port |
r2 emssr85
| `commonScope.python` | `python` | `server.py` を動かす実行ファイル |