We adopt most of Church’s abbreviations. (abc) for ((ab)c) and (λab.M) for (λa(λbM)). We still require the outermost parens to inform the RELP when to stop compiling and start running. We require a dot for each λ in order to disambiguate (λabc) which might stand for either (λa(λbc)) or (λa(bc)).
The sources with “1.” in the name are for the official syntax and with “2.” for the relaxed syntax. The executables with “1” and “2” break down the same way. Executables ending with “x” use bounded stack logic.