11.06.2014 Views

Programming Language REXX - The Rexx Language Association

Programming Language REXX - The Rexx Language Association

Programming Language REXX - The Rexx Language Association

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!