PCAST​​L

PCAST​​L
パラダイム命令形反射的
デザイン:フィリップ・ショケット
開発者フィリップ・ショケット
初登場2008 (2008年
安定版リリース
3.5 / 2018年3月31日 ( 2018-03-31 )
OSクロスプラットフォーム
ライセンスGNU劣等一般公衆利用許諾書
Webサイトwww.pcosmos.ca/pcastl/
影響を受けた
CR

PCAST ​​L (親子アクセス可能な構文木言語の略)は、インタープリタ型の高水準プログラミング言語です。2008年にフィリップ・ショケットによって開発されました。[ 1 ] PCAST​​Lは、自己書き換え型コード の記述を容易にするために設計されています。この言語には、現在記述されているコードの構文木ノードにアクセスするための予約語として、parentchildsetが用意されています。[ 2 ]

こんにちは世界

Hello world プログラム」は非常にシンプルです。

"こんにちは世界!" 

または

print("こんにちは、世界!") 

同じことをするでしょう。

構文

PCAST​​Lの構文は、プログラミング言語CRに由来しています。PCAST ​​Lインタープリタで使用される 文法字句解析器は、 Rバージョン2.5.1のソースコードに基づいて記述されています。

影響

Rと同様に、文はセミコロンで区切ることができますが、必ずしもそうする必要はありません。[ 3 ] R と同様に、変数はセッション中に型を変更できます。CやR同様に、PCAST​​Lではバランスの取れた括弧{} )を使用してブロックを構成します。

PCAST​​Lの演算子はCの対応する演算子と同じ優先順位結合性を持ちます。[ 2 ] [ 4 ] forループはCと同様に定義され、演算子はCと同様に使用され、式で使用される前または後に変数を増分または減分します。 ++--

予約語for演算子を使用した PCAST​​L の例: ++

for ( i = 1 ; i < 4 ; i ++ )プリント( i )

PCAST​​L の関数コメントはRと同様に定義されます。

# 関数定義 (コメント) a = function () { print ( "Hello, world!" ) }# 関数呼び出しa ()

親セットと子セットの予約語

これらの予約語は小文字でのみ記述でき、小文字以外では認識されません。予約語は、その単語が配置されているコードの構文ツリー内の親ノードへの参照を提供します。次のコードでは、親ノードは演算子です。 =

a = 親 

変数「a」はノードへの参照を保持します。次のコードはchildset予約語を使用して演算子の2つの子ノードへの参照を取得する方法を示しています。 ==

a.childset[0] a.childset[1] 

この例では、「a」の値を表示するにはいくつかの方法が示されています。

1つの a.childset[0].parent a.childset[1].parent a.childset[0].parent.childset[0].parent # など... 

次のコードでは、ノードの右の子にコード セグメントを割り当て、ノードをもう一度 =実行して、新しく定義された関数を呼び出します。=

a.childset[1] = `function() print("hello")' 実行(a) ア() 

参照

参考文献

  1. ^ "pcosmos.ca" .フィリップ・ショケット2008 年 6 月 14 日に取得
  2. ^ a b「PCAST​​L: 親子関係アクセス可能な構文ツリー言語」 Philippe Choquette . 2008年6月14日閲覧
  3. ^ 「R入門」 . R開発コアチーム. 2008年6月14日閲覧。
  4. ^ハンリー、ジェリ・R.、エリオット・B・コフマン (1999). 『C言語による問題解決とプログラム設計』第3版.アディソン・ウェズレー. ISBN 0-201-35748-8
「 https://en.wikipedia.org/w/index.php?title=PCAST ​​L&oldid= 1303357640」から取得