diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c27a29..c8d5bb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.5] - 2022-05-05 +### Changed +- Fixed #45 lock ANTLR runtime to 4.10 by [@markborkum](https://github.com/markborkum) + ## [0.4.4] - 2020-05-04 ### Changed - Pull #48 Cleanup Requirements by [@dmlb2000](https://github.com/dmlb2000) diff --git a/docs/exampleusage.md b/docs/exampleusage.md index 2d4413d..86684db 100644 --- a/docs/exampleusage.md +++ b/docs/exampleusage.md @@ -293,11 +293,11 @@ Adapted from [antlr docs](https://github.com/antlr/antlr4/blob/master/doc/gettin ```bash cd /usr/local/lib -curl -O http://www.antlr.org/download/antlr-4.7.1-complete.jar +curl -O https://www.antlr.org/download/antlr-4.10.1-complete.jar -export CLASSPATH=".:/usr/local/lib/antlr-4.7.1-complete.jar:$CLASSPATH" +export CLASSPATH=".:/usr/local/lib/antlr-4.10.1-complete.jar:$CLASSPATH" -alias antlr4='java -Xmx500M -cp "/usr/local/lib/antlr-4.7.1-complete.jar:$CLASSPATH" org.antlr.v4.Tool' +alias antlr4='java -Xmx500M -cp "/usr/local/lib/antlr-4.10.1-complete.jar:$CLASSPATH" org.antlr.v4.Tool' alias grun='java org.antlr.v4.gui.TestRig' ``` diff --git a/jsonpath2/parser/JSONPath.interp b/jsonpath2/parser/JSONPath.interp index b42bc7c..782ba46 100644 --- a/jsonpath2/parser/JSONPath.interp +++ b/jsonpath2/parser/JSONPath.interp @@ -86,4 +86,4 @@ value atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 32, 203, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 3, 2, 3, 2, 5, 2, 41, 10, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 47, 10, 3, 3, 4, 3, 4, 5, 4, 51, 10, 4, 3, 5, 3, 5, 3, 5, 5, 5, 56, 10, 5, 3, 5, 5, 5, 59, 10, 5, 3, 5, 3, 5, 3, 5, 5, 5, 64, 10, 5, 3, 5, 3, 5, 5, 5, 68, 10, 5, 5, 5, 70, 10, 5, 3, 6, 3, 6, 3, 6, 3, 6, 7, 6, 76, 10, 6, 12, 6, 14, 6, 79, 11, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 87, 10, 7, 12, 7, 14, 7, 90, 11, 7, 5, 7, 92, 10, 7, 3, 7, 3, 7, 3, 8, 3, 8, 5, 8, 98, 10, 8, 3, 8, 5, 8, 101, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 107, 10, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 119, 10, 9, 3, 10, 3, 10, 3, 10, 5, 10, 124, 10, 10, 3, 10, 3, 10, 3, 10, 5, 10, 129, 10, 10, 5, 10, 131, 10, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 5, 12, 138, 10, 12, 3, 13, 3, 13, 3, 13, 5, 13, 143, 10, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 5, 14, 154, 10, 14, 5, 14, 156, 10, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 7, 16, 164, 10, 16, 12, 16, 14, 16, 167, 11, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 173, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 7, 18, 183, 10, 18, 12, 18, 14, 18, 186, 11, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 192, 10, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 201, 10, 19, 3, 19, 2, 2, 20, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 2, 4, 4, 2, 3, 3, 5, 5, 3, 2, 9, 14, 2, 223, 2, 38, 3, 2, 2, 2, 4, 44, 3, 2, 2, 2, 6, 50, 3, 2, 2, 2, 8, 69, 3, 2, 2, 2, 10, 71, 3, 2, 2, 2, 12, 82, 3, 2, 2, 2, 14, 100, 3, 2, 2, 2, 16, 118, 3, 2, 2, 2, 18, 120, 3, 2, 2, 2, 20, 132, 3, 2, 2, 2, 22, 134, 3, 2, 2, 2, 24, 139, 3, 2, 2, 2, 26, 155, 3, 2, 2, 2, 28, 157, 3, 2, 2, 2, 30, 172, 3, 2, 2, 2, 32, 174, 3, 2, 2, 2, 34, 191, 3, 2, 2, 2, 36, 200, 3, 2, 2, 2, 38, 40, 7, 5, 2, 2, 39, 41, 5, 8, 5, 2, 40, 39, 3, 2, 2, 2, 40, 41, 3, 2, 2, 2, 41, 42, 3, 2, 2, 2, 42, 43, 7, 2, 2, 3, 43, 3, 3, 2, 2, 2, 44, 46, 9, 2, 2, 2, 45, 47, 5, 8, 5, 2, 46, 45, 3, 2, 2, 2, 46, 47, 3, 2, 2, 2, 47, 5, 3, 2, 2, 2, 48, 51, 5, 4, 3, 2, 49, 51, 5, 36, 19, 2, 50, 48, 3, 2, 2, 2, 50, 49, 3, 2, 2, 2, 51, 7, 3, 2, 2, 2, 52, 55, 7, 4, 2, 2, 53, 56, 5, 14, 8, 2, 54, 56, 5, 10, 6, 2, 55, 53, 3, 2, 2, 2, 55, 54, 3, 2, 2, 2, 56, 58, 3, 2, 2, 2, 57, 59, 5, 8, 5, 2, 58, 57, 3, 2, 2, 2, 58, 59, 3, 2, 2, 2, 59, 70, 3, 2, 2, 2, 60, 61, 7, 6, 2, 2, 61, 63, 5, 14, 8, 2, 62, 64, 5, 8, 5, 2, 63, 62, 3, 2, 2, 2, 63, 64, 3, 2, 2, 2, 64, 70, 3, 2, 2, 2, 65, 67, 5, 10, 6, 2, 66, 68, 5, 8, 5, 2, 67, 66, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 70, 3, 2, 2, 2, 69, 52, 3, 2, 2, 2, 69, 60, 3, 2, 2, 2, 69, 65, 3, 2, 2, 2, 70, 9, 3, 2, 2, 2, 71, 72, 7, 22, 2, 2, 72, 77, 5, 16, 9, 2, 73, 74, 7, 25, 2, 2, 74, 76, 5, 16, 9, 2, 75, 73, 3, 2, 2, 2, 76, 79, 3, 2, 2, 2, 77, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 80, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 80, 81, 7, 23, 2, 2, 81, 11, 3, 2, 2, 2, 82, 91, 7, 26, 2, 2, 83, 88, 5, 6, 4, 2, 84, 85, 7, 25, 2, 2, 85, 87, 5, 6, 4, 2, 86, 84, 3, 2, 2, 2, 87, 90, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 92, 3, 2, 2, 2, 90, 88, 3, 2, 2, 2, 91, 83, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 93, 3, 2, 2, 2, 93, 94, 7, 27, 2, 2, 94, 13, 3, 2, 2, 2, 95, 97, 7, 29, 2, 2, 96, 98, 5, 12, 7, 2, 97, 96, 3, 2, 2, 2, 97, 98, 3, 2, 2, 2, 98, 101, 3, 2, 2, 2, 99, 101, 7, 7, 2, 2, 100, 95, 3, 2, 2, 2, 100, 99, 3, 2, 2, 2, 101, 15, 3, 2, 2, 2, 102, 119, 7, 30, 2, 2, 103, 104, 7, 31, 2, 2, 104, 106, 6, 9, 2, 2, 105, 107, 5, 18, 10, 2, 106, 105, 3, 2, 2, 2, 106, 107, 3, 2, 2, 2, 107, 119, 3, 2, 2, 2, 108, 119, 5, 18, 10, 2, 109, 119, 7, 7, 2, 2, 110, 111, 7, 28, 2, 2, 111, 112, 7, 26, 2, 2, 112, 113, 5, 20, 11, 2, 113, 114, 7, 27, 2, 2, 114, 119, 3, 2, 2, 2, 115, 119, 5, 4, 3, 2, 116, 117, 7, 29, 2, 2, 117, 119, 5, 12, 7, 2, 118, 102, 3, 2, 2, 2, 118, 103, 3, 2, 2, 2, 118, 108, 3, 2, 2, 2, 118, 109, 3, 2, 2, 2, 118, 110, 3, 2, 2, 2, 118, 115, 3, 2, 2, 2, 118, 116, 3, 2, 2, 2, 119, 17, 3, 2, 2, 2, 120, 123, 7, 24, 2, 2, 121, 122, 7, 31, 2, 2, 122, 124, 6, 10, 3, 2, 123, 121, 3, 2, 2, 2, 123, 124, 3, 2, 2, 2, 124, 130, 3, 2, 2, 2, 125, 128, 7, 24, 2, 2, 126, 127, 7, 31, 2, 2, 127, 129, 6, 10, 4, 2, 128, 126, 3, 2, 2, 2, 128, 129, 3, 2, 2, 2, 129, 131, 3, 2, 2, 2, 130, 125, 3, 2, 2, 2, 130, 131, 3, 2, 2, 2, 131, 19, 3, 2, 2, 2, 132, 133, 5, 22, 12, 2, 133, 21, 3, 2, 2, 2, 134, 137, 5, 24, 13, 2, 135, 136, 7, 8, 2, 2, 136, 138, 5, 22, 12, 2, 137, 135, 3, 2, 2, 2, 137, 138, 3, 2, 2, 2, 138, 23, 3, 2, 2, 2, 139, 142, 5, 26, 14, 2, 140, 141, 7, 16, 2, 2, 141, 143, 5, 24, 13, 2, 142, 140, 3, 2, 2, 2, 142, 143, 3, 2, 2, 2, 143, 25, 3, 2, 2, 2, 144, 145, 7, 15, 2, 2, 145, 156, 5, 26, 14, 2, 146, 147, 7, 26, 2, 2, 147, 148, 5, 20, 11, 2, 148, 149, 7, 27, 2, 2, 149, 156, 3, 2, 2, 2, 150, 153, 5, 6, 4, 2, 151, 152, 9, 3, 2, 2, 152, 154, 5, 6, 4, 2, 153, 151, 3, 2, 2, 2, 153, 154, 3, 2, 2, 2, 154, 156, 3, 2, 2, 2, 155, 144, 3, 2, 2, 2, 155, 146, 3, 2, 2, 2, 155, 150, 3, 2, 2, 2, 156, 27, 3, 2, 2, 2, 157, 158, 5, 36, 19, 2, 158, 29, 3, 2, 2, 2, 159, 160, 7, 20, 2, 2, 160, 165, 5, 32, 17, 2, 161, 162, 7, 25, 2, 2, 162, 164, 5, 32, 17, 2, 163, 161, 3, 2, 2, 2, 164, 167, 3, 2, 2, 2, 165, 163, 3, 2, 2, 2, 165, 166, 3, 2, 2, 2, 166, 168, 3, 2, 2, 2, 167, 165, 3, 2, 2, 2, 168, 169, 7, 21, 2, 2, 169, 173, 3, 2, 2, 2, 170, 171, 7, 20, 2, 2, 171, 173, 7, 21, 2, 2, 172, 159, 3, 2, 2, 2, 172, 170, 3, 2, 2, 2, 173, 31, 3, 2, 2, 2, 174, 175, 7, 30, 2, 2, 175, 176, 7, 24, 2, 2, 176, 177, 5, 36, 19, 2, 177, 33, 3, 2, 2, 2, 178, 179, 7, 22, 2, 2, 179, 184, 5, 36, 19, 2, 180, 181, 7, 25, 2, 2, 181, 183, 5, 36, 19, 2, 182, 180, 3, 2, 2, 2, 183, 186, 3, 2, 2, 2, 184, 182, 3, 2, 2, 2, 184, 185, 3, 2, 2, 2, 185, 187, 3, 2, 2, 2, 186, 184, 3, 2, 2, 2, 187, 188, 7, 23, 2, 2, 188, 192, 3, 2, 2, 2, 189, 190, 7, 22, 2, 2, 190, 192, 7, 23, 2, 2, 191, 178, 3, 2, 2, 2, 191, 189, 3, 2, 2, 2, 192, 35, 3, 2, 2, 2, 193, 201, 7, 30, 2, 2, 194, 201, 7, 31, 2, 2, 195, 201, 5, 30, 16, 2, 196, 201, 5, 34, 18, 2, 197, 201, 7, 17, 2, 2, 198, 201, 7, 18, 2, 2, 199, 201, 7, 19, 2, 2, 200, 193, 3, 2, 2, 2, 200, 194, 3, 2, 2, 2, 200, 195, 3, 2, 2, 2, 200, 196, 3, 2, 2, 2, 200, 197, 3, 2, 2, 2, 200, 198, 3, 2, 2, 2, 200, 199, 3, 2, 2, 2, 201, 37, 3, 2, 2, 2, 29, 40, 46, 50, 55, 58, 63, 67, 69, 77, 88, 91, 97, 100, 106, 118, 123, 128, 130, 137, 142, 153, 155, 165, 172, 184, 191, 200] \ No newline at end of file +[4, 1, 30, 201, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 1, 0, 1, 0, 3, 0, 39, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 3, 1, 45, 8, 1, 1, 2, 1, 2, 3, 2, 49, 8, 2, 1, 3, 1, 3, 1, 3, 3, 3, 54, 8, 3, 1, 3, 3, 3, 57, 8, 3, 1, 3, 1, 3, 1, 3, 3, 3, 62, 8, 3, 1, 3, 1, 3, 3, 3, 66, 8, 3, 3, 3, 68, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 74, 8, 4, 10, 4, 12, 4, 77, 9, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 85, 8, 5, 10, 5, 12, 5, 88, 9, 5, 3, 5, 90, 8, 5, 1, 5, 1, 5, 1, 6, 1, 6, 3, 6, 96, 8, 6, 1, 6, 3, 6, 99, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 105, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 117, 8, 7, 1, 8, 1, 8, 1, 8, 3, 8, 122, 8, 8, 1, 8, 1, 8, 1, 8, 3, 8, 127, 8, 8, 3, 8, 129, 8, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 3, 10, 136, 8, 10, 1, 11, 1, 11, 1, 11, 3, 11, 141, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 152, 8, 12, 3, 12, 154, 8, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 162, 8, 14, 10, 14, 12, 14, 165, 9, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 171, 8, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 181, 8, 16, 10, 16, 12, 16, 184, 9, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 190, 8, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 199, 8, 17, 1, 17, 0, 0, 18, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 0, 2, 2, 0, 1, 1, 3, 3, 1, 0, 7, 12, 221, 0, 36, 1, 0, 0, 0, 2, 42, 1, 0, 0, 0, 4, 48, 1, 0, 0, 0, 6, 67, 1, 0, 0, 0, 8, 69, 1, 0, 0, 0, 10, 80, 1, 0, 0, 0, 12, 98, 1, 0, 0, 0, 14, 116, 1, 0, 0, 0, 16, 118, 1, 0, 0, 0, 18, 130, 1, 0, 0, 0, 20, 132, 1, 0, 0, 0, 22, 137, 1, 0, 0, 0, 24, 153, 1, 0, 0, 0, 26, 155, 1, 0, 0, 0, 28, 170, 1, 0, 0, 0, 30, 172, 1, 0, 0, 0, 32, 189, 1, 0, 0, 0, 34, 198, 1, 0, 0, 0, 36, 38, 5, 3, 0, 0, 37, 39, 3, 6, 3, 0, 38, 37, 1, 0, 0, 0, 38, 39, 1, 0, 0, 0, 39, 40, 1, 0, 0, 0, 40, 41, 5, 0, 0, 1, 41, 1, 1, 0, 0, 0, 42, 44, 7, 0, 0, 0, 43, 45, 3, 6, 3, 0, 44, 43, 1, 0, 0, 0, 44, 45, 1, 0, 0, 0, 45, 3, 1, 0, 0, 0, 46, 49, 3, 2, 1, 0, 47, 49, 3, 34, 17, 0, 48, 46, 1, 0, 0, 0, 48, 47, 1, 0, 0, 0, 49, 5, 1, 0, 0, 0, 50, 53, 5, 2, 0, 0, 51, 54, 3, 12, 6, 0, 52, 54, 3, 8, 4, 0, 53, 51, 1, 0, 0, 0, 53, 52, 1, 0, 0, 0, 54, 56, 1, 0, 0, 0, 55, 57, 3, 6, 3, 0, 56, 55, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 68, 1, 0, 0, 0, 58, 59, 5, 4, 0, 0, 59, 61, 3, 12, 6, 0, 60, 62, 3, 6, 3, 0, 61, 60, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 68, 1, 0, 0, 0, 63, 65, 3, 8, 4, 0, 64, 66, 3, 6, 3, 0, 65, 64, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 68, 1, 0, 0, 0, 67, 50, 1, 0, 0, 0, 67, 58, 1, 0, 0, 0, 67, 63, 1, 0, 0, 0, 68, 7, 1, 0, 0, 0, 69, 70, 5, 20, 0, 0, 70, 75, 3, 14, 7, 0, 71, 72, 5, 23, 0, 0, 72, 74, 3, 14, 7, 0, 73, 71, 1, 0, 0, 0, 74, 77, 1, 0, 0, 0, 75, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 78, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 78, 79, 5, 21, 0, 0, 79, 9, 1, 0, 0, 0, 80, 89, 5, 24, 0, 0, 81, 86, 3, 4, 2, 0, 82, 83, 5, 23, 0, 0, 83, 85, 3, 4, 2, 0, 84, 82, 1, 0, 0, 0, 85, 88, 1, 0, 0, 0, 86, 84, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 90, 1, 0, 0, 0, 88, 86, 1, 0, 0, 0, 89, 81, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 92, 5, 25, 0, 0, 92, 11, 1, 0, 0, 0, 93, 95, 5, 27, 0, 0, 94, 96, 3, 10, 5, 0, 95, 94, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 99, 1, 0, 0, 0, 97, 99, 5, 5, 0, 0, 98, 93, 1, 0, 0, 0, 98, 97, 1, 0, 0, 0, 99, 13, 1, 0, 0, 0, 100, 117, 5, 28, 0, 0, 101, 102, 5, 29, 0, 0, 102, 104, 4, 7, 0, 0, 103, 105, 3, 16, 8, 0, 104, 103, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105, 117, 1, 0, 0, 0, 106, 117, 3, 16, 8, 0, 107, 117, 5, 5, 0, 0, 108, 109, 5, 26, 0, 0, 109, 110, 5, 24, 0, 0, 110, 111, 3, 18, 9, 0, 111, 112, 5, 25, 0, 0, 112, 117, 1, 0, 0, 0, 113, 117, 3, 2, 1, 0, 114, 115, 5, 27, 0, 0, 115, 117, 3, 10, 5, 0, 116, 100, 1, 0, 0, 0, 116, 101, 1, 0, 0, 0, 116, 106, 1, 0, 0, 0, 116, 107, 1, 0, 0, 0, 116, 108, 1, 0, 0, 0, 116, 113, 1, 0, 0, 0, 116, 114, 1, 0, 0, 0, 117, 15, 1, 0, 0, 0, 118, 121, 5, 22, 0, 0, 119, 120, 5, 29, 0, 0, 120, 122, 4, 8, 1, 0, 121, 119, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 128, 1, 0, 0, 0, 123, 126, 5, 22, 0, 0, 124, 125, 5, 29, 0, 0, 125, 127, 4, 8, 2, 0, 126, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 129, 1, 0, 0, 0, 128, 123, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 17, 1, 0, 0, 0, 130, 131, 3, 20, 10, 0, 131, 19, 1, 0, 0, 0, 132, 135, 3, 22, 11, 0, 133, 134, 5, 6, 0, 0, 134, 136, 3, 20, 10, 0, 135, 133, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 21, 1, 0, 0, 0, 137, 140, 3, 24, 12, 0, 138, 139, 5, 14, 0, 0, 139, 141, 3, 22, 11, 0, 140, 138, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 23, 1, 0, 0, 0, 142, 143, 5, 13, 0, 0, 143, 154, 3, 24, 12, 0, 144, 145, 5, 24, 0, 0, 145, 146, 3, 18, 9, 0, 146, 147, 5, 25, 0, 0, 147, 154, 1, 0, 0, 0, 148, 151, 3, 4, 2, 0, 149, 150, 7, 1, 0, 0, 150, 152, 3, 4, 2, 0, 151, 149, 1, 0, 0, 0, 151, 152, 1, 0, 0, 0, 152, 154, 1, 0, 0, 0, 153, 142, 1, 0, 0, 0, 153, 144, 1, 0, 0, 0, 153, 148, 1, 0, 0, 0, 154, 25, 1, 0, 0, 0, 155, 156, 3, 34, 17, 0, 156, 27, 1, 0, 0, 0, 157, 158, 5, 18, 0, 0, 158, 163, 3, 30, 15, 0, 159, 160, 5, 23, 0, 0, 160, 162, 3, 30, 15, 0, 161, 159, 1, 0, 0, 0, 162, 165, 1, 0, 0, 0, 163, 161, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 166, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0, 166, 167, 5, 19, 0, 0, 167, 171, 1, 0, 0, 0, 168, 169, 5, 18, 0, 0, 169, 171, 5, 19, 0, 0, 170, 157, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 171, 29, 1, 0, 0, 0, 172, 173, 5, 28, 0, 0, 173, 174, 5, 22, 0, 0, 174, 175, 3, 34, 17, 0, 175, 31, 1, 0, 0, 0, 176, 177, 5, 20, 0, 0, 177, 182, 3, 34, 17, 0, 178, 179, 5, 23, 0, 0, 179, 181, 3, 34, 17, 0, 180, 178, 1, 0, 0, 0, 181, 184, 1, 0, 0, 0, 182, 180, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 185, 1, 0, 0, 0, 184, 182, 1, 0, 0, 0, 185, 186, 5, 21, 0, 0, 186, 190, 1, 0, 0, 0, 187, 188, 5, 20, 0, 0, 188, 190, 5, 21, 0, 0, 189, 176, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 190, 33, 1, 0, 0, 0, 191, 199, 5, 28, 0, 0, 192, 199, 5, 29, 0, 0, 193, 199, 3, 28, 14, 0, 194, 199, 3, 32, 16, 0, 195, 199, 5, 15, 0, 0, 196, 199, 5, 16, 0, 0, 197, 199, 5, 17, 0, 0, 198, 191, 1, 0, 0, 0, 198, 192, 1, 0, 0, 0, 198, 193, 1, 0, 0, 0, 198, 194, 1, 0, 0, 0, 198, 195, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 198, 197, 1, 0, 0, 0, 199, 35, 1, 0, 0, 0, 27, 38, 44, 48, 53, 56, 61, 65, 67, 75, 86, 89, 95, 98, 104, 116, 121, 126, 128, 135, 140, 151, 153, 163, 170, 182, 189, 198] \ No newline at end of file diff --git a/jsonpath2/parser/JSONPathLexer.interp b/jsonpath2/parser/JSONPathLexer.interp index 6fbc9ab..74aa025 100644 --- a/jsonpath2/parser/JSONPathLexer.interp +++ b/jsonpath2/parser/JSONPathLexer.interp @@ -110,4 +110,4 @@ mode names: DEFAULT_MODE atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 32, 216, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 7, 28, 149, 10, 28, 12, 28, 14, 28, 152, 11, 28, 3, 29, 3, 29, 3, 29, 7, 29, 157, 10, 29, 12, 29, 14, 29, 160, 11, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 5, 30, 167, 10, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 5, 34, 180, 10, 34, 3, 34, 3, 34, 3, 34, 6, 34, 185, 10, 34, 13, 34, 14, 34, 186, 5, 34, 189, 10, 34, 3, 34, 5, 34, 192, 10, 34, 3, 35, 3, 35, 3, 35, 7, 35, 197, 10, 35, 12, 35, 14, 35, 200, 11, 35, 5, 35, 202, 10, 35, 3, 36, 3, 36, 5, 36, 206, 10, 36, 3, 36, 3, 36, 3, 37, 6, 37, 211, 10, 37, 13, 37, 14, 37, 212, 3, 37, 3, 37, 2, 2, 38, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 2, 61, 2, 63, 2, 65, 2, 67, 31, 69, 2, 71, 2, 73, 32, 3, 2, 12, 5, 2, 67, 92, 97, 97, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 10, 2, 36, 36, 49, 49, 94, 94, 100, 100, 104, 104, 112, 112, 116, 116, 118, 118, 5, 2, 50, 59, 67, 72, 99, 104, 5, 2, 2, 33, 36, 36, 94, 94, 3, 2, 50, 59, 3, 2, 51, 59, 4, 2, 71, 71, 103, 103, 4, 2, 45, 45, 47, 47, 5, 2, 11, 12, 15, 15, 34, 34, 2, 221, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 3, 75, 3, 2, 2, 2, 5, 77, 3, 2, 2, 2, 7, 80, 3, 2, 2, 2, 9, 82, 3, 2, 2, 2, 11, 84, 3, 2, 2, 2, 13, 86, 3, 2, 2, 2, 15, 90, 3, 2, 2, 2, 17, 92, 3, 2, 2, 2, 19, 95, 3, 2, 2, 2, 21, 97, 3, 2, 2, 2, 23, 100, 3, 2, 2, 2, 25, 102, 3, 2, 2, 2, 27, 105, 3, 2, 2, 2, 29, 109, 3, 2, 2, 2, 31, 112, 3, 2, 2, 2, 33, 117, 3, 2, 2, 2, 35, 123, 3, 2, 2, 2, 37, 128, 3, 2, 2, 2, 39, 130, 3, 2, 2, 2, 41, 132, 3, 2, 2, 2, 43, 134, 3, 2, 2, 2, 45, 136, 3, 2, 2, 2, 47, 138, 3, 2, 2, 2, 49, 140, 3, 2, 2, 2, 51, 142, 3, 2, 2, 2, 53, 144, 3, 2, 2, 2, 55, 146, 3, 2, 2, 2, 57, 153, 3, 2, 2, 2, 59, 163, 3, 2, 2, 2, 61, 168, 3, 2, 2, 2, 63, 174, 3, 2, 2, 2, 65, 176, 3, 2, 2, 2, 67, 179, 3, 2, 2, 2, 69, 201, 3, 2, 2, 2, 71, 203, 3, 2, 2, 2, 73, 210, 3, 2, 2, 2, 75, 76, 7, 66, 2, 2, 76, 4, 3, 2, 2, 2, 77, 78, 7, 48, 2, 2, 78, 79, 7, 48, 2, 2, 79, 6, 3, 2, 2, 2, 80, 81, 7, 38, 2, 2, 81, 8, 3, 2, 2, 2, 82, 83, 7, 48, 2, 2, 83, 10, 3, 2, 2, 2, 84, 85, 7, 44, 2, 2, 85, 12, 3, 2, 2, 2, 86, 87, 7, 99, 2, 2, 87, 88, 7, 112, 2, 2, 88, 89, 7, 102, 2, 2, 89, 14, 3, 2, 2, 2, 90, 91, 7, 63, 2, 2, 91, 16, 3, 2, 2, 2, 92, 93, 7, 64, 2, 2, 93, 94, 7, 63, 2, 2, 94, 18, 3, 2, 2, 2, 95, 96, 7, 64, 2, 2, 96, 20, 3, 2, 2, 2, 97, 98, 7, 62, 2, 2, 98, 99, 7, 63, 2, 2, 99, 22, 3, 2, 2, 2, 100, 101, 7, 62, 2, 2, 101, 24, 3, 2, 2, 2, 102, 103, 7, 35, 2, 2, 103, 104, 7, 63, 2, 2, 104, 26, 3, 2, 2, 2, 105, 106, 7, 112, 2, 2, 106, 107, 7, 113, 2, 2, 107, 108, 7, 118, 2, 2, 108, 28, 3, 2, 2, 2, 109, 110, 7, 113, 2, 2, 110, 111, 7, 116, 2, 2, 111, 30, 3, 2, 2, 2, 112, 113, 7, 118, 2, 2, 113, 114, 7, 116, 2, 2, 114, 115, 7, 119, 2, 2, 115, 116, 7, 103, 2, 2, 116, 32, 3, 2, 2, 2, 117, 118, 7, 104, 2, 2, 118, 119, 7, 99, 2, 2, 119, 120, 7, 110, 2, 2, 120, 121, 7, 117, 2, 2, 121, 122, 7, 103, 2, 2, 122, 34, 3, 2, 2, 2, 123, 124, 7, 112, 2, 2, 124, 125, 7, 119, 2, 2, 125, 126, 7, 110, 2, 2, 126, 127, 7, 110, 2, 2, 127, 36, 3, 2, 2, 2, 128, 129, 7, 125, 2, 2, 129, 38, 3, 2, 2, 2, 130, 131, 7, 127, 2, 2, 131, 40, 3, 2, 2, 2, 132, 133, 7, 93, 2, 2, 133, 42, 3, 2, 2, 2, 134, 135, 7, 95, 2, 2, 135, 44, 3, 2, 2, 2, 136, 137, 7, 60, 2, 2, 137, 46, 3, 2, 2, 2, 138, 139, 7, 46, 2, 2, 139, 48, 3, 2, 2, 2, 140, 141, 7, 42, 2, 2, 141, 50, 3, 2, 2, 2, 142, 143, 7, 43, 2, 2, 143, 52, 3, 2, 2, 2, 144, 145, 7, 65, 2, 2, 145, 54, 3, 2, 2, 2, 146, 150, 9, 2, 2, 2, 147, 149, 9, 3, 2, 2, 148, 147, 3, 2, 2, 2, 149, 152, 3, 2, 2, 2, 150, 148, 3, 2, 2, 2, 150, 151, 3, 2, 2, 2, 151, 56, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 153, 158, 7, 36, 2, 2, 154, 157, 5, 59, 30, 2, 155, 157, 5, 65, 33, 2, 156, 154, 3, 2, 2, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 159, 161, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 162, 7, 36, 2, 2, 162, 58, 3, 2, 2, 2, 163, 166, 7, 94, 2, 2, 164, 167, 9, 4, 2, 2, 165, 167, 5, 61, 31, 2, 166, 164, 3, 2, 2, 2, 166, 165, 3, 2, 2, 2, 167, 60, 3, 2, 2, 2, 168, 169, 7, 119, 2, 2, 169, 170, 5, 63, 32, 2, 170, 171, 5, 63, 32, 2, 171, 172, 5, 63, 32, 2, 172, 173, 5, 63, 32, 2, 173, 62, 3, 2, 2, 2, 174, 175, 9, 5, 2, 2, 175, 64, 3, 2, 2, 2, 176, 177, 10, 6, 2, 2, 177, 66, 3, 2, 2, 2, 178, 180, 7, 47, 2, 2, 179, 178, 3, 2, 2, 2, 179, 180, 3, 2, 2, 2, 180, 181, 3, 2, 2, 2, 181, 188, 5, 69, 35, 2, 182, 184, 7, 48, 2, 2, 183, 185, 9, 7, 2, 2, 184, 183, 3, 2, 2, 2, 185, 186, 3, 2, 2, 2, 186, 184, 3, 2, 2, 2, 186, 187, 3, 2, 2, 2, 187, 189, 3, 2, 2, 2, 188, 182, 3, 2, 2, 2, 188, 189, 3, 2, 2, 2, 189, 191, 3, 2, 2, 2, 190, 192, 5, 71, 36, 2, 191, 190, 3, 2, 2, 2, 191, 192, 3, 2, 2, 2, 192, 68, 3, 2, 2, 2, 193, 202, 7, 50, 2, 2, 194, 198, 9, 8, 2, 2, 195, 197, 9, 7, 2, 2, 196, 195, 3, 2, 2, 2, 197, 200, 3, 2, 2, 2, 198, 196, 3, 2, 2, 2, 198, 199, 3, 2, 2, 2, 199, 202, 3, 2, 2, 2, 200, 198, 3, 2, 2, 2, 201, 193, 3, 2, 2, 2, 201, 194, 3, 2, 2, 2, 202, 70, 3, 2, 2, 2, 203, 205, 9, 9, 2, 2, 204, 206, 9, 10, 2, 2, 205, 204, 3, 2, 2, 2, 205, 206, 3, 2, 2, 2, 206, 207, 3, 2, 2, 2, 207, 208, 5, 69, 35, 2, 208, 72, 3, 2, 2, 2, 209, 211, 9, 11, 2, 2, 210, 209, 3, 2, 2, 2, 211, 212, 3, 2, 2, 2, 212, 210, 3, 2, 2, 2, 212, 213, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 215, 8, 37, 2, 2, 215, 74, 3, 2, 2, 2, 15, 2, 150, 156, 158, 166, 179, 186, 188, 191, 198, 201, 205, 212, 3, 8, 2, 2] \ No newline at end of file +[4, 0, 30, 214, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 5, 26, 147, 8, 26, 10, 26, 12, 26, 150, 9, 26, 1, 27, 1, 27, 1, 27, 5, 27, 155, 8, 27, 10, 27, 12, 27, 158, 9, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 3, 28, 165, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 3, 32, 178, 8, 32, 1, 32, 1, 32, 1, 32, 4, 32, 183, 8, 32, 11, 32, 12, 32, 184, 3, 32, 187, 8, 32, 1, 32, 3, 32, 190, 8, 32, 1, 33, 1, 33, 1, 33, 5, 33, 195, 8, 33, 10, 33, 12, 33, 198, 9, 33, 3, 33, 200, 8, 33, 1, 34, 1, 34, 3, 34, 204, 8, 34, 1, 34, 1, 34, 1, 35, 4, 35, 209, 8, 35, 11, 35, 12, 35, 210, 1, 35, 1, 35, 0, 0, 36, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 0, 59, 0, 61, 0, 63, 0, 65, 29, 67, 0, 69, 0, 71, 30, 1, 0, 10, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 8, 0, 34, 34, 47, 47, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 0, 31, 34, 34, 92, 92, 1, 0, 48, 57, 1, 0, 49, 57, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 219, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 1, 73, 1, 0, 0, 0, 3, 75, 1, 0, 0, 0, 5, 78, 1, 0, 0, 0, 7, 80, 1, 0, 0, 0, 9, 82, 1, 0, 0, 0, 11, 84, 1, 0, 0, 0, 13, 88, 1, 0, 0, 0, 15, 90, 1, 0, 0, 0, 17, 93, 1, 0, 0, 0, 19, 95, 1, 0, 0, 0, 21, 98, 1, 0, 0, 0, 23, 100, 1, 0, 0, 0, 25, 103, 1, 0, 0, 0, 27, 107, 1, 0, 0, 0, 29, 110, 1, 0, 0, 0, 31, 115, 1, 0, 0, 0, 33, 121, 1, 0, 0, 0, 35, 126, 1, 0, 0, 0, 37, 128, 1, 0, 0, 0, 39, 130, 1, 0, 0, 0, 41, 132, 1, 0, 0, 0, 43, 134, 1, 0, 0, 0, 45, 136, 1, 0, 0, 0, 47, 138, 1, 0, 0, 0, 49, 140, 1, 0, 0, 0, 51, 142, 1, 0, 0, 0, 53, 144, 1, 0, 0, 0, 55, 151, 1, 0, 0, 0, 57, 161, 1, 0, 0, 0, 59, 166, 1, 0, 0, 0, 61, 172, 1, 0, 0, 0, 63, 174, 1, 0, 0, 0, 65, 177, 1, 0, 0, 0, 67, 199, 1, 0, 0, 0, 69, 201, 1, 0, 0, 0, 71, 208, 1, 0, 0, 0, 73, 74, 5, 64, 0, 0, 74, 2, 1, 0, 0, 0, 75, 76, 5, 46, 0, 0, 76, 77, 5, 46, 0, 0, 77, 4, 1, 0, 0, 0, 78, 79, 5, 36, 0, 0, 79, 6, 1, 0, 0, 0, 80, 81, 5, 46, 0, 0, 81, 8, 1, 0, 0, 0, 82, 83, 5, 42, 0, 0, 83, 10, 1, 0, 0, 0, 84, 85, 5, 97, 0, 0, 85, 86, 5, 110, 0, 0, 86, 87, 5, 100, 0, 0, 87, 12, 1, 0, 0, 0, 88, 89, 5, 61, 0, 0, 89, 14, 1, 0, 0, 0, 90, 91, 5, 62, 0, 0, 91, 92, 5, 61, 0, 0, 92, 16, 1, 0, 0, 0, 93, 94, 5, 62, 0, 0, 94, 18, 1, 0, 0, 0, 95, 96, 5, 60, 0, 0, 96, 97, 5, 61, 0, 0, 97, 20, 1, 0, 0, 0, 98, 99, 5, 60, 0, 0, 99, 22, 1, 0, 0, 0, 100, 101, 5, 33, 0, 0, 101, 102, 5, 61, 0, 0, 102, 24, 1, 0, 0, 0, 103, 104, 5, 110, 0, 0, 104, 105, 5, 111, 0, 0, 105, 106, 5, 116, 0, 0, 106, 26, 1, 0, 0, 0, 107, 108, 5, 111, 0, 0, 108, 109, 5, 114, 0, 0, 109, 28, 1, 0, 0, 0, 110, 111, 5, 116, 0, 0, 111, 112, 5, 114, 0, 0, 112, 113, 5, 117, 0, 0, 113, 114, 5, 101, 0, 0, 114, 30, 1, 0, 0, 0, 115, 116, 5, 102, 0, 0, 116, 117, 5, 97, 0, 0, 117, 118, 5, 108, 0, 0, 118, 119, 5, 115, 0, 0, 119, 120, 5, 101, 0, 0, 120, 32, 1, 0, 0, 0, 121, 122, 5, 110, 0, 0, 122, 123, 5, 117, 0, 0, 123, 124, 5, 108, 0, 0, 124, 125, 5, 108, 0, 0, 125, 34, 1, 0, 0, 0, 126, 127, 5, 123, 0, 0, 127, 36, 1, 0, 0, 0, 128, 129, 5, 125, 0, 0, 129, 38, 1, 0, 0, 0, 130, 131, 5, 91, 0, 0, 131, 40, 1, 0, 0, 0, 132, 133, 5, 93, 0, 0, 133, 42, 1, 0, 0, 0, 134, 135, 5, 58, 0, 0, 135, 44, 1, 0, 0, 0, 136, 137, 5, 44, 0, 0, 137, 46, 1, 0, 0, 0, 138, 139, 5, 40, 0, 0, 139, 48, 1, 0, 0, 0, 140, 141, 5, 41, 0, 0, 141, 50, 1, 0, 0, 0, 142, 143, 5, 63, 0, 0, 143, 52, 1, 0, 0, 0, 144, 148, 7, 0, 0, 0, 145, 147, 7, 1, 0, 0, 146, 145, 1, 0, 0, 0, 147, 150, 1, 0, 0, 0, 148, 146, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 54, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 151, 156, 5, 34, 0, 0, 152, 155, 3, 57, 28, 0, 153, 155, 3, 63, 31, 0, 154, 152, 1, 0, 0, 0, 154, 153, 1, 0, 0, 0, 155, 158, 1, 0, 0, 0, 156, 154, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 159, 1, 0, 0, 0, 158, 156, 1, 0, 0, 0, 159, 160, 5, 34, 0, 0, 160, 56, 1, 0, 0, 0, 161, 164, 5, 92, 0, 0, 162, 165, 7, 2, 0, 0, 163, 165, 3, 59, 29, 0, 164, 162, 1, 0, 0, 0, 164, 163, 1, 0, 0, 0, 165, 58, 1, 0, 0, 0, 166, 167, 5, 117, 0, 0, 167, 168, 3, 61, 30, 0, 168, 169, 3, 61, 30, 0, 169, 170, 3, 61, 30, 0, 170, 171, 3, 61, 30, 0, 171, 60, 1, 0, 0, 0, 172, 173, 7, 3, 0, 0, 173, 62, 1, 0, 0, 0, 174, 175, 8, 4, 0, 0, 175, 64, 1, 0, 0, 0, 176, 178, 5, 45, 0, 0, 177, 176, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 186, 3, 67, 33, 0, 180, 182, 5, 46, 0, 0, 181, 183, 7, 5, 0, 0, 182, 181, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 182, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 187, 1, 0, 0, 0, 186, 180, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 189, 1, 0, 0, 0, 188, 190, 3, 69, 34, 0, 189, 188, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 66, 1, 0, 0, 0, 191, 200, 5, 48, 0, 0, 192, 196, 7, 6, 0, 0, 193, 195, 7, 5, 0, 0, 194, 193, 1, 0, 0, 0, 195, 198, 1, 0, 0, 0, 196, 194, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 200, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 199, 191, 1, 0, 0, 0, 199, 192, 1, 0, 0, 0, 200, 68, 1, 0, 0, 0, 201, 203, 7, 7, 0, 0, 202, 204, 7, 8, 0, 0, 203, 202, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 206, 3, 67, 33, 0, 206, 70, 1, 0, 0, 0, 207, 209, 7, 9, 0, 0, 208, 207, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 208, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 213, 6, 35, 0, 0, 213, 72, 1, 0, 0, 0, 13, 0, 148, 154, 156, 164, 177, 184, 186, 189, 196, 199, 203, 210, 1, 6, 0, 0] \ No newline at end of file diff --git a/jsonpath2/parser/JSONPathLexer.py b/jsonpath2/parser/JSONPathLexer.py index 8cea2f0..c56f187 100644 --- a/jsonpath2/parser/JSONPathLexer.py +++ b/jsonpath2/parser/JSONPathLexer.py @@ -1,102 +1,93 @@ -# Generated from jsonpath2/parser/JSONPath.g4 by ANTLR 4.7.1 +# Generated from jsonpath2/parser/JSONPath.g4 by ANTLR 4.10.1 from antlr4 import * from io import StringIO -from typing.io import TextIO import sys +if sys.version_info[1] > 5: + from typing import TextIO +else: + from typing.io import TextIO def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2 ") - buf.write("\u00d8\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7") - buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r") - buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23") - buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30") - buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36") - buf.write("\t\36\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%") - buf.write("\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3") - buf.write("\7\3\7\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\13\3\f") - buf.write("\3\f\3\r\3\r\3\r\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3") - buf.write("\20\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21") - buf.write("\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25") - buf.write("\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33") - buf.write("\3\33\3\34\3\34\7\34\u0095\n\34\f\34\16\34\u0098\13\34") - buf.write("\3\35\3\35\3\35\7\35\u009d\n\35\f\35\16\35\u00a0\13\35") - buf.write("\3\35\3\35\3\36\3\36\3\36\5\36\u00a7\n\36\3\37\3\37\3") - buf.write("\37\3\37\3\37\3\37\3 \3 \3!\3!\3\"\5\"\u00b4\n\"\3\"\3") - buf.write("\"\3\"\6\"\u00b9\n\"\r\"\16\"\u00ba\5\"\u00bd\n\"\3\"") - buf.write("\5\"\u00c0\n\"\3#\3#\3#\7#\u00c5\n#\f#\16#\u00c8\13#\5") - buf.write("#\u00ca\n#\3$\3$\5$\u00ce\n$\3$\3$\3%\6%\u00d3\n%\r%\16") - buf.write("%\u00d4\3%\3%\2\2&\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n") - buf.write("\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'") - buf.write("\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\2=\2") - buf.write("?\2A\2C\37E\2G\2I \3\2\f\5\2C\\aac|\6\2\62;C\\aac|\n\2") - buf.write("$$\61\61^^ddhhppttvv\5\2\62;CHch\5\2\2!$$^^\3\2\62;\3") - buf.write("\2\63;\4\2GGgg\4\2--//\5\2\13\f\17\17\"\"\2\u00dd\2\3") - buf.write("\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2") - buf.write("\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2") - buf.write("\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2") - buf.write("\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3") - buf.write("\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2") - buf.write("/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67") - buf.write("\3\2\2\2\29\3\2\2\2\2C\3\2\2\2\2I\3\2\2\2\3K\3\2\2\2\5") - buf.write("M\3\2\2\2\7P\3\2\2\2\tR\3\2\2\2\13T\3\2\2\2\rV\3\2\2\2") - buf.write("\17Z\3\2\2\2\21\\\3\2\2\2\23_\3\2\2\2\25a\3\2\2\2\27d") - buf.write("\3\2\2\2\31f\3\2\2\2\33i\3\2\2\2\35m\3\2\2\2\37p\3\2\2") - buf.write("\2!u\3\2\2\2#{\3\2\2\2%\u0080\3\2\2\2\'\u0082\3\2\2\2") - buf.write(")\u0084\3\2\2\2+\u0086\3\2\2\2-\u0088\3\2\2\2/\u008a\3") - buf.write("\2\2\2\61\u008c\3\2\2\2\63\u008e\3\2\2\2\65\u0090\3\2") - buf.write("\2\2\67\u0092\3\2\2\29\u0099\3\2\2\2;\u00a3\3\2\2\2=\u00a8") - buf.write("\3\2\2\2?\u00ae\3\2\2\2A\u00b0\3\2\2\2C\u00b3\3\2\2\2") - buf.write("E\u00c9\3\2\2\2G\u00cb\3\2\2\2I\u00d2\3\2\2\2KL\7B\2\2") - buf.write("L\4\3\2\2\2MN\7\60\2\2NO\7\60\2\2O\6\3\2\2\2PQ\7&\2\2") - buf.write("Q\b\3\2\2\2RS\7\60\2\2S\n\3\2\2\2TU\7,\2\2U\f\3\2\2\2") - buf.write("VW\7c\2\2WX\7p\2\2XY\7f\2\2Y\16\3\2\2\2Z[\7?\2\2[\20\3") - buf.write("\2\2\2\\]\7@\2\2]^\7?\2\2^\22\3\2\2\2_`\7@\2\2`\24\3\2") - buf.write("\2\2ab\7>\2\2bc\7?\2\2c\26\3\2\2\2de\7>\2\2e\30\3\2\2") - buf.write("\2fg\7#\2\2gh\7?\2\2h\32\3\2\2\2ij\7p\2\2jk\7q\2\2kl\7") - buf.write("v\2\2l\34\3\2\2\2mn\7q\2\2no\7t\2\2o\36\3\2\2\2pq\7v\2") - buf.write("\2qr\7t\2\2rs\7w\2\2st\7g\2\2t \3\2\2\2uv\7h\2\2vw\7c") - buf.write("\2\2wx\7n\2\2xy\7u\2\2yz\7g\2\2z\"\3\2\2\2{|\7p\2\2|}") - buf.write("\7w\2\2}~\7n\2\2~\177\7n\2\2\177$\3\2\2\2\u0080\u0081") - buf.write("\7}\2\2\u0081&\3\2\2\2\u0082\u0083\7\177\2\2\u0083(\3") - buf.write("\2\2\2\u0084\u0085\7]\2\2\u0085*\3\2\2\2\u0086\u0087\7") - buf.write("_\2\2\u0087,\3\2\2\2\u0088\u0089\7<\2\2\u0089.\3\2\2\2") - buf.write("\u008a\u008b\7.\2\2\u008b\60\3\2\2\2\u008c\u008d\7*\2") - buf.write("\2\u008d\62\3\2\2\2\u008e\u008f\7+\2\2\u008f\64\3\2\2") - buf.write("\2\u0090\u0091\7A\2\2\u0091\66\3\2\2\2\u0092\u0096\t\2") - buf.write("\2\2\u0093\u0095\t\3\2\2\u0094\u0093\3\2\2\2\u0095\u0098") - buf.write("\3\2\2\2\u0096\u0094\3\2\2\2\u0096\u0097\3\2\2\2\u0097") - buf.write("8\3\2\2\2\u0098\u0096\3\2\2\2\u0099\u009e\7$\2\2\u009a") - buf.write("\u009d\5;\36\2\u009b\u009d\5A!\2\u009c\u009a\3\2\2\2\u009c") - buf.write("\u009b\3\2\2\2\u009d\u00a0\3\2\2\2\u009e\u009c\3\2\2\2") - buf.write("\u009e\u009f\3\2\2\2\u009f\u00a1\3\2\2\2\u00a0\u009e\3") - buf.write("\2\2\2\u00a1\u00a2\7$\2\2\u00a2:\3\2\2\2\u00a3\u00a6\7") - buf.write("^\2\2\u00a4\u00a7\t\4\2\2\u00a5\u00a7\5=\37\2\u00a6\u00a4") - buf.write("\3\2\2\2\u00a6\u00a5\3\2\2\2\u00a7<\3\2\2\2\u00a8\u00a9") - buf.write("\7w\2\2\u00a9\u00aa\5? \2\u00aa\u00ab\5? \2\u00ab\u00ac") - buf.write("\5? \2\u00ac\u00ad\5? \2\u00ad>\3\2\2\2\u00ae\u00af\t") - buf.write("\5\2\2\u00af@\3\2\2\2\u00b0\u00b1\n\6\2\2\u00b1B\3\2\2") - buf.write("\2\u00b2\u00b4\7/\2\2\u00b3\u00b2\3\2\2\2\u00b3\u00b4") - buf.write("\3\2\2\2\u00b4\u00b5\3\2\2\2\u00b5\u00bc\5E#\2\u00b6\u00b8") - buf.write("\7\60\2\2\u00b7\u00b9\t\7\2\2\u00b8\u00b7\3\2\2\2\u00b9") - buf.write("\u00ba\3\2\2\2\u00ba\u00b8\3\2\2\2\u00ba\u00bb\3\2\2\2") - buf.write("\u00bb\u00bd\3\2\2\2\u00bc\u00b6\3\2\2\2\u00bc\u00bd\3") - buf.write("\2\2\2\u00bd\u00bf\3\2\2\2\u00be\u00c0\5G$\2\u00bf\u00be") - buf.write("\3\2\2\2\u00bf\u00c0\3\2\2\2\u00c0D\3\2\2\2\u00c1\u00ca") - buf.write("\7\62\2\2\u00c2\u00c6\t\b\2\2\u00c3\u00c5\t\7\2\2\u00c4") - buf.write("\u00c3\3\2\2\2\u00c5\u00c8\3\2\2\2\u00c6\u00c4\3\2\2\2") - buf.write("\u00c6\u00c7\3\2\2\2\u00c7\u00ca\3\2\2\2\u00c8\u00c6\3") - buf.write("\2\2\2\u00c9\u00c1\3\2\2\2\u00c9\u00c2\3\2\2\2\u00caF") - buf.write("\3\2\2\2\u00cb\u00cd\t\t\2\2\u00cc\u00ce\t\n\2\2\u00cd") - buf.write("\u00cc\3\2\2\2\u00cd\u00ce\3\2\2\2\u00ce\u00cf\3\2\2\2") - buf.write("\u00cf\u00d0\5E#\2\u00d0H\3\2\2\2\u00d1\u00d3\t\13\2\2") - buf.write("\u00d2\u00d1\3\2\2\2\u00d3\u00d4\3\2\2\2\u00d4\u00d2\3") - buf.write("\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d6\3\2\2\2\u00d6\u00d7") - buf.write("\b%\2\2\u00d7J\3\2\2\2\17\2\u0096\u009c\u009e\u00a6\u00b3") - buf.write("\u00ba\u00bc\u00bf\u00c6\u00c9\u00cd\u00d4\3\b\2\2") - return buf.getvalue() - + return [ + 4,0,30,214,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5, + 2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2, + 13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7, + 19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2, + 26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7, + 32,2,33,7,33,2,34,7,34,2,35,7,35,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,3, + 1,3,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9, + 1,9,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1,13, + 1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16, + 1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21, + 1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26,5,26,147,8,26, + 10,26,12,26,150,9,26,1,27,1,27,1,27,5,27,155,8,27,10,27,12,27,158, + 9,27,1,27,1,27,1,28,1,28,1,28,3,28,165,8,28,1,29,1,29,1,29,1,29, + 1,29,1,29,1,30,1,30,1,31,1,31,1,32,3,32,178,8,32,1,32,1,32,1,32, + 4,32,183,8,32,11,32,12,32,184,3,32,187,8,32,1,32,3,32,190,8,32,1, + 33,1,33,1,33,5,33,195,8,33,10,33,12,33,198,9,33,3,33,200,8,33,1, + 34,1,34,3,34,204,8,34,1,34,1,34,1,35,4,35,209,8,35,11,35,12,35,210, + 1,35,1,35,0,0,36,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21, + 11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43, + 22,45,23,47,24,49,25,51,26,53,27,55,28,57,0,59,0,61,0,63,0,65,29, + 67,0,69,0,71,30,1,0,10,3,0,65,90,95,95,97,122,4,0,48,57,65,90,95, + 95,97,122,8,0,34,34,47,47,92,92,98,98,102,102,110,110,114,114,116, + 116,3,0,48,57,65,70,97,102,3,0,0,31,34,34,92,92,1,0,48,57,1,0,49, + 57,2,0,69,69,101,101,2,0,43,43,45,45,3,0,9,10,13,13,32,32,219,0, + 1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1, + 0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1, + 0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1, + 0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1, + 0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1, + 0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,65,1,0,0,0,0,71,1,0,0,0,1,73,1, + 0,0,0,3,75,1,0,0,0,5,78,1,0,0,0,7,80,1,0,0,0,9,82,1,0,0,0,11,84, + 1,0,0,0,13,88,1,0,0,0,15,90,1,0,0,0,17,93,1,0,0,0,19,95,1,0,0,0, + 21,98,1,0,0,0,23,100,1,0,0,0,25,103,1,0,0,0,27,107,1,0,0,0,29,110, + 1,0,0,0,31,115,1,0,0,0,33,121,1,0,0,0,35,126,1,0,0,0,37,128,1,0, + 0,0,39,130,1,0,0,0,41,132,1,0,0,0,43,134,1,0,0,0,45,136,1,0,0,0, + 47,138,1,0,0,0,49,140,1,0,0,0,51,142,1,0,0,0,53,144,1,0,0,0,55,151, + 1,0,0,0,57,161,1,0,0,0,59,166,1,0,0,0,61,172,1,0,0,0,63,174,1,0, + 0,0,65,177,1,0,0,0,67,199,1,0,0,0,69,201,1,0,0,0,71,208,1,0,0,0, + 73,74,5,64,0,0,74,2,1,0,0,0,75,76,5,46,0,0,76,77,5,46,0,0,77,4,1, + 0,0,0,78,79,5,36,0,0,79,6,1,0,0,0,80,81,5,46,0,0,81,8,1,0,0,0,82, + 83,5,42,0,0,83,10,1,0,0,0,84,85,5,97,0,0,85,86,5,110,0,0,86,87,5, + 100,0,0,87,12,1,0,0,0,88,89,5,61,0,0,89,14,1,0,0,0,90,91,5,62,0, + 0,91,92,5,61,0,0,92,16,1,0,0,0,93,94,5,62,0,0,94,18,1,0,0,0,95,96, + 5,60,0,0,96,97,5,61,0,0,97,20,1,0,0,0,98,99,5,60,0,0,99,22,1,0,0, + 0,100,101,5,33,0,0,101,102,5,61,0,0,102,24,1,0,0,0,103,104,5,110, + 0,0,104,105,5,111,0,0,105,106,5,116,0,0,106,26,1,0,0,0,107,108,5, + 111,0,0,108,109,5,114,0,0,109,28,1,0,0,0,110,111,5,116,0,0,111,112, + 5,114,0,0,112,113,5,117,0,0,113,114,5,101,0,0,114,30,1,0,0,0,115, + 116,5,102,0,0,116,117,5,97,0,0,117,118,5,108,0,0,118,119,5,115,0, + 0,119,120,5,101,0,0,120,32,1,0,0,0,121,122,5,110,0,0,122,123,5,117, + 0,0,123,124,5,108,0,0,124,125,5,108,0,0,125,34,1,0,0,0,126,127,5, + 123,0,0,127,36,1,0,0,0,128,129,5,125,0,0,129,38,1,0,0,0,130,131, + 5,91,0,0,131,40,1,0,0,0,132,133,5,93,0,0,133,42,1,0,0,0,134,135, + 5,58,0,0,135,44,1,0,0,0,136,137,5,44,0,0,137,46,1,0,0,0,138,139, + 5,40,0,0,139,48,1,0,0,0,140,141,5,41,0,0,141,50,1,0,0,0,142,143, + 5,63,0,0,143,52,1,0,0,0,144,148,7,0,0,0,145,147,7,1,0,0,146,145, + 1,0,0,0,147,150,1,0,0,0,148,146,1,0,0,0,148,149,1,0,0,0,149,54,1, + 0,0,0,150,148,1,0,0,0,151,156,5,34,0,0,152,155,3,57,28,0,153,155, + 3,63,31,0,154,152,1,0,0,0,154,153,1,0,0,0,155,158,1,0,0,0,156,154, + 1,0,0,0,156,157,1,0,0,0,157,159,1,0,0,0,158,156,1,0,0,0,159,160, + 5,34,0,0,160,56,1,0,0,0,161,164,5,92,0,0,162,165,7,2,0,0,163,165, + 3,59,29,0,164,162,1,0,0,0,164,163,1,0,0,0,165,58,1,0,0,0,166,167, + 5,117,0,0,167,168,3,61,30,0,168,169,3,61,30,0,169,170,3,61,30,0, + 170,171,3,61,30,0,171,60,1,0,0,0,172,173,7,3,0,0,173,62,1,0,0,0, + 174,175,8,4,0,0,175,64,1,0,0,0,176,178,5,45,0,0,177,176,1,0,0,0, + 177,178,1,0,0,0,178,179,1,0,0,0,179,186,3,67,33,0,180,182,5,46,0, + 0,181,183,7,5,0,0,182,181,1,0,0,0,183,184,1,0,0,0,184,182,1,0,0, + 0,184,185,1,0,0,0,185,187,1,0,0,0,186,180,1,0,0,0,186,187,1,0,0, + 0,187,189,1,0,0,0,188,190,3,69,34,0,189,188,1,0,0,0,189,190,1,0, + 0,0,190,66,1,0,0,0,191,200,5,48,0,0,192,196,7,6,0,0,193,195,7,5, + 0,0,194,193,1,0,0,0,195,198,1,0,0,0,196,194,1,0,0,0,196,197,1,0, + 0,0,197,200,1,0,0,0,198,196,1,0,0,0,199,191,1,0,0,0,199,192,1,0, + 0,0,200,68,1,0,0,0,201,203,7,7,0,0,202,204,7,8,0,0,203,202,1,0,0, + 0,203,204,1,0,0,0,204,205,1,0,0,0,205,206,3,67,33,0,206,70,1,0,0, + 0,207,209,7,9,0,0,208,207,1,0,0,0,209,210,1,0,0,0,210,208,1,0,0, + 0,210,211,1,0,0,0,211,212,1,0,0,0,212,213,6,35,0,0,213,72,1,0,0, + 0,13,0,148,154,156,164,177,184,186,189,196,199,203,210,1,6,0,0 + ] class JSONPathLexer(Lexer): @@ -140,33 +131,31 @@ class JSONPathLexer(Lexer): modeNames = [ "DEFAULT_MODE" ] literalNames = [ "", - "'@'", "'..'", "'$'", "'.'", "'*'", "'and'", "'='", "'>='", - "'>'", "'<='", "'<'", "'!='", "'not'", "'or'", "'true'", "'false'", - "'null'", "'{'", "'}'", "'['", "']'", "':'", "','", "'('", "')'", + "'@'", "'..'", "'$'", "'.'", "'*'", "'and'", "'='", "'>='", + "'>'", "'<='", "'<'", "'!='", "'not'", "'or'", "'true'", "'false'", + "'null'", "'{'", "'}'", "'['", "']'", "':'", "','", "'('", "')'", "'?'" ] symbolicNames = [ "", - "CURRENT_VALUE", "RECURSIVE_DESCENT", "ROOT_VALUE", "SUBSCRIPT", - "WILDCARD_SUBSCRIPT", "AND", "EQ", "GE", "GT", "LE", "LT", "NE", - "NOT", "OR", "TRUE", "FALSE", "NULL", "BRACE_LEFT", "BRACE_RIGHT", - "BRACKET_LEFT", "BRACKET_RIGHT", "COLON", "COMMA", "PAREN_LEFT", + "CURRENT_VALUE", "RECURSIVE_DESCENT", "ROOT_VALUE", "SUBSCRIPT", + "WILDCARD_SUBSCRIPT", "AND", "EQ", "GE", "GT", "LE", "LT", "NE", + "NOT", "OR", "TRUE", "FALSE", "NULL", "BRACE_LEFT", "BRACE_RIGHT", + "BRACKET_LEFT", "BRACKET_RIGHT", "COLON", "COMMA", "PAREN_LEFT", "PAREN_RIGHT", "QUESTION", "ID", "STRING", "NUMBER", "WS" ] - ruleNames = [ "CURRENT_VALUE", "RECURSIVE_DESCENT", "ROOT_VALUE", "SUBSCRIPT", - "WILDCARD_SUBSCRIPT", "AND", "EQ", "GE", "GT", "LE", "LT", - "NE", "NOT", "OR", "TRUE", "FALSE", "NULL", "BRACE_LEFT", - "BRACE_RIGHT", "BRACKET_LEFT", "BRACKET_RIGHT", "COLON", - "COMMA", "PAREN_LEFT", "PAREN_RIGHT", "QUESTION", "ID", - "STRING", "ESC", "UNICODE", "HEX", "SAFECODEPOINT", "NUMBER", + ruleNames = [ "CURRENT_VALUE", "RECURSIVE_DESCENT", "ROOT_VALUE", "SUBSCRIPT", + "WILDCARD_SUBSCRIPT", "AND", "EQ", "GE", "GT", "LE", "LT", + "NE", "NOT", "OR", "TRUE", "FALSE", "NULL", "BRACE_LEFT", + "BRACE_RIGHT", "BRACKET_LEFT", "BRACKET_RIGHT", "COLON", + "COMMA", "PAREN_LEFT", "PAREN_RIGHT", "QUESTION", "ID", + "STRING", "ESC", "UNICODE", "HEX", "SAFECODEPOINT", "NUMBER", "INT", "EXP", "WS" ] grammarFileName = "JSONPath.g4" def __init__(self, input=None, output:TextIO = sys.stdout): super().__init__(input, output) - self.checkVersion("4.7.1") + self.checkVersion("4.10.1") self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) self._actions = None self._predicates = None - - diff --git a/jsonpath2/parser/JSONPathListener.py b/jsonpath2/parser/JSONPathListener.py index ed18a65..e7bf1cc 100644 --- a/jsonpath2/parser/JSONPathListener.py +++ b/jsonpath2/parser/JSONPathListener.py @@ -1,4 +1,4 @@ -# Generated from jsonpath2/parser/JSONPath.g4 by ANTLR 4.7.1 +# Generated from jsonpath2/parser/JSONPath.g4 by ANTLR 4.10.1 from antlr4 import * if __name__ is not None and "." in __name__: from .JSONPathParser import JSONPathParser @@ -170,3 +170,5 @@ def exitValue(self, ctx:JSONPathParser.ValueContext): pass + +del JSONPathParser diff --git a/jsonpath2/parser/JSONPathParser.py b/jsonpath2/parser/JSONPathParser.py index 16ce0f0..7e4d5fc 100644 --- a/jsonpath2/parser/JSONPathParser.py +++ b/jsonpath2/parser/JSONPathParser.py @@ -1,98 +1,88 @@ -# Generated from jsonpath2/parser/JSONPath.g4 by ANTLR 4.7.1 +# Generated from jsonpath2/parser/JSONPath.g4 by ANTLR 4.10.1 # encoding: utf-8 from antlr4 import * from io import StringIO -from typing.io import TextIO import sys +if sys.version_info[1] > 5: + from typing import TextIO +else: + from typing.io import TextIO def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3 ") - buf.write("\u00cb\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") - buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") - buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") - buf.write("\3\2\3\2\5\2)\n\2\3\2\3\2\3\3\3\3\5\3/\n\3\3\4\3\4\5\4") - buf.write("\63\n\4\3\5\3\5\3\5\5\58\n\5\3\5\5\5;\n\5\3\5\3\5\3\5") - buf.write("\5\5@\n\5\3\5\3\5\5\5D\n\5\5\5F\n\5\3\6\3\6\3\6\3\6\7") - buf.write("\6L\n\6\f\6\16\6O\13\6\3\6\3\6\3\7\3\7\3\7\3\7\7\7W\n") - buf.write("\7\f\7\16\7Z\13\7\5\7\\\n\7\3\7\3\7\3\b\3\b\5\bb\n\b\3") - buf.write("\b\5\be\n\b\3\t\3\t\3\t\3\t\5\tk\n\t\3\t\3\t\3\t\3\t\3") - buf.write("\t\3\t\3\t\3\t\3\t\3\t\5\tw\n\t\3\n\3\n\3\n\5\n|\n\n\3") - buf.write("\n\3\n\3\n\5\n\u0081\n\n\5\n\u0083\n\n\3\13\3\13\3\f\3") - buf.write("\f\3\f\5\f\u008a\n\f\3\r\3\r\3\r\5\r\u008f\n\r\3\16\3") - buf.write("\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\5\16\u009a\n\16") - buf.write("\5\16\u009c\n\16\3\17\3\17\3\20\3\20\3\20\3\20\7\20\u00a4") - buf.write("\n\20\f\20\16\20\u00a7\13\20\3\20\3\20\3\20\3\20\5\20") - buf.write("\u00ad\n\20\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\7") - buf.write("\22\u00b7\n\22\f\22\16\22\u00ba\13\22\3\22\3\22\3\22\3") - buf.write("\22\5\22\u00c0\n\22\3\23\3\23\3\23\3\23\3\23\3\23\3\23") - buf.write("\5\23\u00c9\n\23\3\23\2\2\24\2\4\6\b\n\f\16\20\22\24\26") - buf.write("\30\32\34\36 \"$\2\4\4\2\3\3\5\5\3\2\t\16\2\u00df\2&\3") - buf.write("\2\2\2\4,\3\2\2\2\6\62\3\2\2\2\bE\3\2\2\2\nG\3\2\2\2\f") - buf.write("R\3\2\2\2\16d\3\2\2\2\20v\3\2\2\2\22x\3\2\2\2\24\u0084") - buf.write("\3\2\2\2\26\u0086\3\2\2\2\30\u008b\3\2\2\2\32\u009b\3") - buf.write("\2\2\2\34\u009d\3\2\2\2\36\u00ac\3\2\2\2 \u00ae\3\2\2") - buf.write("\2\"\u00bf\3\2\2\2$\u00c8\3\2\2\2&(\7\5\2\2\')\5\b\5\2") - buf.write("(\'\3\2\2\2()\3\2\2\2)*\3\2\2\2*+\7\2\2\3+\3\3\2\2\2,") - buf.write(".\t\2\2\2-/\5\b\5\2.-\3\2\2\2./\3\2\2\2/\5\3\2\2\2\60") - buf.write("\63\5\4\3\2\61\63\5$\23\2\62\60\3\2\2\2\62\61\3\2\2\2") - buf.write("\63\7\3\2\2\2\64\67\7\4\2\2\658\5\16\b\2\668\5\n\6\2\67") - buf.write("\65\3\2\2\2\67\66\3\2\2\28:\3\2\2\29;\5\b\5\2:9\3\2\2") - buf.write("\2:;\3\2\2\2;F\3\2\2\2<=\7\6\2\2=?\5\16\b\2>@\5\b\5\2") - buf.write("?>\3\2\2\2?@\3\2\2\2@F\3\2\2\2AC\5\n\6\2BD\5\b\5\2CB\3") - buf.write("\2\2\2CD\3\2\2\2DF\3\2\2\2E\64\3\2\2\2E<\3\2\2\2EA\3\2") - buf.write("\2\2F\t\3\2\2\2GH\7\26\2\2HM\5\20\t\2IJ\7\31\2\2JL\5\20") - buf.write("\t\2KI\3\2\2\2LO\3\2\2\2MK\3\2\2\2MN\3\2\2\2NP\3\2\2\2") - buf.write("OM\3\2\2\2PQ\7\27\2\2Q\13\3\2\2\2R[\7\32\2\2SX\5\6\4\2") - buf.write("TU\7\31\2\2UW\5\6\4\2VT\3\2\2\2WZ\3\2\2\2XV\3\2\2\2XY") - buf.write("\3\2\2\2Y\\\3\2\2\2ZX\3\2\2\2[S\3\2\2\2[\\\3\2\2\2\\]") - buf.write("\3\2\2\2]^\7\33\2\2^\r\3\2\2\2_a\7\35\2\2`b\5\f\7\2a`") - buf.write("\3\2\2\2ab\3\2\2\2be\3\2\2\2ce\7\7\2\2d_\3\2\2\2dc\3\2") - buf.write("\2\2e\17\3\2\2\2fw\7\36\2\2gh\7\37\2\2hj\6\t\2\2ik\5\22") - buf.write("\n\2ji\3\2\2\2jk\3\2\2\2kw\3\2\2\2lw\5\22\n\2mw\7\7\2") - buf.write("\2no\7\34\2\2op\7\32\2\2pq\5\24\13\2qr\7\33\2\2rw\3\2") - buf.write("\2\2sw\5\4\3\2tu\7\35\2\2uw\5\f\7\2vf\3\2\2\2vg\3\2\2") - buf.write("\2vl\3\2\2\2vm\3\2\2\2vn\3\2\2\2vs\3\2\2\2vt\3\2\2\2w") - buf.write("\21\3\2\2\2x{\7\30\2\2yz\7\37\2\2z|\6\n\3\2{y\3\2\2\2") - buf.write("{|\3\2\2\2|\u0082\3\2\2\2}\u0080\7\30\2\2~\177\7\37\2") - buf.write("\2\177\u0081\6\n\4\2\u0080~\3\2\2\2\u0080\u0081\3\2\2") - buf.write("\2\u0081\u0083\3\2\2\2\u0082}\3\2\2\2\u0082\u0083\3\2") - buf.write("\2\2\u0083\23\3\2\2\2\u0084\u0085\5\26\f\2\u0085\25\3") - buf.write("\2\2\2\u0086\u0089\5\30\r\2\u0087\u0088\7\b\2\2\u0088") - buf.write("\u008a\5\26\f\2\u0089\u0087\3\2\2\2\u0089\u008a\3\2\2") - buf.write("\2\u008a\27\3\2\2\2\u008b\u008e\5\32\16\2\u008c\u008d") - buf.write("\7\20\2\2\u008d\u008f\5\30\r\2\u008e\u008c\3\2\2\2\u008e") - buf.write("\u008f\3\2\2\2\u008f\31\3\2\2\2\u0090\u0091\7\17\2\2\u0091") - buf.write("\u009c\5\32\16\2\u0092\u0093\7\32\2\2\u0093\u0094\5\24") - buf.write("\13\2\u0094\u0095\7\33\2\2\u0095\u009c\3\2\2\2\u0096\u0099") - buf.write("\5\6\4\2\u0097\u0098\t\3\2\2\u0098\u009a\5\6\4\2\u0099") - buf.write("\u0097\3\2\2\2\u0099\u009a\3\2\2\2\u009a\u009c\3\2\2\2") - buf.write("\u009b\u0090\3\2\2\2\u009b\u0092\3\2\2\2\u009b\u0096\3") - buf.write("\2\2\2\u009c\33\3\2\2\2\u009d\u009e\5$\23\2\u009e\35\3") - buf.write("\2\2\2\u009f\u00a0\7\24\2\2\u00a0\u00a5\5 \21\2\u00a1") - buf.write("\u00a2\7\31\2\2\u00a2\u00a4\5 \21\2\u00a3\u00a1\3\2\2") - buf.write("\2\u00a4\u00a7\3\2\2\2\u00a5\u00a3\3\2\2\2\u00a5\u00a6") - buf.write("\3\2\2\2\u00a6\u00a8\3\2\2\2\u00a7\u00a5\3\2\2\2\u00a8") - buf.write("\u00a9\7\25\2\2\u00a9\u00ad\3\2\2\2\u00aa\u00ab\7\24\2") - buf.write("\2\u00ab\u00ad\7\25\2\2\u00ac\u009f\3\2\2\2\u00ac\u00aa") - buf.write("\3\2\2\2\u00ad\37\3\2\2\2\u00ae\u00af\7\36\2\2\u00af\u00b0") - buf.write("\7\30\2\2\u00b0\u00b1\5$\23\2\u00b1!\3\2\2\2\u00b2\u00b3") - buf.write("\7\26\2\2\u00b3\u00b8\5$\23\2\u00b4\u00b5\7\31\2\2\u00b5") - buf.write("\u00b7\5$\23\2\u00b6\u00b4\3\2\2\2\u00b7\u00ba\3\2\2\2") - buf.write("\u00b8\u00b6\3\2\2\2\u00b8\u00b9\3\2\2\2\u00b9\u00bb\3") - buf.write("\2\2\2\u00ba\u00b8\3\2\2\2\u00bb\u00bc\7\27\2\2\u00bc") - buf.write("\u00c0\3\2\2\2\u00bd\u00be\7\26\2\2\u00be\u00c0\7\27\2") - buf.write("\2\u00bf\u00b2\3\2\2\2\u00bf\u00bd\3\2\2\2\u00c0#\3\2") - buf.write("\2\2\u00c1\u00c9\7\36\2\2\u00c2\u00c9\7\37\2\2\u00c3\u00c9") - buf.write("\5\36\20\2\u00c4\u00c9\5\"\22\2\u00c5\u00c9\7\21\2\2\u00c6") - buf.write("\u00c9\7\22\2\2\u00c7\u00c9\7\23\2\2\u00c8\u00c1\3\2\2") - buf.write("\2\u00c8\u00c2\3\2\2\2\u00c8\u00c3\3\2\2\2\u00c8\u00c4") - buf.write("\3\2\2\2\u00c8\u00c5\3\2\2\2\u00c8\u00c6\3\2\2\2\u00c8") - buf.write("\u00c7\3\2\2\2\u00c9%\3\2\2\2\35(.\62\67:?CEMX[adjv{\u0080") - buf.write("\u0082\u0089\u008e\u0099\u009b\u00a5\u00ac\u00b8\u00bf") - buf.write("\u00c8") - return buf.getvalue() - + return [ + 4,1,30,201,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7, + 6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13, + 2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,1,0,1,0,3,0,39,8,0,1,0,1, + 0,1,1,1,1,3,1,45,8,1,1,2,1,2,3,2,49,8,2,1,3,1,3,1,3,3,3,54,8,3,1, + 3,3,3,57,8,3,1,3,1,3,1,3,3,3,62,8,3,1,3,1,3,3,3,66,8,3,3,3,68,8, + 3,1,4,1,4,1,4,1,4,5,4,74,8,4,10,4,12,4,77,9,4,1,4,1,4,1,5,1,5,1, + 5,1,5,5,5,85,8,5,10,5,12,5,88,9,5,3,5,90,8,5,1,5,1,5,1,6,1,6,3,6, + 96,8,6,1,6,3,6,99,8,6,1,7,1,7,1,7,1,7,3,7,105,8,7,1,7,1,7,1,7,1, + 7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,117,8,7,1,8,1,8,1,8,3,8,122,8,8,1, + 8,1,8,1,8,3,8,127,8,8,3,8,129,8,8,1,9,1,9,1,10,1,10,1,10,3,10,136, + 8,10,1,11,1,11,1,11,3,11,141,8,11,1,12,1,12,1,12,1,12,1,12,1,12, + 1,12,1,12,1,12,3,12,152,8,12,3,12,154,8,12,1,13,1,13,1,14,1,14,1, + 14,1,14,5,14,162,8,14,10,14,12,14,165,9,14,1,14,1,14,1,14,1,14,3, + 14,171,8,14,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,5,16,181,8,16, + 10,16,12,16,184,9,16,1,16,1,16,1,16,1,16,3,16,190,8,16,1,17,1,17, + 1,17,1,17,1,17,1,17,1,17,3,17,199,8,17,1,17,0,0,18,0,2,4,6,8,10, + 12,14,16,18,20,22,24,26,28,30,32,34,0,2,2,0,1,1,3,3,1,0,7,12,221, + 0,36,1,0,0,0,2,42,1,0,0,0,4,48,1,0,0,0,6,67,1,0,0,0,8,69,1,0,0,0, + 10,80,1,0,0,0,12,98,1,0,0,0,14,116,1,0,0,0,16,118,1,0,0,0,18,130, + 1,0,0,0,20,132,1,0,0,0,22,137,1,0,0,0,24,153,1,0,0,0,26,155,1,0, + 0,0,28,170,1,0,0,0,30,172,1,0,0,0,32,189,1,0,0,0,34,198,1,0,0,0, + 36,38,5,3,0,0,37,39,3,6,3,0,38,37,1,0,0,0,38,39,1,0,0,0,39,40,1, + 0,0,0,40,41,5,0,0,1,41,1,1,0,0,0,42,44,7,0,0,0,43,45,3,6,3,0,44, + 43,1,0,0,0,44,45,1,0,0,0,45,3,1,0,0,0,46,49,3,2,1,0,47,49,3,34,17, + 0,48,46,1,0,0,0,48,47,1,0,0,0,49,5,1,0,0,0,50,53,5,2,0,0,51,54,3, + 12,6,0,52,54,3,8,4,0,53,51,1,0,0,0,53,52,1,0,0,0,54,56,1,0,0,0,55, + 57,3,6,3,0,56,55,1,0,0,0,56,57,1,0,0,0,57,68,1,0,0,0,58,59,5,4,0, + 0,59,61,3,12,6,0,60,62,3,6,3,0,61,60,1,0,0,0,61,62,1,0,0,0,62,68, + 1,0,0,0,63,65,3,8,4,0,64,66,3,6,3,0,65,64,1,0,0,0,65,66,1,0,0,0, + 66,68,1,0,0,0,67,50,1,0,0,0,67,58,1,0,0,0,67,63,1,0,0,0,68,7,1,0, + 0,0,69,70,5,20,0,0,70,75,3,14,7,0,71,72,5,23,0,0,72,74,3,14,7,0, + 73,71,1,0,0,0,74,77,1,0,0,0,75,73,1,0,0,0,75,76,1,0,0,0,76,78,1, + 0,0,0,77,75,1,0,0,0,78,79,5,21,0,0,79,9,1,0,0,0,80,89,5,24,0,0,81, + 86,3,4,2,0,82,83,5,23,0,0,83,85,3,4,2,0,84,82,1,0,0,0,85,88,1,0, + 0,0,86,84,1,0,0,0,86,87,1,0,0,0,87,90,1,0,0,0,88,86,1,0,0,0,89,81, + 1,0,0,0,89,90,1,0,0,0,90,91,1,0,0,0,91,92,5,25,0,0,92,11,1,0,0,0, + 93,95,5,27,0,0,94,96,3,10,5,0,95,94,1,0,0,0,95,96,1,0,0,0,96,99, + 1,0,0,0,97,99,5,5,0,0,98,93,1,0,0,0,98,97,1,0,0,0,99,13,1,0,0,0, + 100,117,5,28,0,0,101,102,5,29,0,0,102,104,4,7,0,0,103,105,3,16,8, + 0,104,103,1,0,0,0,104,105,1,0,0,0,105,117,1,0,0,0,106,117,3,16,8, + 0,107,117,5,5,0,0,108,109,5,26,0,0,109,110,5,24,0,0,110,111,3,18, + 9,0,111,112,5,25,0,0,112,117,1,0,0,0,113,117,3,2,1,0,114,115,5,27, + 0,0,115,117,3,10,5,0,116,100,1,0,0,0,116,101,1,0,0,0,116,106,1,0, + 0,0,116,107,1,0,0,0,116,108,1,0,0,0,116,113,1,0,0,0,116,114,1,0, + 0,0,117,15,1,0,0,0,118,121,5,22,0,0,119,120,5,29,0,0,120,122,4,8, + 1,0,121,119,1,0,0,0,121,122,1,0,0,0,122,128,1,0,0,0,123,126,5,22, + 0,0,124,125,5,29,0,0,125,127,4,8,2,0,126,124,1,0,0,0,126,127,1,0, + 0,0,127,129,1,0,0,0,128,123,1,0,0,0,128,129,1,0,0,0,129,17,1,0,0, + 0,130,131,3,20,10,0,131,19,1,0,0,0,132,135,3,22,11,0,133,134,5,6, + 0,0,134,136,3,20,10,0,135,133,1,0,0,0,135,136,1,0,0,0,136,21,1,0, + 0,0,137,140,3,24,12,0,138,139,5,14,0,0,139,141,3,22,11,0,140,138, + 1,0,0,0,140,141,1,0,0,0,141,23,1,0,0,0,142,143,5,13,0,0,143,154, + 3,24,12,0,144,145,5,24,0,0,145,146,3,18,9,0,146,147,5,25,0,0,147, + 154,1,0,0,0,148,151,3,4,2,0,149,150,7,1,0,0,150,152,3,4,2,0,151, + 149,1,0,0,0,151,152,1,0,0,0,152,154,1,0,0,0,153,142,1,0,0,0,153, + 144,1,0,0,0,153,148,1,0,0,0,154,25,1,0,0,0,155,156,3,34,17,0,156, + 27,1,0,0,0,157,158,5,18,0,0,158,163,3,30,15,0,159,160,5,23,0,0,160, + 162,3,30,15,0,161,159,1,0,0,0,162,165,1,0,0,0,163,161,1,0,0,0,163, + 164,1,0,0,0,164,166,1,0,0,0,165,163,1,0,0,0,166,167,5,19,0,0,167, + 171,1,0,0,0,168,169,5,18,0,0,169,171,5,19,0,0,170,157,1,0,0,0,170, + 168,1,0,0,0,171,29,1,0,0,0,172,173,5,28,0,0,173,174,5,22,0,0,174, + 175,3,34,17,0,175,31,1,0,0,0,176,177,5,20,0,0,177,182,3,34,17,0, + 178,179,5,23,0,0,179,181,3,34,17,0,180,178,1,0,0,0,181,184,1,0,0, + 0,182,180,1,0,0,0,182,183,1,0,0,0,183,185,1,0,0,0,184,182,1,0,0, + 0,185,186,5,21,0,0,186,190,1,0,0,0,187,188,5,20,0,0,188,190,5,21, + 0,0,189,176,1,0,0,0,189,187,1,0,0,0,190,33,1,0,0,0,191,199,5,28, + 0,0,192,199,5,29,0,0,193,199,3,28,14,0,194,199,3,32,16,0,195,199, + 5,15,0,0,196,199,5,16,0,0,197,199,5,17,0,0,198,191,1,0,0,0,198,192, + 1,0,0,0,198,193,1,0,0,0,198,194,1,0,0,0,198,195,1,0,0,0,198,196, + 1,0,0,0,198,197,1,0,0,0,199,35,1,0,0,0,27,38,44,48,53,56,61,65,67, + 75,86,89,95,98,104,116,121,126,128,135,140,151,153,163,170,182,189, + 198 + ] class JSONPathParser ( Parser ): @@ -104,16 +94,16 @@ class JSONPathParser ( Parser ): sharedContextCache = PredictionContextCache() - literalNames = [ "", "'@'", "'..'", "'$'", "'.'", "'*'", "'and'", - "'='", "'>='", "'>'", "'<='", "'<'", "'!='", "'not'", - "'or'", "'true'", "'false'", "'null'", "'{'", "'}'", + literalNames = [ "", "'@'", "'..'", "'$'", "'.'", "'*'", "'and'", + "'='", "'>='", "'>'", "'<='", "'<'", "'!='", "'not'", + "'or'", "'true'", "'false'", "'null'", "'{'", "'}'", "'['", "']'", "':'", "','", "'('", "')'", "'?'" ] - symbolicNames = [ "", "CURRENT_VALUE", "RECURSIVE_DESCENT", - "ROOT_VALUE", "SUBSCRIPT", "WILDCARD_SUBSCRIPT", "AND", - "EQ", "GE", "GT", "LE", "LT", "NE", "NOT", "OR", "TRUE", - "FALSE", "NULL", "BRACE_LEFT", "BRACE_RIGHT", "BRACKET_LEFT", - "BRACKET_RIGHT", "COLON", "COMMA", "PAREN_LEFT", "PAREN_RIGHT", + symbolicNames = [ "", "CURRENT_VALUE", "RECURSIVE_DESCENT", + "ROOT_VALUE", "SUBSCRIPT", "WILDCARD_SUBSCRIPT", "AND", + "EQ", "GE", "GT", "LE", "LT", "NE", "NOT", "OR", "TRUE", + "FALSE", "NULL", "BRACE_LEFT", "BRACE_RIGHT", "BRACKET_LEFT", + "BRACKET_RIGHT", "COLON", "COMMA", "PAREN_LEFT", "PAREN_RIGHT", "QUESTION", "ID", "STRING", "NUMBER", "WS" ] RULE_jsonpath = 0 @@ -135,9 +125,9 @@ class JSONPathParser ( Parser ): RULE_array = 16 RULE_value = 17 - ruleNames = [ "jsonpath", "jsonpath_", "jsonpath__", "subscript", "subscriptables", - "subscriptableArguments", "subscriptableBareword", "subscriptable", - "sliceable", "expression", "andExpression", "orExpression", + ruleNames = [ "jsonpath", "jsonpath_", "jsonpath__", "subscript", "subscriptables", + "subscriptableArguments", "subscriptableBareword", "subscriptable", + "sliceable", "expression", "andExpression", "orExpression", "notExpression", "json", "obj", "pair", "array", "value" ] EOF = Token.EOF @@ -174,13 +164,15 @@ class JSONPathParser ( Parser ): def __init__(self, input:TokenStream, output:TextIO = sys.stdout): super().__init__(input, output) - self.checkVersion("4.7.1") + self.checkVersion("4.10.1") self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) self._predicates = None + class JsonpathContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -237,7 +229,9 @@ def jsonpath(self): self.exitRule() return localctx + class Jsonpath_Context(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -297,7 +291,9 @@ def jsonpath_(self): self.exitRule() return localctx + class Jsonpath__Context(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -354,7 +350,9 @@ def jsonpath__(self): self.exitRule() return localctx + class SubscriptContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -467,7 +465,9 @@ def subscript(self): self.exitRule() return localctx + class SubscriptablesContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -539,7 +539,9 @@ def subscriptables(self): self.exitRule() return localctx + class SubscriptableArgumentsContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -617,7 +619,9 @@ def subscriptableArguments(self): self.exitRule() return localctx + class SubscriptableBarewordContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -685,7 +689,9 @@ def subscriptableBareword(self): self.exitRule() return localctx + class SubscriptableContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -817,7 +823,9 @@ def subscriptable(self): self.exitRule() return localctx + class SliceableContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -898,7 +906,9 @@ def sliceable(self): self.exitRule() return localctx + class ExpressionContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -938,7 +948,9 @@ def expression(self): self.exitRule() return localctx + class AndExpressionContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -996,7 +1008,9 @@ def andExpression(self): self.exitRule() return localctx + class OrExpressionContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -1054,7 +1068,9 @@ def orExpression(self): self.exitRule() return localctx + class NotExpressionContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -1172,7 +1188,9 @@ def notExpression(self): self.exitRule() return localctx + class JsonContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -1212,7 +1230,9 @@ def json(self): self.exitRule() return localctx + class ObjContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -1299,7 +1319,9 @@ def obj(self): self.exitRule() return localctx + class PairContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -1349,7 +1371,9 @@ def pair(self): self.exitRule() return localctx + class ArrayContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -1436,7 +1460,9 @@ def array(self): self.exitRule() return localctx + class ValueContext(ParserRuleContext): + __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) @@ -1549,17 +1575,12 @@ def sempred(self, localctx:RuleContext, ruleIndex:int, predIndex:int): def subscriptable_sempred(self, localctx:SubscriptableContext, predIndex:int): if predIndex == 0: return self.tryCast(int) - + def sliceable_sempred(self, localctx:SliceableContext, predIndex:int): if predIndex == 1: return self.tryCast(int) - + if predIndex == 2: return self.tryCast(int) - - - - - diff --git a/setup.py b/setup.py index 674f1ec..0e5552e 100644 --- a/setup.py +++ b/setup.py @@ -18,5 +18,5 @@ author="Mark Borkum", author_email="mark.borkum@pnnl.gov", packages=find_packages(), - install_requires=["antlr4-python3-runtime==4.7.2"], + install_requires=["antlr4-python3-runtime==4.10"], )