XL (プログラミング言語)
(例: "Hello", 'a')しかし、構文記述ファイルで定義することで、他の区切り記号を用いることや複数行のテキストを含めることも可能である。
シンボルノードは名前や演算子を表現する。名前はアルファベットから始まる英数字の並びである。(例: Hello)XL0は大文字・小文字を区別するが、XL1は大文字・小文字とアンダースコアを無視するため、JohnDoeとjohn_doeは同じ名前である。演算子は非英数字の並びである。(例: *, =/=)
中置ノードは中置シンボルに関係する2つのノードを表現する。(例: A+1, 2 and 3)とりわけ、行を区切るために、「改行」シンボルの中置ノードが使われる。
前置ノードは2つの連続したノードを表現する。(例: Write "Hello")これは前置記法だけではなく、後置記法にも用いられる。(例: 3!, Open?)
ブロックノードはグループ化シンボルに囲まれたノードを表現する。(例: (A), [Index])また、インデントは内部的にはブロックノードとして表現される。
デフォルトの構文記述ファイルでは、意味論に関わらず、次のものはXL0による正しい記述とされる。
これは、次のように構文解析される。