Skip to content

Bokume2/linked_lang

Repository files navigation

Linked Lang

Linked Dataを用いて記述するプログラミング言語の、JSON-LDによる実装です。
各種の命令や演算、データをLinked Dataのノードとして記述します。

Reqirements

実行にはRubyが必要です。

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

  • ruby 3.3.7 [x86_64-linux]

Installation

  1. Rubyの実行環境を用意します。
    rbenvを利用すると便利ですが必須ではありません。
  2. git cloneなどでリポジトリのディレクトリ全体をコピーします。
  3. 以下のいずれかの方法で依存gemをインストールします。
    • 直接gemコマンドを用いる場合
      gem install json-ld
    • bundlerを利用する場合
      リポジトリのルートディレクトリに移動し、必要に応じてbundlerの設定をしてから
      bundle install

Usage

Linked Langのソースコードをテキストファイルに記述し、ソースファイルのパスを渡してlinked_langを実行します。

./linked_lang <source-file>

シェルスクリプトが利用できない環境では、明示的にRuby処理系を使用してlinked_lang.rbを実行して下さい。

  • bundlerを利用しない場合
    ruby linked_lang.rb <source-file>
  • bundlerを利用する場合
    bundle exec ruby linked_lang.rb <source-file>

Syntax

Linked LangおよびJSON-LD実装の構文や仕様については、docsディレクトリ内のsyntax.mdおよびnode_types.mdを参照して下さい。

Samples

  • hello.jsonld
    いわゆるHello Worldです。実行するとHello Linked World!の文字列が改行付きで出力されます。
  • hello_verbose.jsonld
    hello.jsonldと等価なプログラムですが、contextを利用せずIRIやJSON-LDキーワードを省略無しで記述しています。
  • fizzbuzz.jsonld
    FizzBuzzです。最初に標準入力から整数を受け取り、その数までのFizzBuzzを出力します。

Contact

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

About

An esoteric programing language using Linked Data

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors