--- } {} --- , {} --- B-{a,b}-E { } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num:1 content:"B-{a,b}-E" src:(source.MainFile path:word_parse_test.py)) ) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888eaa0)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888eaa0)]) ] ) (Token id:Id.Lit_Chars length:2 col:7 line:...0x7f906888eaa0) ] )-- --- B-{a"a",b"b",c"c"}-E { (DQ ) (DQ ) (DQ ) } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a\"a\",b\"b\",c\"c\"}-E" src: (source.MainFile path:word_parse_test.py) ) ) (word_part.BracedTuple words: [ (CompoundWord parts: [ (Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888ea48) (DoubleQuoted left: (Token id:Id.Left_DoubleQuote length:1 col:4 line:...0x7f906888ea48) parts: [(Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888ea48)] right: (Token id:Id.Right_DoubleQuote length:1 col:6 line:...0x7f906888ea48) ) ] ) (CompoundWord parts: [ (Token id:Id.Lit_Chars length:1 col:8 line:...0x7f906888ea48) (DoubleQuoted left: (Token id:Id.Left_DoubleQuote length:1 col:9 line:...0x7f906888ea48) parts: [(Token id:Id.Lit_Chars length:1 col:10 line:...0x7f906888ea48)] right: (Token id:Id.Right_DoubleQuote length:1 col:11 line:...0x7f906888ea48) ) ] ) (CompoundWord parts: [ (Token id:Id.Lit_Chars length:1 col:13 line:...0x7f906888ea48) (DoubleQuoted left: (Token id:Id.Left_DoubleQuote length:1 col:14 line:...0x7f906888ea48) parts: [(Token id:Id.Lit_Chars length:1 col:15 line:...0x7f906888ea48)] right: (Token id:Id.Right_DoubleQuote length:1 col:16 line:...0x7f906888ea48) ) ] ) ] ) (Token id:Id.Lit_Chars length:2 col:18 line:...0x7f906888ea48) ] )-- --- B-{a,b}--{c,d}-E { } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,b}--{c,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888eaa0)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888eaa0)]) ] ) (Token id:Id.Lit_Chars length:2 col:7 line:...0x7f906888eaa0) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:10 line:...0x7f906888eaa0)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:12 line:...0x7f906888eaa0)]) ] ) (Token id:Id.Lit_Chars length:2 col:14 line:...0x7f906888eaa0) ] )-- --- B-{a,b,c,={d,e}}-E { } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,b,c,={d,e}}-E" src: (source.MainFile path:word_parse_test.py) ) ) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888ea48)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888ea48)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888ea48)]) (CompoundWord parts: [ (Token id:Id.Lit_Equals length:1 col:9 line:...0x7f906888ea48) (word_part.BracedTuple words: [ (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:11 line:...0x7f906888ea48)] ) (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:13 line:...0x7f906888ea48)] ) ] ) ] ) ] ) (Token id:Id.Lit_Chars length:2 col:16 line:...0x7f906888ea48) ] ) --- B-{a,={b,c}=,d}-E { } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,={b,c}=,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888eaa0)]) (CompoundWord parts: [ (Token id:Id.Lit_Equals length:1 col:5 line:...0x7f906888eaa0) (word_part.BracedTuple words: [ (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888eaa0)] ) (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:9 line:...0x7f906888eaa0)] ) ] ) (Token id:Id.Lit_Equals length:1 col:11 line:...0x7f906888eaa0) ] ) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:13 line:...0x7f906888eaa0)]) ] ) (Token id:Id.Lit_Chars length:2 col:15 line:...0x7f906888eaa0) ] )(CompoundWord parts: [ (Token id: Id.Lit_Chars length: 1 col: 3 line: (SourceLine line_num: 1 content: "B-{a,={b,c}=,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) ] ) --- {a,b,} { } (word.BracedTree parts: [ (word_part.BracedTuple words: [ (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 1 col: 1 line: (SourceLine line_num: 1 content: "{a,b,}" src: (source.MainFile path:word_parse_test.py) ) ) ] ) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888eaf8)]) (CompoundWord parts:[]) ] ) ] ) --- hi {} (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num:1 content:hi src:(source.MainFile path:word_parse_test.py)) ) ] ) --- B-{a,b}-E { } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num:1 content:"B-{a,b}-E" src:(source.MainFile path:word_parse_test.py)) ) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888e9f0)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888e9f0)]) ] ) (Token id:Id.Lit_Chars length:2 col:7 line:...0x7f906888e9f0) ] )(CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num:1 content:"B-{a,b}-E" src:(source.MainFile path:word_parse_test.py)) ) (Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:2 col:7 line:...0x7f906888e9f0) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num:1 content:"B-{a,b}-E" src:(source.MainFile path:word_parse_test.py)) ) (Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:2 col:7 line:...0x7f906888e9f0) ] ) --- B-{a,={b,c,d}=,e}-E { } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,={b,c,d}=,e}-E" src: (source.MainFile path:word_parse_test.py) ) ) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888eaf8)]) (CompoundWord parts: [ (Token id:Id.Lit_Equals length:1 col:5 line:...0x7f906888eaf8) (word_part.BracedTuple words: [ (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888eaf8)] ) (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:9 line:...0x7f906888eaf8)] ) (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:11 line:...0x7f906888eaf8)] ) ] ) (Token id:Id.Lit_Equals length:1 col:13 line:...0x7f906888eaf8) ] ) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:15 line:...0x7f906888eaf8)]) ] ) (Token id:Id.Lit_Chars length:2 col:17 line:...0x7f906888eaf8) ] )(CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,={b,c,d}=,e}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:2 col:17 line:...0x7f906888eaf8) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,={b,c,d}=,e}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Equals length:1 col:5 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888eaf8) (Token id:Id.Lit_Equals length:1 col:13 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:2 col:17 line:...0x7f906888eaf8) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,={b,c,d}=,e}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Equals length:1 col:5 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:1 col:9 line:...0x7f906888eaf8) (Token id:Id.Lit_Equals length:1 col:13 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:2 col:17 line:...0x7f906888eaf8) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,={b,c,d}=,e}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Equals length:1 col:5 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:1 col:11 line:...0x7f906888eaf8) (Token id:Id.Lit_Equals length:1 col:13 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:2 col:17 line:...0x7f906888eaf8) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,={b,c,d}=,e}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Chars length:1 col:15 line:...0x7f906888eaf8) (Token id:Id.Lit_Chars length:2 col:17 line:...0x7f906888eaf8) ] ) --- B-{a,b}-{c,d}-E { } (word.BracedTree parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,b}-{c,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888e9f0)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888e9f0)]) ] ) (Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888e9f0) (word_part.BracedTuple words: [ (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:9 line:...0x7f906888e9f0)]) (CompoundWord parts:[(Token id:Id.Lit_Chars length:1 col:11 line:...0x7f906888e9f0)]) ] ) (Token id:Id.Lit_Chars length:2 col:13 line:...0x7f906888e9f0) ] )(CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,b}-{c,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:9 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:2 col:13 line:...0x7f906888e9f0) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,b}-{c,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Chars length:1 col:3 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:11 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:2 col:13 line:...0x7f906888e9f0) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,b}-{c,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id:Id.Lit_Chars length:1 col:5 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:9 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:2 col:13 line:...0x7f906888e9f0) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 2 col: 0 line: (SourceLine line_num: 1 content: "B-{a,b}-{c,d}-E" src: (source.MainFile path:word_parse_test.py) ) ) (Token id.'' None '1' None '1..' None '1' (word_part.BracedRange blame_tok: (Token id:Id.Lit_Chars length:4 col:0 line:(SourceLine line_num:1 content:1..3 src:(source__Interactive))) kind: Id.Range_Int start: 1 end: 3 step: 1 ) '3' (word_part.BracedRange blame_tok: (Token id:Id.Lit_Chars length:10 col:0 line:(SourceLine line_num:1 content:3..-10..-2 src:(source__Interactive))) kind: Id.Range_Int start: 3 end: -10 step: -2 ) '3..-10..-2..' None 'a' None 'a..' None 'a' (word_part.BracedRange blame_tok: (Token id:Id.Lit_Chars length:4 col:0 line:(SourceLine line_num:1 content:a..z src:(source__Interactive))) kind: Id.Range_Char start: a end: z step: 1 ) 'a..z..' None 'z' (word_part.BracedRange blame_tok: (Token id:Id.Lit_Chars length:8 col:0 line:(SourceLine line_num:1 content:z..a..-1 src:(source__Interactive))) kind: Id.Range_Char start: z end: a step: -1 ) . ---------------------------------------------------------------------- Ran 3 tests in 0.015s OK :Id.Lit_Chars length:1 col:5 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:7 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:1 col:11 line:...0x7f906888e9f0) (Token id:Id.Lit_Chars length:2 col:13 line:...0x7f906888e9f0) ] )