- トップページ
- 書庫
- Context Free for beginners
- プリミティブ・シェイプを描く

Context Freeの最もシンプルな構文は、startshapeと、ひとつのルールです。
startshape Maru rule Maru { CIRCLE {} }
startshapeは、どのルールから描画を始めるのかを指定する必須項目で、startshapeで指定されたルールは、なにをどういう条件で描画するかを定義したものです。 この例では、startshapeがMaruというルールを呼び出し、Maruには円を描く命令(“CIRCLE{}”)が書かれています。
実行すると以下の図形が描画されます。

Context Freeのイメージ表示部いっぱいに、円が描かれました(Context Freeはイメージ全体が描画領域に収まるようにサイズを調整します)。 CIRCLE{}は円を描く命令で、Maruが、その命令を定義したルールとなります。 このように、ルールに規則や条件を書き、それをstartshapeで呼び出すことで、Context Freeはイメージを描画します。
別の図形も描いてみましょう。
startshape Shikaku rule Shikaku { SQUARE {} }

今度はイメージ表示部いっぱいに、正方形が描かれました。
startshape Sankaku rule Sankaku { TRIANGLE {} }

イメージ表示部いっぱいに、正三角形が描かれました。
SQUARE{}は正方形、TRIANGLE{}は正三角形を描く命令で、Sankaku、Shikakuが、それぞれの命令を定義したルールです。
円、正方形、正三角形が、Context Freeで描画できる基本図形=プリミティブ・シェイプの全てです。 この3種類の図形を組み合わせて、様々なイメージを描くことができます。
できるようになった(はずの)こと- 円をひとつ描画できる
- 正方形をひとつ描画できる
- 正三角形をひとつ描画できる