Fish Lang

910 ワード

fish langは関数に基づいて、文法をカスタマイズできるプログラミング言語です.
なぜfishという言語を設計したのか
現在のプログラミング言語の文法は固定されており、文法を簡単に削除することはできません.fish言語のすべての構文は関数によって定義され、言語は1つの関数の定義/呼び出しプロセスしか提供しません.
fish言語の構文print if a b c
関数aが真出力関数bの結果である場合、そうでない場合、関数cの結果が出力される.loop a b
ループ呼び出し関数bは、関数aの戻り値回である.
もちろん、上記のloop,if,printなどの関数はシステム関数であり、登録を取り消すことで、この関数の登録を取り消すことができます.
より複雑なコードを見ることができます.print if a b c d e
このコードを分解します.
コードは逆方向にスタックに入り、上部から下部までprint,if,a,b,c,d,e仮想マシンはprint関数を呼び出し、printはパラメータを必要とし、ifはスタックを出て、ifは3つのパラメータを必要とし、a,b,cはスタックを出ます.aを実行して、aが1つのパラメータを必要とすると仮定して、dはスタックに入って、dを実行して、dがパラメータを必要としないと仮定して、exaにtrueを書いて、ifはexaがtrueであることを発見して、bはスタックに入って、cは捨てられて、bを実行して
fvm
Fvmはfish langの仮想マシンであり、もちろん現在はプロトタイプであり、スタック、関数テーブル、変数レジスタのセットから構成されています.
ターゲット
小型で組み込み型のスクリプト言語.ルーティングサービス、ブート、およびリンクホストに使用される関数.
とくせい
  • カスタム構文
  • 運転速度が速い
  • 安全