]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/syntax.cpp
Add a new associativity type for fully associative operators
[libs/gl.git] / source / glsl / syntax.cpp
index c60b33bf5bad26b86d2b0abc53b7ba442b451ce2..b74f482aa8df5a21dfffebc23c2f2b6fb8a8dd21 100644 (file)
@@ -21,10 +21,10 @@ const Operator Operator::operators[] =
        { "-", 3, PREFIX, RIGHT_TO_LEFT },
        { "~", 3, PREFIX, RIGHT_TO_LEFT },
        { "!", 3, PREFIX, RIGHT_TO_LEFT },
-       { "*", 4, BINARY, LEFT_TO_RIGHT },
+       { "*", 4, BINARY, ASSOCIATIVE },
        { "/", 4, BINARY, LEFT_TO_RIGHT },
        { "%", 4, BINARY, LEFT_TO_RIGHT },
-       { "+", 5, BINARY, LEFT_TO_RIGHT },
+       { "+", 5, BINARY, ASSOCIATIVE },
        { "-", 5, BINARY, LEFT_TO_RIGHT },
        { "<<", 6, BINARY, LEFT_TO_RIGHT },
        { ">>", 6, BINARY, LEFT_TO_RIGHT },
@@ -34,12 +34,12 @@ const Operator Operator::operators[] =
        { ">=", 7, BINARY, LEFT_TO_RIGHT },
        { "==", 8, BINARY, LEFT_TO_RIGHT },
        { "!=", 8, BINARY, LEFT_TO_RIGHT },
-       { "&", 9, BINARY, LEFT_TO_RIGHT },
-       { "^", 10, BINARY, LEFT_TO_RIGHT },
-       { "|", 11, BINARY, LEFT_TO_RIGHT },
-       { "&&", 12, BINARY, LEFT_TO_RIGHT },
-       { "^^", 13, BINARY, LEFT_TO_RIGHT },
-       { "||", 14, BINARY, LEFT_TO_RIGHT },
+       { "&", 9, BINARY, ASSOCIATIVE },
+       { "^", 10, BINARY, ASSOCIATIVE },
+       { "|", 11, BINARY, ASSOCIATIVE },
+       { "&&", 12, BINARY, ASSOCIATIVE },
+       { "^^", 13, BINARY, ASSOCIATIVE },
+       { "||", 14, BINARY, ASSOCIATIVE },
        { "?", 15, BINARY, RIGHT_TO_LEFT },
        { ":", 15, BINARY, RIGHT_TO_LEFT },
        { "=", 16, BINARY, RIGHT_TO_LEFT },