diff options
author | David Walter Seikel | 2012-01-12 23:49:29 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-01-12 23:49:29 +1000 |
commit | 9256c5252ed5e7bc8ce32128083c6f5eb548de02 (patch) | |
tree | 8ef49b4e4c9def0266ef69995a55d303a8afc2c6 /LuaSL/src/LuaSL_LSL_tree.c | |
parent | Move and comment the lemon syntax error stuff. (diff) | |
download | SledjHamr-9256c5252ed5e7bc8ce32128083c6f5eb548de02.zip SledjHamr-9256c5252ed5e7bc8ce32128083c6f5eb548de02.tar.gz SledjHamr-9256c5252ed5e7bc8ce32128083c6f5eb548de02.tar.bz2 SledjHamr-9256c5252ed5e7bc8ce32128083c6f5eb548de02.tar.xz |
Change the order of conditionals, with more comments. Resort the upper tag types.
Diffstat (limited to 'LuaSL/src/LuaSL_LSL_tree.c')
-rw-r--r-- | LuaSL/src/LuaSL_LSL_tree.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/LuaSL/src/LuaSL_LSL_tree.c b/LuaSL/src/LuaSL_LSL_tree.c index 8eed579..3cf880c 100644 --- a/LuaSL/src/LuaSL_LSL_tree.c +++ b/LuaSL/src/LuaSL_LSL_tree.c | |||
@@ -22,20 +22,21 @@ LSL_Token LSL_Tokens[] = | |||
22 | // Operators, in order of precedence, low to high | 22 | // Operators, in order of precedence, low to high |
23 | // Left to right, unless oterwise stated. | 23 | // Left to right, unless oterwise stated. |
24 | // According to http://wiki.secondlife.com/wiki/Category:LSL_Operators | 24 | // According to http://wiki.secondlife.com/wiki/Category:LSL_Operators |
25 | {LSL_BOOL_AND, "&&", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 25 | {LSL_BOOL_AND, "&&", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, |
26 | // QUIRK - Seems to be some disagreement about BOOL_AND/BOOL_OR precedence. Either they are equal, or OR is higher. | 26 | // QUIRK - Seems to be some disagreement about BOOL_AND/BOOL_OR precedence. Either they are equal, or OR is higher. |
27 | // QUIRK - No boolean short circuiting. | 27 | // QUIRK - No boolean short circuiting. |
28 | {LSL_BOOL_OR, "||", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 28 | // QUIRK - Booleans and conditionals are executed right to left. Or maybe not, depending on who you believe. |
29 | {LSL_BOOL_OR, "||", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, | ||
29 | {LSL_BIT_OR, "|", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 30 | {LSL_BIT_OR, "|", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, |
30 | {LSL_BIT_XOR, "^", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 31 | {LSL_BIT_XOR, "^", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, |
31 | {LSL_BIT_AND, "&", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 32 | {LSL_BIT_AND, "&", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, |
32 | // QUIRK - Conditionals are executed right to left. Or left to right, depending on who you ask. lol | 33 | // QUIRK - Booleans and conditionals are executed right to left. Or maybe not, depending on who you believe. |
33 | {LSL_NOT_EQUAL, "!=", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 34 | {LSL_NOT_EQUAL, "!=", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, |
34 | {LSL_EQUAL, "==", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 35 | {LSL_EQUAL, "==", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, |
35 | {LSL_GREATER_EQUAL, ">=", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 36 | {LSL_GREATER_EQUAL, ">=", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, |
36 | {LSL_LESS_EQUAL, "<=", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 37 | {LSL_LESS_EQUAL, "<=", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, |
37 | {LSL_GREATER_THAN, ">", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 38 | {LSL_GREATER_THAN, ">", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, |
38 | {LSL_LESS_THAN, "<", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 39 | {LSL_LESS_THAN, "<", LSL_RIGHT2LEFT, NULL, NULL, evaluateOperationToken}, |
39 | {LSL_RIGHT_SHIFT, ">>", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 40 | {LSL_RIGHT_SHIFT, ">>", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, |
40 | {LSL_LEFT_SHIFT, "<<", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 41 | {LSL_LEFT_SHIFT, "<<", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, |
41 | // {LSL_CONCATENATE, "+", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, | 42 | // {LSL_CONCATENATE, "+", LSL_LEFT2RIGHT, NULL, NULL, evaluateOperationToken}, |