LISP-プログラム構造

LISP式は、シンボリック式またはS式と呼ばれます。S式は、3つの有効なオブジェクト、アトム、リスト、および文字列で構成されます。

すべてのs式は有効なプログラムです。

LISPプログラムは、 interpreter またはとして compiled code.

インタープリターは、read-evaluate-printループ(REPL)とも呼ばれる繰り返しループでソースコードをチェックします。プログラムコードを読み取り、評価し、プログラムから返された値を出力します。

簡単なプログラム

s式を記述して、7、9、11の3つの数値の合計を求めましょう。これを行うには、インタープリタープロンプトで入力します。

(+ 7 9 11)

LISPは結果を返します-

27

コンパイルされたコードと同じプログラムを実行したい場合は、myprog.lispという名前のLISPソースコードファイルを作成し、その中に次のコードを入力します。

(write (+ 7 9 11))

[実行]ボタンをクリックするか、Ctrl + Eと入力すると、LISPはすぐに実行し、返される結果は-です。

27

LISPはプレフィックス表記を使用します

LISPが使用していることに気づいたかもしれません prefix notation.

上記のプログラムでは、+記号は数値の合計プロセスの関数名として機能します。

接頭表記では、演算子はオペランドの前に記述されます。たとえば、式、

a * ( b + c ) / d

−と表記されます

(/ (* a (+ b c) ) d)

別の例を見てみましょう。華氏60 ° Fの温度を摂氏スケールに変換するためのコードを記述しましょう。

この変換の数式は次のようになります。

(60 * 9 / 5) + 32

main.lispという名前のソースコードファイルを作成し、その中に次のコードを入力します。

(write(+ (* (/ 9 5) 60) 32))

[実行]ボタンをクリックするか、Ctrl + Eを入力すると、LISPはすぐにそれを実行し、返される結果は次のようになります。

140

LISPプログラムの評価

LISPプログラムの評価には2つの部分があります-

  • リーダープログラムによるプログラムテキストのLispオブジェクトへの翻訳

  • 評価者プログラムによるこれらのオブジェクトに関する言語のセマンティクスの実装

評価プロセスは次の手順を実行します-

  • リーダーは文字列をLISPオブジェクトに変換するか s-expressions.

  • 評価者はLispの構文を定義します formsS式から構築されます。この第2レベルの評価では、どちらを決定する構文を定義します。s-expressions LISPフォームです。

  • エバリュエーターは、有効なLISP形式を引数として取り、値を返す関数として機能します。これが、LISP式を括弧で囲んだ理由です。これは、式/フォーム全体を引数として評価者に送信するためです。

「HelloWorld」プログラム

新しいプログラミング言語を学ぶことは、その言語で全世界に挨拶する方法を学ぶまで、実際にはうまくいきません。

そのため、main.lispという名前の新しいソースコードファイルを作成し、その中に次のコードを入力してください。

(write-line "Hello World")

(write-line "I am at 'Tutorials Point'! Learning LISP")

[実行]ボタンをクリックするか、Ctrl + Eと入力すると、LISPはすぐに実行し、返される結果は-です。

Hello World

I am at 'Tutorials Point'! Learning LISP