Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shell stacking

C3 Summer Creatathon 2025の作品です。「シェルスクリプトで言語処理系を書く」というコンセプトの下に制作しました。

スタックベースの言語で、各命令が1文字のよくある難解プログラミング言語です。

Requirements

このスクリプトはBashでの動作を想定しています。

動作確認済みのバージョン:

  • GNU bash 5.2.21(1)-release (x86_64-pc-linux-gnu)

Installation

スクリプト本体を任意の場所に配置して下さい。
例えば、curlがインストール済みの環境であれば、以下のコマンドでスクリプトのダウンロードを行うことが可能です。

curl -fsSO https://raw.githubusercontent.com/Bokume2/shell_stacking/main/shell_stacking.sh

サンプルコードまでまとめて入手したい場合は、git clone等でリポジトリ全体をダウンロードして下さい。

git clone https://github.com/Bokume2/shell_stacking.git

Usage

ソースコードをファイルに記述した場合、以下のようにソースファイルのパスを渡してスクリプトを実行します。

./shell_stacking.sh <source file>

-eオプションにより、ソースコードをコマンドライン引数にそのまま渡すこともできます(この場合、追加でファイルパスを渡しても無視されます)。

./shell_stacking.sh -e <code>

Syntax and Semantics

この言語の大まかな構文はshell stackingの構文に、各命令の詳細等はshell stackingの動作に記述されています。
不明点は処理系のスクリプトから読み解いて下さい。恐らく作者も分かっていません

Samples

  • hello.shstack
    いわゆるHello Worldです。実行するとHello, shell script world!が改行付きで出力されます。
  • fizzbuzz.shstack
    最初に入力した数までのFizzBuzzを出力します。0以下を入力すると何も出力しません。

Licence

このソフトウェアはUnlicenseライセンスの下に配布されています。
営利・非営利問わず、特段の許諾や表示なしに使用や複製、再配布を行って構いません。
詳しくはライセンス表示またはhttps://unlicense.orgを参照して下さい。

Contact

バグ報告や言語機能の提案などはTwitter(現X)等でお声掛け下さい。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages