| initial state |
[[.]] |
| {identifier: bucket} |
[[., bucket]] |
| {open} |
[[.], [bucket]] |
| {identifier: f1} |
[[.], [bucket, f1]] |
| {open} |
[[.], [bucket], [f1]] |
| {identifier: a} |
[[.], [bucket], [f1, a]] |
| {identifier: b} |
[[.], [bucket], [f1, a, b]] |
| {identifier: f} |
[[.], [bucket], [f1, a, b, f]] |
| {open} |
[[.], [bucket], [f1, a, b], [f]] |
| {close} |
[[.], [bucket], [f1, a, b, [f]]] |
| {identifier: ff1} |
[[.], [bucket], [f1, a, b, [f], ff1]] |
| {open} |
[[.], [bucket], [f1, a, b, [f]], [ff1]] |
| {identifier: a} |
[[.], [bucket], [f1, a, b, [f]], [ff1, a]] |
| {identifier: b} |
[[.], [bucket], [f1, a, b, [f]], [ff1, a, b]] |
| {close} |
[[.], [bucket], [f1, a, b, [f], [ff1, a, b]]] |
| {close} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]]] |
| {identifier: f2} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], f2]] |
| {open} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2]] |
| {identifier: a} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2, a]] |
| {identifier: b} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2, a, b]] |
| {identifier: ff1} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2, a, b, ff1]] |
| {open} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2, a, b], [ff1]] |
| {identifier: a} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2, a, b], [ff1, a]] |
| {identifier: b} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2, a, b], [ff1, a, b]] |
| {close} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]]], [f2, a, b, [ff1, a, b]]] |
| {close} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]]]] |
| {identifier: f3} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]], f3]] |
| {open} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]]], [f3]] |
| {identifier: ff1} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]]], [f3, ff1]] |
| {open} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]]], [f3], [ff1]] |
| {identifier: a} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]]], [f3], [ff1, a]] |
| {close} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]]], [f3, [ff1, a]]] |
| {close} |
[[.], [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]], [f3, [ff1, a]]]] |
| {close} |
[[., [bucket, [f1, a, b, [f], [ff1, a, b]], [f2, a, b, [ff1, a, b]], [f3, [ff1, a]]]]] |
/bucket/f1/bmissing the trailing slash whereas/bucket/f1/f/has one?/bucket/f1/bis missing the trailing slash because it is an example of a file directory whereas/bucket/f1/f/is an example of a folder directory. This can be noticed in the string containing the whole structure:...a&b&f[]&....split(). You should look into parsers.