XL (プログラミング言語)
構文はXL0レベルで定義されている。コンパイラのXL0フェーズは、テキストの内部表現や演算子の優先順位といったプロパティが定義されている構文記述ファイルによって設定可能である。基本構文ファイルは、加算の+といった、一般的な数学の記法を、普段用いられる演算子の優先順位で定義している。
構文木は7種のノードから成る。4種の葉ノード(整数・実数・テキスト・シンボル)と、3種の内部ノード(中置・前置・ブロック)が存在する。
整数ノードは、2のような整数リテラルを表現する。#記号を、基数に10以外を指定するために使うことができる。(2進数の1001は2#1001。)アンダースコアを読みやすくするための区切りとして使うことができる。(例: 1_000_000)
実数ノードは2.5のような整数でない数を表現する。整数ノードと同様に、基数の記法や区切り記号を使うことができる。たとえば、16#F.FFF#E-10は正しい実数リテラルである。
テキストノードはテキストを表現する。普通はシングルクォートかダブルクォートで囲まれる。