Programming Language REXX - The Rexx Language Association
Programming Language REXX - The Rexx Language Association
Programming Language REXX - The Rexx Language Association
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ANSI X3J18-199X<br />
operator_or_other := '/' | '*'<br />
operator_char := operator_only | operator_or_other<br />
general_letter := '_' | '!' | '?' | extra_letter | 'A'<br />
| 'B' | 'C' | 'D' | 'E' | 'F' | 'G'<br />
| 'H' | 'I' | 'J' | 'K' | 'L' | 'M'<br />
| 'N' | 'O' | 'P' | 'Q' | 'R' | 'S'<br />
| 'T' | 'U' | 'V' | 'W' | 'X' | 'Y'<br />
| 'Z' | 'a' | 'b' | 'c' | 'd' | 'e'<br />
| 'f' | 'g' | 'h' | 'i' | 'j' | 'k'<br />
| 'l' | 'm' | 'n' | 'o' | 'p' | 'q'<br />
| 'r' | 's' | 't' | 'u' | 'v' | 'w'<br />
| 'x' | 'y' | 'z'<br />
blank := ' ' | other_blank_character<br />
bo := [blank+]<br />
string_or_comment_char := digit | '.' | special | operator_only<br />
| general_letter | blank<br />
| other_character<br />
tokenize := [between+] [tokenbetween+] EOS Eos<br />
tokenbetween := token [between+]<br />
token := operand | Operator | Special<br />
operand := string_literal | Var_symbol<br />
| Const_symbol<br />
between := comment | blank_run Blank | EOL Eol<br />
| Msg13.1<br />
blank_run := (blank | continuation)+<br />
continuation := CONTINUE ',' [(comment | blank)+] EOL<br />
comment := '/' '*' [commentpart+] ['*'+] ('*' '/'<br />
| EOS Msg6.1)<br />
commentpart := comment | ['/'+] comment_char+<br />
| '*'+ comment_char+<br />
comment_char := string_or_comment_char | '"' | "'"<br />
| EOL<br />
string_literal := Hex_string | Binary_string | String<br />
String := quoted_string<br />
Hex_string := quoted_string RADIX ('x' | 'X')<br />
Binary_string := quoted_string RADIX ('b' | 'B')<br />
quoted_string := quotation_mark_string<br />
[(Embedded_quotation_mark<br />
quotation_mark_string)+]<br />
| apostrophe_string<br />
[(Embedded_apostrophe<br />
apostrophe_string)+]<br />
quotation_mark_string := '"' [(string_char | "'")+]<br />
('"' | EOL Msg6.3)<br />
apostrophe_string := "'" [(string_char | '"')+]<br />
("'" | EOL Msg6.2)<br />
string_char := string_or_comment_char | '*' | '/'<br />
Var_symbol := general_letter [var_symbol_char+]<br />
var_symbol_char := general_letter | digit | '.'<br />
Const_symbol := (digit | '.') [const_symbol_char+]<br />
const_symbol_char := var_symbol_char<br />
| EXPONENT_SIGN ('+' | '-')<br />
(6.2.2.5)<br />
(6.2.2.6)<br />
(6.2.2.7)<br />
(6.2.2.8)<br />
(6.2.2.9)<br />
(6.2.2.10)<br />
(6.2.2.11)<br />
(6.2.2.12)<br />
(6.2.2.13)<br />
(6.2.2.14)<br />
(6.2.2.15)<br />
(6.2.2.16)<br />
(6.2.2.17)<br />
(6.2.2.18)<br />
(6.2.2.19)<br />
(6.2.2.20)<br />
(6.2.2.21)<br />
(6.2.2.22)<br />
(6.2.2.23)<br />
(6.2.2.24)<br />
(6.2.2.25)<br />
(6.2.2.26)<br />
(6.2.2.27)<br />
(6.2.2.28)<br />
(6.2.2.29)<br />
(6.2.2.30)<br />
(6.2.2.31)<br />
(6.2.2.32)<br />
32