Created
June 19, 2015 21:12
-
-
Save usev6/3697d60ce7fe77f0d680 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ viv -e 'my @foo; my $exists = @foo[0]:exists;' | |
VAST::comp_unit, BEG: 0, END: 38 | |
│ └─LEX: !!perl/hash:Stash | |
│ '!file': &1 | |
│ name: (eval) | |
│ '!id': &2 | |
│ - MY:file<(eval)> | |
│ '!line': 0 | |
│ $!: !!perl/hash:NAME | |
│ dynamic: 1 | |
│ file: *1 | |
│ line: 1 | |
│ name: $! | |
│ scope: my | |
│ $/: !!perl/hash:NAME | |
│ dynamic: 1 | |
│ file: *1 | |
│ line: 1 | |
│ name: $/ | |
│ scope: my | |
│ $_: !!perl/hash:NAME | |
│ dynamic: 1 | |
│ file: *1 | |
│ line: 1 | |
│ name: $_ | |
│ scope: my | |
│ $exists: !!perl/hash:NAME | |
│ declaredat: 19 | |
│ file: *1 | |
│ inlex: *2 | |
│ line: 1 | |
│ mult: only | |
│ name: $exists | |
│ of: ~ | |
│ scope: my | |
│ '@foo': !!perl/hash:NAME | |
│ declaredat: 7 | |
│ file: *1 | |
│ inlex: *2 | |
│ line: 1 | |
│ mult: only | |
│ name: '@foo' | |
│ of: ~ | |
│ scope: my | |
│ used: 2 | |
│ 'OUTER::': | |
│ - MY:file<CORE.setting>:line(690):pos(20031) | |
└─VAST::statementlist, BEG: 0, END: 38 | |
├─VAST::statement, BEG: 0, END: 7 | |
│ └─VAST::term__S_scope_declarator, BEG: 0, END: 7, SYM: scope_declarator, | |
│ │ _specific: 1 | |
│ └─VAST::scope_declarator__S_my, BEG: 0, END: 7, SYM: my, _specific: 1 | |
│ └─VAST::scoped, BEG: 2, END: 7 | |
│ └─VAST::declarator, BEG: 3, END: 7, WS: 1 | |
│ └─VAST::variable_declarator, BEG: 3, END: 7, WS: 1 | |
│ │ └─decl: !!perl/hash:NAME | |
│ │ declaredat: 7 | |
│ │ file: | |
│ │ name: (eval) | |
│ │ inlex: | |
│ │ - MY:file<(eval)> | |
│ │ line: 1 | |
│ │ mult: only | |
│ │ name: '@foo' | |
│ │ of: ~ | |
│ │ scope: my | |
│ │ used: 2 | |
│ └─VAST::variable, BEG: 3, END: 7, WS: 1 | |
│ ├─VAST::sigil__S_At, BEG: 3, END: 4, SYM: @, TEXT: @, WS: 1, | |
│ │ _specific: 1 | |
│ └─VAST::desigilname, BEG: 4, END: 7 | |
│ └─VAST::longname, BEG: 4, END: 7 | |
│ └─VAST::name, BEG: 4, END: 7 | |
│ └─VAST::identifier, BEG: 4, END: 7, TEXT: foo | |
├─VAST::statement, BEG: 9, END: 36, WS: 1 | |
│ └─VAST::Adverb, BEG: 9, END: 36, assoc: unary, dba: adverb, prec: i= | |
│ ├─VAST::term__S_scope_declarator, BEG: 9, END: 29, SYM: scope_declarator, | |
│ │ │ WS: 1, _specific: 1 | |
│ │ └─VAST::scope_declarator__S_my, BEG: 9, END: 29, SYM: my, WS: 1, | |
│ │ │ _specific: 1 | |
│ │ └─VAST::scoped, BEG: 11, END: 29 | |
│ │ └─VAST::declarator, BEG: 12, END: 29, WS: 1 | |
│ │ ├─VAST::variable_declarator, BEG: 12, END: 20, WS: 1 | |
│ │ │ │ └─decl: !!perl/hash:NAME | |
│ │ │ │ declaredat: 19 | |
│ │ │ │ file: | |
│ │ │ │ name: (eval) | |
│ │ │ │ inlex: | |
│ │ │ │ - MY:file<(eval)> | |
│ │ │ │ line: 1 | |
│ │ │ │ mult: only | |
│ │ │ │ name: $exists | |
│ │ │ │ of: ~ | |
│ │ │ │ scope: my | |
│ │ │ └─VAST::variable, BEG: 12, END: 19, WS: 1 | |
│ │ │ ├─VAST::sigil__S_Dollar, BEG: 12, END: 13, SYM: $, TEXT: $, | |
│ │ │ │ WS: 1, _specific: 1 | |
│ │ │ └─VAST::desigilname, BEG: 13, END: 19 | |
│ │ │ └─VAST::longname, BEG: 13, END: 19 | |
│ │ │ └─VAST::name, BEG: 13, END: 19 | |
│ │ │ └─VAST::identifier, BEG: 13, END: 19, TEXT: exists | |
│ │ └─VAST::initializer__S_Equal, BEG: 20, END: 29, SYM: =, WS: 1, | |
│ │ │ _specific: 1 | |
│ │ └─VAST::postcircumfix__S_Bra_Ket, BEG: 22, END: 29, _from: 29, | |
│ │ │ │ _pos: 29, assoc: unary, dba: methodcall, fiddly: 1, | |
│ │ │ │ prec: y=, pure: 0, uassoc: left | |
│ │ │ └─postop: VAST::postop, BEG: 26, END: 29, SYM: [ ], _from: 29, | |
│ │ │ │ _pos: 29, assoc: unary, dba: methodcall, fiddly: 1, | |
│ │ │ │ postfix: {}, prec: y=, pure: 0, uassoc: left | |
│ │ │ └─VAST::SYM_postcircumfix__S_Bra_Ket, BEG: 26, END: 29, | |
│ │ │ │ │ SYM: [ ], _from: 29, _pos: 29, _specific: 1, | |
│ │ │ │ │ assoc: unary, dba: methodcall, fiddly: 1, prec: y=, | |
│ │ │ │ │ pure: 0, uassoc: left | |
│ │ │ │ └─_op: VAST::postcircumfix__S_Bra_Ket | |
│ │ │ └─VAST::semilist, BEG: 27, END: 28 | |
│ │ │ ├─VAST::statement, BEG: 27, END: 28 | |
│ │ │ │ └─VAST::term__S_value, BEG: 27, END: 28, | |
│ │ │ │ │ SYM: value, _specific: 1 | |
│ │ │ │ └─VAST::value__S_number, BEG: 27, END: 28, | |
│ │ │ │ │ SYM: number, _specific: 1 | |
│ │ │ │ └─VAST::number, BEG: 27, END: 28 | |
│ │ │ │ └─VAST::integer, BEG: 27, END: 28 | |
│ │ │ │ └─VAST::decint, BEG: 27, END: 28, TEXT: 0 | |
│ │ │ └─VAST::eat_terminator, BEG: 28, END: 28, TEXT: | |
│ │ ├─VAST::term__S_variable, BEG: 22, END: 26, SYM: variable, | |
│ │ │ │ WS: 1, _specific: 1 | |
│ │ │ └─VAST::variable, BEG: 22, END: 26, WS: 1 | |
│ │ │ ├─VAST::sigil__S_At, BEG: 22, END: 23, SYM: @, TEXT: @, | |
│ │ │ │ WS: 1, _specific: 1 | |
│ │ │ └─VAST::desigilname, BEG: 23, END: 26 | |
│ │ │ └─VAST::longname, BEG: 23, END: 26 | |
│ │ │ └─VAST::name, BEG: 23, END: 26 | |
│ │ │ └─VAST::identifier, BEG: 23, END: 26, TEXT: foo | |
│ │ └─VAST::POST, BEG: 26, END: 29, SYM: [ ], _from: 29, | |
│ │ │ │ _pos: 29, assoc: unary, dba: methodcall, fiddly: 1, | |
│ │ │ │ prec: y=, pure: 0, uassoc: left | |
│ │ │ └─postop: VAST::postop, BEG: 26, END: 29, SYM: [ ], _from: 29, | |
│ │ │ │ _pos: 29, assoc: unary, dba: methodcall, fiddly: 1, | |
│ │ │ │ postfix: {}, prec: y=, pure: 0, uassoc: left | |
│ │ │ └─VAST::SYM_postcircumfix__S_Bra_Ket, BEG: 26, END: 29, | |
│ │ │ │ │ SYM: [ ], _from: 29, _pos: 29, _specific: 1, | |
│ │ │ │ │ assoc: unary, dba: methodcall, fiddly: 1, | |
│ │ │ │ │ prec: y=, pure: 0, uassoc: left | |
│ │ │ │ └─_op: VAST::postcircumfix__S_Bra_Ket | |
│ │ │ └─VAST::semilist, BEG: 27, END: 28 | |
│ │ │ ├─VAST::statement, BEG: 27, END: 28 | |
│ │ │ │ └─VAST::term__S_value, BEG: 27, END: 28, | |
│ │ │ │ │ SYM: value, _specific: 1 | |
│ │ │ │ └─VAST::value__S_number, BEG: 27, END: 28, | |
│ │ │ │ │ SYM: number, _specific: 1 | |
│ │ │ │ └─VAST::number, BEG: 27, END: 28 | |
│ │ │ │ └─VAST::integer, BEG: 27, END: 28 | |
│ │ │ │ └─VAST::decint, BEG: 27, END: 28, | |
│ │ │ │ TEXT: 0 | |
│ │ │ └─VAST::eat_terminator, BEG: 28, END: 28, TEXT: | |
│ │ └─VAST::SYM_postcircumfix__S_Bra_Ket, BEG: 26, END: 29, | |
│ │ │ │ SYM: [ ], _from: 29, _pos: 29, _specific: 1, | |
│ │ │ │ assoc: unary, dba: methodcall, fiddly: 1, prec: y=, | |
│ │ │ │ pure: 0, uassoc: left | |
│ │ │ └─_op: VAST::postcircumfix__S_Bra_Ket | |
│ │ └─VAST::semilist, BEG: 27, END: 28 | |
│ │ ├─VAST::statement, BEG: 27, END: 28 | |
│ │ │ └─VAST::term__S_value, BEG: 27, END: 28, SYM: value, | |
│ │ │ │ _specific: 1 | |
│ │ │ └─VAST::value__S_number, BEG: 27, END: 28, | |
│ │ │ │ SYM: number, _specific: 1 | |
│ │ │ └─VAST::number, BEG: 27, END: 28 | |
│ │ │ └─VAST::integer, BEG: 27, END: 28 | |
│ │ │ └─VAST::decint, BEG: 27, END: 28, TEXT: 0 | |
│ │ └─VAST::eat_terminator, BEG: 28, END: 28, TEXT: | |
│ └─VAST::infixish, BEG: 29, END: 36, SYM: :, assoc: unary, dba: adverb, | |
│ │ fake: 1, prec: i= | |
│ └─VAST::colonpair, BEG: 29, END: 36, k: exists, v: 1 | |
│ └─VAST::identifier, BEG: 30, END: 36, TEXT: exists | |
├─VAST::eat_terminator, BEG: 7, END: 8, TEXT: ; | |
└─VAST::eat_terminator, BEG: 36, END: 37, TEXT: ; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment