# PL/XML Syntax Programs that do not respect this syntax may (and probably will) still work, but with no guarantee. ## McKeeman Form ``` plxml program program "" functions main functions "" tag '"' characters '"' characters '' character characters character '0020' . '10FFFF' - '"' - '0027' - '<' - '>' - '&' '&' escapes ';' ws "" '0020' ws '000A' ws '000D' ws '0009' ws escapes "quot" "apos" "lt" "gt" "amp" main ws "
" instructions "
" ws functions "" function functions function ws "" ws "" arguments "" ws "" instructions "" ws "" ws arguments "" argument arguments argument ws "" ws instructions ws "" ws instruction instructions instruction ws _instruction ws _instruction value assign integer float string array add subtract multiply divide and or not equal greater lower call return if for each while value "" assign "" instruction "" integer "" "" instruction "" float "" "" instruction "" string "" "" instruction "" array "" instructions "" add "" instructions "" subtract "" instructions "" multiply "" instructions "" divide "" instructions "" and "" instructions "" or "" instructions "" not "" instruction "" equal "" instruction instruction "" greater "" instruction instruction "" lower "" instruction instruction "" call "" ws "" instructions "" ws "" "" instruction "" instructions "" ws "" return "" instruction "" if "" ws instruction ws "" instructions "" ws "" "" ws instruction ws "" instructions "" ws "" instructions "" ws "" each "" instruction do "" while "" instruction do "" for "" ws from to step do "" from ws "" instruction "" ws to ws "" instruction "" ws step ws "" instruction "" ws do ws "" instructions "" ws ```