Migdal

せんちゃ
せんちゃ

Posted on

while me in life:

お久しぶりです、せんちゃです。
今回は第14回人工言語コンペの投稿作品です。

今回のお題はこちらです。

特定の身分や職業や立場の人間たちが用いている言語を作ってください。
架空の身分や職業でも構いませんし、言語を話せるならば人間でなくても可。

......難しそう。
事実、これを書いている2/20日現在、お題募集は始まっているのにまだここを書いています。もちろんテストがかぶってしまったという言い訳はありますが、それはそれ。絵を描いていたくらいですから作る時間はあったはずです。
申し訳ない。

というわけで今頑張って書いているわけです。
時間もないので内容量は勘弁していただきたいです。

内容に入る

ま、正直今回、微妙にお題から外れてしまっているかもしれません。
なぜかというと、プログラミング言語だからです。
お題としては、「用いる言語」なのでプログラミング言語も入る......と思っているのですが、真相は定かではないです。

「特定の職業」を1から作ろうとしたらめんどくさかったんだ。

その後に「発話」という単語が出題者の方から出ているので、まあ外れている気がします。(そもそも「人工言語」に「プログラミング言語」を入れるかという話もありますしね。)

さて、では設定のお披露目と行きましょう。
リアルで5分クオリティなので許して。

職業

今回、自分が作ろうとしたのは「司書」の人たちが扱う言語です。

  • 現代日本にない かつ
  • あってもよさそうなもの を考えた結果こうなりました。 「デジタル上の蔵書記録を簡単にする」 を目的に作りました。実装はしないので欲しい人は頑張ってください!

内容

プログラミング言語というからには、もちろんルールはあります。ただほとんど現代の言語と変わらないです。

順次進行

当たり前ですね。上から下に処理を実行していく。
今回は書く言語なので十分なんだ。

本棚

この言語では「本棚」という概念があります。現実のものと同じで、似た本をまとめておけるのです。一つの本棚には何冊でも追加できます。
本棚関連の関数

  • shelf get all: 現在存在する本棚を取得する
  • shelf get [shelf_id]: IDを用いて、本棚の中の本のID、タイトルを全て羅列する
  • shelf add [shelf_id] [name]: 本棚を追加する
  • shelf named [shelf_id] [name]: 本棚の名前を変更する
  • shelf remove [shelf_id]: 本棚を削除する

  • book add [shelf_id] [book_id]: 本棚に本を追加する。

  • book remove [shelf_id] [book_id]: 本棚から本を削除する

  • book named [shelf_id] [book_id]: 本のタイトルを変更する

  • book plus [book_id] [name] (shelf_id): 本を追加する

まずbook plusを実行してからでないとaddはできません。
plusは実行しても本棚には追加されません。
ただしshelf_idが入っていれば自動的に本棚に入ります。

変数

$[name] = [shelf_id] [id]
こうしておくことによって$[name][shelf_id] [id]の代わりを持たせることが可能です。

shelf add 1 近代日本文学
book plus 1 吾輩は猫である
book add 1 1
book plus 2 坊っちゃん 1
Enter fullscreen mode Exit fullscreen mode

「近代日本文学」という本棚を作り、
「吾輩は猫である」と「坊っちゃん」を追加しています。

※IDは数字の好きな桁です。

終わり!

プログラミング言語というより、コマンドですねこれ。
まあでも言語ということで許してください。

なんでこのタイトルにしたかって?

なんかよさそうだったからだよ!

Top comments (2)

Collapse
 
slaimsan profile image
スライムさん

シェルフのidが "all" って文字列の時に、本棚の中身がダンプできない問題

Collapse
 
sencha profile image
せんちゃ

一応、「IDは数字のみ」というルールがありますので……
わかりづらかったかな