{"id":13339286,"url":"https://github.com/Narazaka/shioricaller","last_synced_at":"2025-03-11T12:31:53.653Z","repository":{"id":23664412,"uuid":"27035330","full_name":"Narazaka/shioricaller","owner":"Narazaka","description":"SHIORI DLL Caller","archived":false,"fork":false,"pushed_at":"2023-02-03T12:38:05.000Z","size":2800,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-10T16:38:25.950Z","etag":null,"topics":["shiori","ukagaka"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Narazaka.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-23T14:37:07.000Z","updated_at":"2023-10-19T16:14:22.000Z","dependencies_parsed_at":"2023-02-18T09:00:27.048Z","dependency_job_id":null,"html_url":"https://github.com/Narazaka/shioricaller","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narazaka%2Fshioricaller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narazaka%2Fshioricaller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narazaka%2Fshioricaller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narazaka%2Fshioricaller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Narazaka","download_url":"https://codeload.github.com/Narazaka/shioricaller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243035040,"owners_count":20225454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["shiori","ukagaka"],"created_at":"2024-07-29T19:19:54.739Z","updated_at":"2025-03-11T12:31:51.171Z","avatar_url":"https://github.com/Narazaka.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"shioricaller\r\n===================\r\n\r\n![build](https://github.com/Narazaka/shioricaller/workflows/build/badge.svg)\r\n\r\n    shioricaller shiori.dll dirpath \u003c request.txt \u003e response.txt\r\n\r\nダウンロード\r\n-------------------\r\n\r\n[Releases](https://github.com/Narazaka/shioricaller/releases) からどうぞ\r\n\r\nこれは何か？\r\n-------------------\r\n\r\nshioricallerは[SHIORI DLL](http://usada.sakura.vg/contents/specification2.html#shioriwindows)規格に基づいたload(), request(), unload()の呼び出しを行います。\r\n\r\n1. 第一引数の名前のshiori.dllを使う。\r\n2. 第二引数を引数文字列としてload()を呼ぶ。\r\n3. stdinに入力された文字列をSHIORIリクエスト単位で分割してrequest()を呼び、返却された文字列をstdoutに出力する。\r\n4. unload()を呼ぶ。\r\n\r\n何に使えるか？\r\n-------------------\r\n\r\nSHIORI DLL規格を満たすshiori.dllは、往々にして独自のスクリプト言語を持ちます。\r\n\r\n華和梨、里々、YAYA、美坂や他の多くのshiori.dllはそれぞれ伺かのSHIORI用途のみで存在する独自言語を持っています。\r\n\r\nそれにもかかわらず、その言語の処理系をコマンドラインで提供するものは多くありません。\r\nアプリケーションのデバッグは、言語記述によるものか、内容によるものかの切りわけが必要なのにこれでは不便きわまりません。\r\n\r\nそこでshioricallerは、それらshiori.dllが処理する独自言語の、所謂「コマンドライン版」のような使用方法を提供します。\r\n\r\n実例\r\n-------------------\r\n\r\n下記サンプルは[examples](examples)にファイルとしても存在します。\r\n\r\n手っ取り早くテストしたい場合に便利です。\r\n\r\n### YAYAの場合\r\n\r\nYAYAには「コマンドライン版」がありませんが、以下のようにrequestに任意の処理を書くことによって、コマンドラインから「YAYA言語」の自由なテストが行えます(Windowsの場合)。\r\n\r\n    1. C:\\path\\to\\ に以下を配置\r\n    --------------------\r\n    - yaya.txt\r\n    - test.dic\r\n    - yaya.dll\r\n    --------------------\r\n    \r\n    2. C:\\path\\to\\yaya.txt に以下を記述\r\n    --------------------\r\n    dic, test.dic\r\n    --------------------\r\n    \r\n    3. C:\\path\\to\\test.dic に以下を記述\r\n    --------------------\r\n    request\r\n    {\r\n      \"Hello YAYA world.\"\r\n    }\r\n    --------------------\r\n    \r\n    4. 以下のコマンドを実行\r\n    shioricaller C:\\path\\to\\yaya.dll C:\\path\\to\\ \u003c NUL\r\n\r\n### 里々の場合\r\n\r\n里々にも「コマンドライン版」がありませんが、以下のようにテスト用エントリに任意の処理を書くことによって、コマンドラインから「里々言語」の自由なテストが行えます(Windowsの場合)。\r\n\r\n    1. C:\\path\\to\\ に以下を配置\r\n    --------------------\r\n    - dictest.txt\r\n    - satori.dll\r\n    - request.txt\r\n    --------------------\r\n    \r\n    2. C:\\path\\to\\dictest.txt に以下を記述\r\n    --------------------\r\n    ＊OnTest\r\n    こんにちは里々のセカイ\r\n    --------------------\r\n    \r\n    3. C:\\path\\to\\request.txt に以下を記述(改行は2回入れてください)\r\n    --------------------\r\n    GET SHIORI/3.0\r\n    ID: OnTest\r\n    \r\n    \r\n    --------------------\r\n    \r\n    4. 以下のコマンドを実行\r\n    shioricaller C:\\path\\to\\satori.dll C:\\path\\to\\ \u003c request.txt\r\n\r\n### 美坂の場合\r\n\r\n美坂にも「コマンドライン版」がありませんが、以下のようにテスト用エントリに任意の処理を書くことによって、コマンドラインから「美坂言語」の自由なテストが行えます(Windowsの場合)。\r\n\r\n    1. C:\\path\\to\\ に以下を配置\r\n    --------------------\r\n    - misaka.txt\r\n    - misaka.ini\r\n    - misaka.dll\r\n    - request.txt\r\n    --------------------\r\n    \r\n    2. C:\\path\\to\\misaka.ini に以下を記述\r\n    --------------------\r\n    dictionaries\r\n    {\r\n    misaka.txt\r\n    }\r\n    --------------------\r\n    \r\n    3. C:\\path\\to\\misaka.txt に以下を記述\r\n    --------------------\r\n    $OnTest\r\n    Hello misaka world.\r\n    --------------------\r\n    \r\n    4. C:\\path\\to\\request.txt に以下を記述(改行は2回入れてください)\r\n    --------------------\r\n    GET SHIORI/3.0\r\n    ID: OnTest\r\n    \r\n    \r\n    --------------------\r\n    \r\n    5. 以下のコマンドを実行\r\n    shioricaller C:\\path\\to\\misaka.dll C:\\path\\to\\ \u003c request.txt\r\n\r\n### 華和梨の場合\r\n\r\n華和梨には「コマンドライン版」である「幸水」がありますが、shioricallerでも以下の方法で一応テスト可能です(Windowsの場合)。\r\n\r\n    1. C:\\path\\to\\ に以下を配置\r\n    --------------------\r\n    - kawarirc.kis\r\n    - shiori.dll\r\n    - request.txt\r\n    --------------------\r\n    \r\n    2. C:\\path\\to\\kawarirc.kis に以下を記述\r\n    --------------------\r\n    System.Callback.OnGET: (Hello KAWARI world.)\r\n    --------------------\r\n    \r\n    3. C:\\path\\to\\request.txt に以下を記述(改行は2回入れてください)\r\n    --------------------\r\n    GET SHIORI/3.0\r\n    ID: OnTest\r\n    \r\n    \r\n    --------------------\r\n    \r\n    4. 以下のコマンドを実行\r\n    shioricaller C:\\path\\to\\shiori.dll C:\\path\\to\\ \u003c request.txt\r\n\r\n複数のリクエスト\r\n--------------------------\r\n\r\n以下のような連続したリクエストは有効です。空行の`[改行]`が渡った時点でレスポンスが返ってきて、合計2レスポンスが返ります。\r\n\r\n```\r\nGET SHIORI/3.0[改行]\r\nID: version[改行]\r\n[改行]\r\nGET SHIORI/3.0[改行]\r\nID: OnTest[改行]\r\n[改行]\r\n```\r\n\r\nライセンス\r\n--------------------------\r\n\r\n[Zlibライセンス](LICENSE)の元で配布いたします。\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNarazaka%2Fshioricaller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNarazaka%2Fshioricaller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNarazaka%2Fshioricaller/lists"}