Created
June 20, 2012 12:19
-
-
Save fjolnir/2959635 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
% build/tranquil < calltest.tq | |
Starting parse | |
Entering state 0 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (-1950691328.32767--1950691328.32767: ) | |
Stack now 0 | |
Entering state 2 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (-1950691328.32767--1950691328.32767: ) | |
-> $$ = nterm opt_nl (-1950691328.32767--1950691328.32767: ) | |
Stack now 0 | |
Entering state 3 | |
Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 15 | |
Reading a token: Next token is token '=' (1.1-1.1: ) | |
Reducing stack by rule 5 (line 90): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm lhs (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 14 | |
Next token is token '=' (1.1-1.1: ) | |
Shifting token '=' (1.1-1.1: ) | |
Entering state 53 | |
Reading a token: Next token is token tSTRING (1.1-1.1: ) | |
Shifting token tSTRING (1.1-1.1: ) | |
Entering state 8 | |
Reducing stack by rule 75 (line 324): | |
$1 = token tSTRING (1.1-1.1: ) | |
-> $$ = nterm string (1.1-1.1: ) | |
Stack now 0 3 14 53 | |
Entering state 27 | |
Reducing stack by rule 73 (line 319): | |
$1 = nterm string (1.1-1.1: ) | |
-> $$ = nterm literal (1.1-1.1: ) | |
Stack now 0 3 14 53 | |
Entering state 49 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Reducing stack by rule 21 (line 123): | |
$1 = nterm literal (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 14 53 | |
Entering state 71 | |
Reducing stack by rule 3 (line 85): | |
$1 = nterm lhs (1.1-1.1: ) | |
$2 = token '=' (1.1-1.1: ) | |
$3 = nterm expression (1.1-1.1: ) | |
-> $$ = nterm assignment (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 13 | |
Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 52 | |
Reducing stack by rule 14 (line 113): | |
$1 = nterm assignment (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 17 | |
Reducing stack by rule 7 (line 97): | |
$1 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.163 tranquil[36940:707] ----------- <op@ <var@ captureMePlease> = <str@ "hey I was defined in the root! ">> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 16 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 15 | |
Reading a token: Next token is token '=' (1.1-1.1: ) | |
Reducing stack by rule 5 (line 90): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm lhs (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 14 | |
Next token is token '=' (1.1-1.1: ) | |
Shifting token '=' (1.1-1.1: ) | |
Entering state 53 | |
Reading a token: Next token is token '{' (1.1-1.1: ) | |
Shifting token '{' (1.1-1.1: ) | |
Entering state 12 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 | |
Entering state 51 | |
Reading a token: Next token is token ':' (1.1-1.1: ) | |
Shifting token ':' (1.1-1.1: ) | |
Entering state 68 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 68 | |
Entering state 93 | |
Reducing stack by rule 34 (line 170): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm block_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 68 | |
Entering state 92 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 68 92 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 68 92 | |
Entering state 106 | |
Reading a token: Next token is token '|' (1.1-1.1: ) | |
Reducing stack by rule 31 (line 156): | |
$1 = token ':' (1.1-1.1: ) | |
$2 = nterm block_arg (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm block_args (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 | |
Entering state 70 | |
Next token is token '|' (1.1-1.1: ) | |
Shifting token '|' (1.1-1.1: ) | |
Entering state 95 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 | |
Entering state 108 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 10 | |
Reducing stack by rule 71 (line 304): | |
$1 = nterm opt_nl (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 | |
Entering state 108 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 | |
Entering state 15 | |
Reading a token: Next token is token '=' (1.1-1.1: ) | |
Reducing stack by rule 5 (line 90): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm lhs (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 | |
Entering state 14 | |
Next token is token '=' (1.1-1.1: ) | |
Shifting token '=' (1.1-1.1: ) | |
Entering state 53 | |
Reading a token: Next token is token '{' (1.1-1.1: ) | |
Shifting token '{' (1.1-1.1: ) | |
Entering state 12 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 | |
Entering state 51 | |
Reading a token: Next token is token ':' (1.1-1.1: ) | |
Shifting token ':' (1.1-1.1: ) | |
Entering state 68 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 68 | |
Entering state 93 | |
Reducing stack by rule 34 (line 170): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm block_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 68 | |
Entering state 92 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 68 92 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 68 92 | |
Entering state 106 | |
Reading a token: Next token is token '|' (1.1-1.1: ) | |
Reducing stack by rule 31 (line 156): | |
$1 = token ':' (1.1-1.1: ) | |
$2 = nterm block_arg (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm block_args (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 | |
Entering state 70 | |
Next token is token '|' (1.1-1.1: ) | |
Shifting token '|' (1.1-1.1: ) | |
Entering state 95 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 | |
Entering state 108 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 10 | |
Reducing stack by rule 71 (line 304): | |
$1 = nterm opt_nl (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 | |
Entering state 108 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 | |
Entering state 15 | |
Reading a token: Next token is token '=' (1.1-1.1: ) | |
Reducing stack by rule 5 (line 90): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm lhs (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 | |
Entering state 14 | |
Next token is token '=' (1.1-1.1: ) | |
Shifting token '=' (1.1-1.1: ) | |
Entering state 53 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 | |
Entering state 43 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Reducing stack by rule 66 (line 293): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm message_receiver (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 | |
Entering state 24 | |
Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 24 | |
Entering state 59 | |
Reading a token: Next token is token ':' (1.1-1.1: ) | |
Shifting token ':' (1.1-1.1: ) | |
Entering state 56 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 24 59 56 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 24 59 56 | |
Entering state 35 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 44 (line 202): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 24 59 56 | |
Entering state 73 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 24 59 56 73 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 24 59 56 73 | |
Entering state 98 | |
Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 38 (line 185): | |
$1 = token ':' (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm call_args (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 24 59 | |
Entering state 80 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 101 | |
Reducing stack by rule 64 (line 285): | |
$1 = nterm message_receiver (1.1-1.1: ) | |
$2 = nterm identifier (1.1-1.1: ) | |
$3 = nterm call_args (1.1-1.1: ) | |
$4 = token '.' (1.1-1.1: ) | |
-> $$ = nterm message (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 | |
Entering state 48 | |
Reducing stack by rule 15 (line 117): | |
$1 = nterm message (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 14 53 | |
Entering state 71 | |
Reducing stack by rule 3 (line 85): | |
$1 = nterm lhs (1.1-1.1: ) | |
$2 = token '=' (1.1-1.1: ) | |
$3 = nterm expression (1.1-1.1: ) | |
-> $$ = nterm assignment (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 | |
Entering state 13 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 52 | |
Reducing stack by rule 14 (line 113): | |
$1 = nterm assignment (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 | |
Entering state 17 | |
Reducing stack by rule 7 (line 97): | |
$1 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.169 tranquil[36940:707] ----------- <op@ <var@ arg> = <msg@ <var@ arg> <arg@ stringByAppendingString: <var@ captureMePlease>> .>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 | |
Entering state 118 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 | |
Entering state 124 | |
Reading a token: Next token is token tRETURN (1.1-1.1: ) | |
Shifting token tRETURN (1.1-1.1: ) | |
Entering state 6 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 124 6 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 124 6 | |
Entering state 35 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 44 (line 202): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 124 6 | |
Entering state 37 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 64 | |
Reducing stack by rule 10 (line 109): | |
$1 = token tRETURN (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = token '.' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 124 | |
Entering state 72 | |
Reducing stack by rule 8 (line 101): | |
$1 = nterm statements (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.170 tranquil[36940:707] ----------- <ret@ <var@ arg>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 | |
Entering state 118 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 | |
Entering state 124 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 10 | |
Reducing stack by rule 71 (line 304): | |
$1 = nterm opt_nl (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 12 51 70 95 108 118 | |
Entering state 124 | |
Reading a token: Next token is token '}' (1.1-1.1: ) | |
Shifting token '}' (1.1-1.1: ) | |
Entering state 128 | |
Reducing stack by rule 28 (line 137): | |
$1 = token '{' (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm block_args (1.1-1.1: ) | |
$4 = token '|' (1.1-1.1: ) | |
$5 = nterm opt_nl (1.1-1.1: ) | |
$6 = nterm statements (1.1-1.1: ) | |
$7 = nterm opt_nl (1.1-1.1: ) | |
$8 = token '}' (1.1-1.1: ) | |
-> $$ = nterm block (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 | |
Entering state 45 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Reducing stack by rule 17 (line 119): | |
$1 = nterm block (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 14 53 | |
Entering state 71 | |
Reducing stack by rule 3 (line 85): | |
$1 = nterm lhs (1.1-1.1: ) | |
$2 = token '=' (1.1-1.1: ) | |
$3 = nterm expression (1.1-1.1: ) | |
-> $$ = nterm assignment (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 | |
Entering state 13 | |
Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 52 | |
Reducing stack by rule 14 (line 113): | |
$1 = nterm assignment (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 | |
Entering state 17 | |
Reducing stack by rule 7 (line 97): | |
$1 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.172 tranquil[36940:707] ----------- <op@ <var@ block> = <blk@ {<argdef@ (null): __blk> <argdef@ (null): arg> | | |
<op@ <var@ arg> = <msg@ <var@ arg> <arg@ stringByAppendingString: <var@ captureMePlease>> .>> | |
<ret@ <var@ arg>> | |
}>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 | |
Entering state 118 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 | |
Entering state 124 | |
Reading a token: Next token is token tRETURN (1.1-1.1: ) | |
Shifting token tRETURN (1.1-1.1: ) | |
Entering state 6 | |
Reading a token: Next token is token '(' (1.1-1.1: ) | |
Shifting token '(' (1.1-1.1: ) | |
Entering state 33 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 | |
Entering state 43 | |
Reading a token: Next token is token ':' (1.1-1.1: ) | |
Reducing stack by rule 25 (line 130): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm callee (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 | |
Entering state 18 | |
Next token is token ':' (1.1-1.1: ) | |
Shifting token ':' (1.1-1.1: ) | |
Entering state 56 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 18 56 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 18 56 | |
Entering state 35 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 44 (line 202): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 18 56 | |
Entering state 73 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 18 56 73 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 18 56 73 | |
Entering state 98 | |
Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 38 (line 185): | |
$1 = token ':' (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm call_args (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 18 | |
Entering state 57 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 74 | |
Reducing stack by rule 37 (line 179): | |
$1 = nterm callee (1.1-1.1: ) | |
$2 = nterm call_args (1.1-1.1: ) | |
$3 = token '.' (1.1-1.1: ) | |
-> $$ = nterm call (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 | |
Entering state 46 | |
Reducing stack by rule 18 (line 120): | |
$1 = nterm call (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 33 | |
Entering state 62 | |
Reading a token: Next token is token ')' (1.1-1.1: ) | |
Shifting token ')' (1.1-1.1: ) | |
Entering state 89 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 46 (line 204): | |
$1 = token '(' (1.1-1.1: ) | |
$2 = nterm expression (1.1-1.1: ) | |
$3 = token ')' (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 6 | |
Entering state 37 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 64 | |
Reducing stack by rule 10 (line 109): | |
$1 = token tRETURN (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = token '.' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 124 | |
Entering state 72 | |
Reducing stack by rule 8 (line 101): | |
$1 = nterm statements (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.174 tranquil[36940:707] ----------- <ret@ <call@ <var@ block>: <arg@ (null): <var@ arg>> .>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 | |
Entering state 118 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 | |
Entering state 124 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 10 | |
Reducing stack by rule 71 (line 304): | |
$1 = nterm opt_nl (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 12 51 70 95 108 118 | |
Entering state 124 | |
Reading a token: Next token is token '}' (1.1-1.1: ) | |
Shifting token '}' (1.1-1.1: ) | |
Entering state 128 | |
Reducing stack by rule 28 (line 137): | |
$1 = token '{' (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm block_args (1.1-1.1: ) | |
$4 = token '|' (1.1-1.1: ) | |
$5 = nterm opt_nl (1.1-1.1: ) | |
$6 = nterm statements (1.1-1.1: ) | |
$7 = nterm opt_nl (1.1-1.1: ) | |
$8 = token '}' (1.1-1.1: ) | |
-> $$ = nterm block (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 45 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Reducing stack by rule 17 (line 119): | |
$1 = nterm block (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 71 | |
Reducing stack by rule 3 (line 85): | |
$1 = nterm lhs (1.1-1.1: ) | |
$2 = token '=' (1.1-1.1: ) | |
$3 = nterm expression (1.1-1.1: ) | |
-> $$ = nterm assignment (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 13 | |
Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 52 | |
Reducing stack by rule 14 (line 113): | |
$1 = nterm assignment (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 72 | |
Reducing stack by rule 8 (line 101): | |
$1 = nterm statements (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.175 tranquil[36940:707] ----------- <op@ <var@ a> = <blk@ {<argdef@ (null): __blk> <argdef@ (null): arg> | | |
<op@ <var@ block> = <blk@ {<argdef@ (null): __blk> <argdef@ (null): arg> | | |
<op@ <var@ arg> = <msg@ <var@ arg> <arg@ stringByAppendingString: <var@ captureMePlease>> .>> | |
<ret@ <var@ arg>> | |
}>> | |
<ret@ <call@ <var@ block>: <arg@ (null): <var@ arg>> .>> | |
}>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 16 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 15 | |
Reading a token: Next token is token '=' (1.1-1.1: ) | |
Reducing stack by rule 5 (line 90): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm lhs (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 14 | |
Next token is token '=' (1.1-1.1: ) | |
Shifting token '=' (1.1-1.1: ) | |
Entering state 53 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 43 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Reducing stack by rule 20 (line 122): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 71 | |
Reducing stack by rule 3 (line 85): | |
$1 = nterm lhs (1.1-1.1: ) | |
$2 = token '=' (1.1-1.1: ) | |
$3 = nterm expression (1.1-1.1: ) | |
-> $$ = nterm assignment (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 13 | |
Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 52 | |
Reducing stack by rule 14 (line 113): | |
$1 = nterm assignment (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 72 | |
Reducing stack by rule 8 (line 101): | |
$1 = nterm statements (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.176 tranquil[36940:707] ----------- <op@ <var@ myBlock> = <var@ a>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 16 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 15 | |
Reading a token: Next token is token '=' (1.1-1.1: ) | |
Reducing stack by rule 5 (line 90): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm lhs (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 14 | |
Next token is token '=' (1.1-1.1: ) | |
Shifting token '=' (1.1-1.1: ) | |
Entering state 53 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 43 | |
Reading a token: Next token is token ':' (1.1-1.1: ) | |
Reducing stack by rule 25 (line 130): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm callee (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 18 | |
Next token is token ':' (1.1-1.1: ) | |
Shifting token ':' (1.1-1.1: ) | |
Entering state 56 | |
Reading a token: Next token is token '(' (1.1-1.1: ) | |
Shifting token '(' (1.1-1.1: ) | |
Entering state 33 | |
Reading a token: Next token is token tNUMBER (1.1-1.1: ) | |
Shifting token tNUMBER (1.1-1.1: ) | |
Entering state 7 | |
Reducing stack by rule 74 (line 321): | |
$1 = token tNUMBER (1.1-1.1: ) | |
-> $$ = nterm number (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 33 | |
Entering state 26 | |
Reducing stack by rule 72 (line 318): | |
$1 = nterm number (1.1-1.1: ) | |
-> $$ = nterm literal (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 33 | |
Entering state 49 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Reducing stack by rule 67 (line 294): | |
$1 = nterm literal (1.1-1.1: ) | |
-> $$ = nterm message_receiver (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 33 | |
Entering state 24 | |
Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 33 24 | |
Entering state 59 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 79 | |
Reducing stack by rule 63 (line 279): | |
$1 = nterm message_receiver (1.1-1.1: ) | |
$2 = nterm identifier (1.1-1.1: ) | |
$3 = token '.' (1.1-1.1: ) | |
-> $$ = nterm message (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 33 | |
Entering state 48 | |
Reducing stack by rule 15 (line 117): | |
$1 = nterm message (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 33 | |
Entering state 62 | |
Reading a token: Next token is token ')' (1.1-1.1: ) | |
Shifting token ')' (1.1-1.1: ) | |
Entering state 89 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 46 (line 204): | |
$1 = token '(' (1.1-1.1: ) | |
$2 = nterm expression (1.1-1.1: ) | |
$3 = token ')' (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 | |
Entering state 73 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 73 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 56 73 | |
Entering state 98 | |
Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 38 (line 185): | |
$1 = token ':' (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm call_args (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 18 | |
Entering state 57 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 74 | |
Reducing stack by rule 37 (line 179): | |
$1 = nterm callee (1.1-1.1: ) | |
$2 = nterm call_args (1.1-1.1: ) | |
$3 = token '.' (1.1-1.1: ) | |
-> $$ = nterm call (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 46 | |
Reducing stack by rule 18 (line 120): | |
$1 = nterm call (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 71 | |
Reducing stack by rule 3 (line 85): | |
$1 = nterm lhs (1.1-1.1: ) | |
$2 = token '=' (1.1-1.1: ) | |
$3 = nterm expression (1.1-1.1: ) | |
-> $$ = nterm assignment (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 13 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 52 | |
Reducing stack by rule 14 (line 113): | |
$1 = nterm assignment (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 72 | |
Reducing stack by rule 8 (line 101): | |
$1 = nterm statements (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.178 tranquil[36940:707] ----------- <op@ <var@ numAsStr> = <call@ <var@ a>: <arg@ (null): <msg@ <num@ 321.000000> <arg@ stringValue: (null)> .>> .>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 16 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 15 | |
Reading a token: Next token is token '=' (1.1-1.1: ) | |
Reducing stack by rule 5 (line 90): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm lhs (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 14 | |
Next token is token '=' (1.1-1.1: ) | |
Shifting token '=' (1.1-1.1: ) | |
Entering state 53 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 43 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Reducing stack by rule 66 (line 293): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm message_receiver (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 24 | |
Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 24 | |
Entering state 59 | |
Reading a token: Next token is token ':' (1.1-1.1: ) | |
Shifting token ':' (1.1-1.1: ) | |
Entering state 56 | |
Reading a token: Next token is token tSTRING (1.1-1.1: ) | |
Shifting token tSTRING (1.1-1.1: ) | |
Entering state 8 | |
Reducing stack by rule 75 (line 324): | |
$1 = token tSTRING (1.1-1.1: ) | |
-> $$ = nterm string (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 24 59 56 | |
Entering state 27 | |
Reducing stack by rule 73 (line 319): | |
$1 = nterm string (1.1-1.1: ) | |
-> $$ = nterm literal (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 24 59 56 | |
Entering state 40 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 45 (line 203): | |
$1 = nterm literal (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 24 59 56 | |
Entering state 73 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 24 59 56 73 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 24 59 56 73 | |
Entering state 98 | |
Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 38 (line 185): | |
$1 = token ':' (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm call_args (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 24 59 | |
Entering state 80 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 101 | |
Reducing stack by rule 64 (line 285): | |
$1 = nterm message_receiver (1.1-1.1: ) | |
$2 = nterm identifier (1.1-1.1: ) | |
$3 = nterm call_args (1.1-1.1: ) | |
$4 = token '.' (1.1-1.1: ) | |
-> $$ = nterm message (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 48 | |
Reducing stack by rule 15 (line 117): | |
$1 = nterm message (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 14 53 | |
Entering state 71 | |
Reducing stack by rule 3 (line 85): | |
$1 = nterm lhs (1.1-1.1: ) | |
$2 = token '=' (1.1-1.1: ) | |
$3 = nterm expression (1.1-1.1: ) | |
-> $$ = nterm assignment (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 13 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 52 | |
Reducing stack by rule 14 (line 113): | |
$1 = nterm assignment (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 72 | |
Reducing stack by rule 8 (line 101): | |
$1 = nterm statements (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.179 tranquil[36940:707] ----------- <op@ <var@ numAsStr> = <msg@ <var@ numAsStr> <arg@ stringByAppendingString: <str@ " Three Two One">> .>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 16 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 10 | |
Reducing stack by rule 71 (line 304): | |
$1 = nterm opt_nl (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Next token is token tRETURN (1.1-1.1: ) | |
Shifting token tRETURN (1.1-1.1: ) | |
Entering state 6 | |
Reading a token: Next token is token '(' (1.1-1.1: ) | |
Shifting token '(' (1.1-1.1: ) | |
Entering state 33 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 | |
Entering state 43 | |
Reading a token: Next token is token ':' (1.1-1.1: ) | |
Reducing stack by rule 25 (line 130): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm callee (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 | |
Entering state 18 | |
Next token is token ':' (1.1-1.1: ) | |
Shifting token ':' (1.1-1.1: ) | |
Entering state 56 | |
Reading a token: Next token is token tIDENTIFIER (1.1-1.1: ) | |
Shifting token tIDENTIFIER (1.1-1.1: ) | |
Entering state 9 | |
Reducing stack by rule 76 (line 327): | |
$1 = token tIDENTIFIER (1.1-1.1: ) | |
-> $$ = nterm identifier (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 18 56 | |
Entering state 28 | |
Reducing stack by rule 6 (line 94): | |
$1 = nterm identifier (1.1-1.1: ) | |
-> $$ = nterm variable (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 18 56 | |
Entering state 35 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 44 (line 202): | |
$1 = nterm variable (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 18 56 | |
Entering state 73 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 18 56 73 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 18 56 73 | |
Entering state 98 | |
Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 38 (line 185): | |
$1 = token ':' (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm call_args (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 18 | |
Entering state 57 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 74 | |
Reducing stack by rule 37 (line 179): | |
$1 = nterm callee (1.1-1.1: ) | |
$2 = nterm call_args (1.1-1.1: ) | |
$3 = token '.' (1.1-1.1: ) | |
-> $$ = nterm call (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 | |
Entering state 46 | |
Reducing stack by rule 18 (line 120): | |
$1 = nterm call (1.1-1.1: ) | |
-> $$ = nterm expression (1.1-1.1: ) | |
Stack now 0 3 16 54 6 33 | |
Entering state 62 | |
Reading a token: Next token is token ')' (1.1-1.1: ) | |
Shifting token ')' (1.1-1.1: ) | |
Entering state 89 | |
Reading a token: Next token is token '.' (1.1-1.1: ) | |
Reducing stack by rule 46 (line 204): | |
$1 = token '(' (1.1-1.1: ) | |
$2 = nterm expression (1.1-1.1: ) | |
$3 = token ')' (1.1-1.1: ) | |
-> $$ = nterm call_arg (1.1-1.1: ) | |
Stack now 0 3 16 54 6 | |
Entering state 37 | |
Next token is token '.' (1.1-1.1: ) | |
Shifting token '.' (1.1-1.1: ) | |
Entering state 64 | |
Reducing stack by rule 10 (line 109): | |
$1 = token tRETURN (1.1-1.1: ) | |
$2 = nterm call_arg (1.1-1.1: ) | |
$3 = token '.' (1.1-1.1: ) | |
-> $$ = nterm statement (1.1-1.1: ) | |
Stack now 0 3 16 54 | |
Entering state 72 | |
Reducing stack by rule 8 (line 101): | |
$1 = nterm statements (1.1-1.1: ) | |
$2 = nterm opt_nl (1.1-1.1: ) | |
$3 = nterm statement (1.1-1.1: ) | |
2012-06-20 21:19:26.188 tranquil[36940:707] ----------- <ret@ <call@ <var@ myBlock>: <arg@ (null): <var@ numAsStr>> .>> | |
-> $$ = nterm statements (1.1-1.1: ) | |
Stack now 0 3 | |
Entering state 16 | |
Reducing stack by rule 69 (line 300): | |
-> $$ = nterm empty (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 50 | |
Reducing stack by rule 70 (line 303): | |
$1 = nterm empty (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Next token is token '\n' (1.1-1.1: ) | |
Shifting token '\n' (1.1-1.1: ) | |
Entering state 10 | |
Reducing stack by rule 71 (line 304): | |
$1 = nterm opt_nl (1.1-1.1: ) | |
$2 = token '\n' (1.1-1.1: ) | |
-> $$ = nterm opt_nl (1.1-1.1: ) | |
Stack now 0 3 16 | |
Entering state 54 | |
Reading a token: Now at end of input. | |
Reducing stack by rule 2 (line 77): | |
$1 = nterm opt_nl (-1950691328.32767--1950691328.32767: ) | |
$2 = nterm statements (1.1-1.1: ) | |
$3 = nterm opt_nl (1.1-1.1: ) | |
-> $$ = nterm program (-1950691328.32767-1.1: ) | |
Stack now 0 | |
Entering state 1 | |
Now at end of input. | |
Shifting token $end (1.1-1.1: ) | |
Entering state 4 | |
Stack now 0 1 4 | |
Cleanup: popping token $end (1.1-1.1: ) | |
Cleanup: popping nterm program (-1950691328.32767-1.1: ) | |
2012-06-20 21:19:26.189 tranquil[36940:707] ------------------------------------------ | |
2012-06-20 21:19:26.190 tranquil[36940:707] <prog@ | |
<blk@ { | |
<op@ <var@ captureMePlease> = <str@ "hey I was defined in the root! ">> | |
<op@ <var@ a> = <blk@ {<argdef@ (null): __blk> <argdef@ (null): arg> | | |
<op@ <var@ block> = <blk@ {<argdef@ (null): __blk> <argdef@ (null): arg> | | |
<op@ <var@ arg> = <msg@ <var@ arg> <arg@ stringByAppendingString: <var@ captureMePlease>> .>> | |
<ret@ <var@ arg>> | |
}>> | |
<ret@ <call@ <var@ block>: <arg@ (null): <var@ arg>> .>> | |
}>> | |
<op@ <var@ myBlock> = <var@ a>> | |
<op@ <var@ numAsStr> = <call@ <var@ a>: <arg@ (null): <msg@ <num@ 321.000000> <arg@ stringValue: (null)> .>> .>> | |
<op@ <var@ numAsStr> = <msg@ <var@ numAsStr> <arg@ stringByAppendingString: <str@ " Three Two One">> .>> | |
<ret@ <call@ <var@ myBlock>: <arg@ (null): <var@ numAsStr>> .>> | |
}> | |
}> | |
2012-06-20 21:19:26.190 tranquil[36940:707] ------------------------------------------ | |
2012-06-20 21:19:26.191 tranquil[36940:707] > Assigning to <var@ captureMePlease> | |
2012-06-20 21:19:26.192 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.193 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.193 tranquil[36940:707] > Assigning to <var@ a> | |
2012-06-20 21:19:26.194 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.195 tranquil[36940:707] registering arg local arg: <var@ arg> | |
2012-06-20 21:19:26.195 tranquil[36940:707] > Assigning to <var@ block> | |
2012-06-20 21:19:26.196 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.197 tranquil[36940:707] registering arg local arg: <var@ arg> | |
2012-06-20 21:19:26.197 tranquil[36940:707] > Assigning to <var@ arg> | |
2012-06-20 21:19:26.198 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.198 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.199 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.199 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.200 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.201 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.202 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.202 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.203 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.204 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.205 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.205 tranquil[36940:707] > Assigning to <var@ myBlock> | |
2012-06-20 21:19:26.206 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.206 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.207 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.207 tranquil[36940:707] > Assigning to <var@ numAsStr> | |
2012-06-20 21:19:26.208 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.209 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.209 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.210 tranquil[36940:707] > Assigning to <var@ numAsStr> | |
2012-06-20 21:19:26.210 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.211 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.211 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.212 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
2012-06-20 21:19:26.212 tranquil[36940:707] GETTING FORWARDING ----------------------------- | |
; ModuleID = 'Test' | |
%struct.__block_descriptor = type { i64, i64, i8*, i8* } | |
%struct._block_byref = type { i8*, i8*, i32, i32, i8*, i8*, i8* } | |
%struct.__block_literal_generic = type { i8*, i32, i32, i8*, %struct.__tq_block_descriptor* } | |
%struct.__tq_block_descriptor = type { i64, i64 } | |
@0 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@1 = private unnamed_addr constant [15 x i8] c"Invoking block\00" | |
@2 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@3 = private unnamed_addr constant [18 x i8] c"Loading arguments\00" | |
@4 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@5 = private unnamed_addr constant [17 x i8] c"Loading captures\00" | |
@6 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@7 = private unnamed_addr constant [21 x i8] c"Executing statements\00" | |
@className_NSMutableString = private unnamed_addr constant [16 x i8] c"NSMutableString\00" | |
@sel_stringWithUTF8String = private unnamed_addr constant [22 x i8] c"stringWithUTF8String:\00" | |
@8 = private unnamed_addr constant [32 x i8] c"hey I was defined in the root! \00" | |
@9 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@10 = private unnamed_addr constant [24 x i8] c"Storing captureMePlease\00" | |
@11 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@12 = private unnamed_addr constant [24 x i8] c"/Stored captureMePlease\00" | |
@13 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@14 = private unnamed_addr constant [15 x i8] c"Invoking block\00" | |
@15 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@16 = private unnamed_addr constant [18 x i8] c"Loading arguments\00" | |
@17 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@18 = private unnamed_addr constant [17 x i8] c"Loading captures\00" | |
@19 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@20 = private unnamed_addr constant [21 x i8] c"Executing statements\00" | |
@21 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@22 = private unnamed_addr constant [15 x i8] c"Invoking block\00" | |
@23 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@24 = private unnamed_addr constant [18 x i8] c"Loading arguments\00" | |
@25 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@26 = private unnamed_addr constant [17 x i8] c"Loading captures\00" | |
@27 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@28 = private unnamed_addr constant [21 x i8] c"Executing statements\00" | |
@selector = private unnamed_addr constant [25 x i8] c"stringByAppendingString:\00" | |
@29 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@30 = private unnamed_addr constant [10 x i8] c"Returning\00" | |
@_NSConcreteStackBlock = external global i8* | |
@31 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@32 = private unnamed_addr constant [14 x i8] c"Copying block\00" | |
@33 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@34 = private unnamed_addr constant [23 x i8] c"Copying block captures\00" | |
@35 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@36 = private unnamed_addr constant [14 x i8] c"/Copied block\00" | |
@37 = private unnamed_addr constant [4 x i8] c"@@@\00" | |
@__tq_block_descriptor_tmp = internal constant { i64, i64, void (i8*, i8*)*, void (i8*)*, i8* } { i64 0, i64 ptrtoint (<{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* getelementptr (<{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* null, i32 1) to i64), void (i8*, i8*)* @__tq_block_copy, void (i8*)* @__tq_block_dispose, i8* getelementptr inbounds ([4 x i8]* @37, i32 0, i32 0) } | |
@38 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@39 = private unnamed_addr constant [10 x i8] c"Returning\00" | |
@40 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@41 = private unnamed_addr constant [14 x i8] c"Copying block\00" | |
@42 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@43 = private unnamed_addr constant [23 x i8] c"Copying block captures\00" | |
@44 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@45 = private unnamed_addr constant [14 x i8] c"/Copied block\00" | |
@46 = private unnamed_addr constant [4 x i8] c"@@@\00" | |
@__tq_block_descriptor_tmp5 = internal constant { i64, i64, void (i8*, i8*)*, void (i8*)*, i8* } { i64 0, i64 ptrtoint (<{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* getelementptr (<{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* null, i32 1) to i64), void (i8*, i8*)* @__tq_block_copy3, void (i8*)* @__tq_block_dispose4, i8* getelementptr inbounds ([4 x i8]* @46, i32 0, i32 0) } | |
@selector6 = private unnamed_addr constant [12 x i8] c"stringValue\00" | |
@className_NSNumber = private unnamed_addr constant [9 x i8] c"NSNumber\00" | |
@sel_numberWithDouble = private unnamed_addr constant [18 x i8] c"numberWithDouble:\00" | |
@selector7 = private unnamed_addr constant [25 x i8] c"stringByAppendingString:\00" | |
@47 = private unnamed_addr constant [15 x i8] c" Three Two One\00" | |
@48 = private unnamed_addr constant [6 x i8] c"> %s\0A\00" | |
@49 = private unnamed_addr constant [10 x i8] c"Returning\00" | |
declare void @objc_allocateClassPair(i8*, i8*, i64) | |
declare void @objc_registerClassPair(i8*) | |
declare i8 @class_addIvar(i8*, i8*, i64, i8, i8*) | |
declare i8 @class_addMethod(i8*, i8*, i8*, i8*) | |
declare i8* @objc_msgSend(i8*, i8*, ...) | |
declare void @objc_storeStrong(i8**, i8*) | |
declare i8* @objc_storeWeak(i8**, i8*) | |
declare i8* @objc_loadWeak(i8**) | |
declare void @objc_destroyWeak(i8**) | |
declare i8* @objc_retain(i8*) | |
declare void @objc_release(i8*) | |
declare i8* @sel_registerName(i8*) | |
declare i8* @sel_getName(i8*) | |
declare i8* @objc_getClass(i8*) | |
declare i8* @_Block_copy(i8*) | |
declare void @_Block_object_assign(i8*, i8*, i32) | |
declare void @_Block_object_dispose(i8*, i32) | |
define i8* @__tq_block_invoke() { | |
entry: | |
%block = alloca <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>, align 8 | |
%0 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @0, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @1, i32 0, i32 0)) | |
%1 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @2, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8]* @3, i32 0, i32 0)) | |
%2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @4, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8]* @5, i32 0, i32 0)) | |
%3 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @6, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @7, i32 0, i32 0)) | |
%4 = call i8* @objc_getClass(i8* getelementptr inbounds ([16 x i8]* @className_NSMutableString, i32 0, i32 0)) | |
%5 = call i8* @sel_registerName(i8* getelementptr inbounds ([22 x i8]* @sel_stringWithUTF8String, i32 0, i32 0)) | |
%6 = call i8* (i8*, i8*, ...)* @objc_msgSend(i8* %4, i8* %5, i8* getelementptr inbounds ([32 x i8]* @8, i32 0, i32 0)) | |
%7 = alloca %struct._block_byref | |
%8 = bitcast %struct._block_byref* %7 to i8* | |
%capture.forwarding = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 1 | |
store i8* %8, i8** %capture.forwarding | |
%capture.flags = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 2 | |
store i32 33554432, i32* %capture.flags | |
%capture.size = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 3 | |
store i32 ptrtoint (%struct._block_byref* getelementptr (%struct._block_byref* null, i32 1) to i32), i32* %capture.size | |
%capture.byref_keep = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 4 | |
store i8* bitcast (void (i8*, i8*)* @__tq_byref_obj_keep_helper to i8*), i8** %capture.byref_keep | |
%capture.byref_dispose = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 5 | |
store i8* null, i8** %capture.byref_dispose | |
%capture.marked_variable = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 6 | |
store i8* null, i8** %capture.marked_variable | |
%9 = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 1 | |
%forwarding = load i8** %9 | |
%forwardingCast = bitcast i8* %forwarding to %struct._block_byref* | |
%10 = getelementptr inbounds %struct._block_byref* %forwardingCast, i32 0, i32 6 | |
%11 = load i8** %10 | |
%12 = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 1 | |
%forwarding1 = load i8** %12 | |
%13 = bitcast i8* %forwarding1 to %struct._block_byref* | |
%storeAddr = getelementptr inbounds %struct._block_byref* %13, i32 0, i32 6 | |
store i8* %6, i8** %storeAddr | |
%14 = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 1 | |
%forwarding2 = load i8** %14 | |
%forwardingCast3 = bitcast i8* %forwarding2 to %struct._block_byref* | |
%15 = getelementptr inbounds %struct._block_byref* %forwardingCast3, i32 0, i32 6 | |
%16 = load i8** %15 | |
%block.isa = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %block, i32 0, i32 0 | |
store i8* bitcast (i8** @_NSConcreteStackBlock to i8*), i8** %block.isa | |
%block.flags = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %block, i32 0, i32 1 | |
store i32 1107296256, i32* %block.flags | |
%block.reserved = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %block, i32 0, i32 2 | |
store i32 0, i32* %block.reserved | |
%block.invoke = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %block, i32 0, i32 3 | |
store i8* bitcast (i8* (i8*, i8*)* @__tq_block_invoke1 to i8*), i8** %block.invoke | |
%block.descriptor = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %block, i32 0, i32 4 | |
store %struct.__block_descriptor* bitcast ({ i64, i64, void (i8*, i8*)*, void (i8*)*, i8* }* @__tq_block_descriptor_tmp5 to %struct.__block_descriptor*), %struct.__block_descriptor** %block.descriptor | |
%17 = bitcast %struct._block_byref* %7 to i8* | |
%block.captureMePlease = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %block, i32 0, i32 5 | |
store i8* %17, i8** %block.captureMePlease | |
%18 = bitcast <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %block to i8* | |
%19 = call i8* @_Block_copy(i8* %18) | |
%20 = alloca %struct._block_byref | |
%21 = bitcast %struct._block_byref* %20 to i8* | |
%capture.forwarding4 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
store i8* %21, i8** %capture.forwarding4 | |
%capture.flags5 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 2 | |
store i32 33554432, i32* %capture.flags5 | |
%capture.size6 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 3 | |
store i32 ptrtoint (%struct._block_byref* getelementptr (%struct._block_byref* null, i32 1) to i32), i32* %capture.size6 | |
%capture.byref_keep7 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 4 | |
store i8* bitcast (void (i8*, i8*)* @__tq_byref_obj_keep_helper to i8*), i8** %capture.byref_keep7 | |
%capture.byref_dispose8 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 5 | |
store i8* null, i8** %capture.byref_dispose8 | |
%capture.marked_variable9 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 6 | |
store i8* null, i8** %capture.marked_variable9 | |
%22 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding10 = load i8** %22 | |
%forwardingCast11 = bitcast i8* %forwarding10 to %struct._block_byref* | |
%23 = getelementptr inbounds %struct._block_byref* %forwardingCast11, i32 0, i32 6 | |
%24 = load i8** %23 | |
%25 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding12 = load i8** %25 | |
%26 = bitcast i8* %forwarding12 to %struct._block_byref* | |
%storeAddr13 = getelementptr inbounds %struct._block_byref* %26, i32 0, i32 6 | |
store i8* %19, i8** %storeAddr13 | |
%27 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding14 = load i8** %27 | |
%forwardingCast15 = bitcast i8* %forwarding14 to %struct._block_byref* | |
%28 = getelementptr inbounds %struct._block_byref* %forwardingCast15, i32 0, i32 6 | |
%29 = load i8** %28 | |
%30 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding16 = load i8** %30 | |
%forwardingCast17 = bitcast i8* %forwarding16 to %struct._block_byref* | |
%31 = getelementptr inbounds %struct._block_byref* %forwardingCast17, i32 0, i32 6 | |
%32 = load i8** %31 | |
%33 = alloca %struct._block_byref | |
%34 = bitcast %struct._block_byref* %33 to i8* | |
%capture.forwarding18 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 1 | |
store i8* %34, i8** %capture.forwarding18 | |
%capture.flags19 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 2 | |
store i32 33554432, i32* %capture.flags19 | |
%capture.size20 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 3 | |
store i32 ptrtoint (%struct._block_byref* getelementptr (%struct._block_byref* null, i32 1) to i32), i32* %capture.size20 | |
%capture.byref_keep21 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 4 | |
store i8* bitcast (void (i8*, i8*)* @__tq_byref_obj_keep_helper to i8*), i8** %capture.byref_keep21 | |
%capture.byref_dispose22 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 5 | |
store i8* null, i8** %capture.byref_dispose22 | |
%capture.marked_variable23 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 6 | |
store i8* null, i8** %capture.marked_variable23 | |
%35 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 1 | |
%forwarding24 = load i8** %35 | |
%forwardingCast25 = bitcast i8* %forwarding24 to %struct._block_byref* | |
%36 = getelementptr inbounds %struct._block_byref* %forwardingCast25, i32 0, i32 6 | |
%37 = load i8** %36 | |
%38 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 1 | |
%forwarding26 = load i8** %38 | |
%39 = bitcast i8* %forwarding26 to %struct._block_byref* | |
%storeAddr27 = getelementptr inbounds %struct._block_byref* %39, i32 0, i32 6 | |
store i8* %32, i8** %storeAddr27 | |
%40 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 1 | |
%forwarding28 = load i8** %40 | |
%forwardingCast29 = bitcast i8* %forwarding28 to %struct._block_byref* | |
%41 = getelementptr inbounds %struct._block_byref* %forwardingCast29, i32 0, i32 6 | |
%42 = load i8** %41 | |
%43 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding30 = load i8** %43 | |
%forwardingCast31 = bitcast i8* %forwarding30 to %struct._block_byref* | |
%44 = getelementptr inbounds %struct._block_byref* %forwardingCast31, i32 0, i32 6 | |
%45 = load i8** %44 | |
%46 = bitcast i8* %45 to %struct.__block_literal_generic* | |
%47 = getelementptr inbounds %struct.__block_literal_generic* %46, i32 0, i32 3 | |
%48 = call i8* @sel_registerName(i8* getelementptr inbounds ([12 x i8]* @selector6, i32 0, i32 0)) | |
%49 = call i8* @objc_getClass(i8* getelementptr inbounds ([9 x i8]* @className_NSNumber, i32 0, i32 0)) | |
%50 = call i8* @sel_registerName(i8* getelementptr inbounds ([18 x i8]* @sel_numberWithDouble, i32 0, i32 0)) | |
%51 = call i8* (i8*, i8*, ...)* @objc_msgSend(i8* %49, i8* %50, double 3.210000e+02) | |
%52 = call i8* (i8*, i8*, ...)* @objc_msgSend(i8* %51, i8* %48) | |
%53 = load i8** %47 | |
%54 = bitcast i8* %53 to i8* (i8*, i8*)* | |
%55 = call i8* %54(i8* %45, i8* %52) | |
%56 = alloca %struct._block_byref | |
%57 = bitcast %struct._block_byref* %56 to i8* | |
%capture.forwarding32 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
store i8* %57, i8** %capture.forwarding32 | |
%capture.flags33 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 2 | |
store i32 33554432, i32* %capture.flags33 | |
%capture.size34 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 3 | |
store i32 ptrtoint (%struct._block_byref* getelementptr (%struct._block_byref* null, i32 1) to i32), i32* %capture.size34 | |
%capture.byref_keep35 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 4 | |
store i8* bitcast (void (i8*, i8*)* @__tq_byref_obj_keep_helper to i8*), i8** %capture.byref_keep35 | |
%capture.byref_dispose36 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 5 | |
store i8* null, i8** %capture.byref_dispose36 | |
%capture.marked_variable37 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 6 | |
store i8* null, i8** %capture.marked_variable37 | |
%58 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding38 = load i8** %58 | |
%forwardingCast39 = bitcast i8* %forwarding38 to %struct._block_byref* | |
%59 = getelementptr inbounds %struct._block_byref* %forwardingCast39, i32 0, i32 6 | |
%60 = load i8** %59 | |
%61 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding40 = load i8** %61 | |
%62 = bitcast i8* %forwarding40 to %struct._block_byref* | |
%storeAddr41 = getelementptr inbounds %struct._block_byref* %62, i32 0, i32 6 | |
store i8* %55, i8** %storeAddr41 | |
%63 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding42 = load i8** %63 | |
%forwardingCast43 = bitcast i8* %forwarding42 to %struct._block_byref* | |
%64 = getelementptr inbounds %struct._block_byref* %forwardingCast43, i32 0, i32 6 | |
%65 = load i8** %64 | |
%66 = call i8* @sel_registerName(i8* getelementptr inbounds ([25 x i8]* @selector7, i32 0, i32 0)) | |
%67 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding44 = load i8** %67 | |
%forwardingCast45 = bitcast i8* %forwarding44 to %struct._block_byref* | |
%68 = getelementptr inbounds %struct._block_byref* %forwardingCast45, i32 0, i32 6 | |
%69 = load i8** %68 | |
%70 = call i8* @objc_getClass(i8* getelementptr inbounds ([16 x i8]* @className_NSMutableString, i32 0, i32 0)) | |
%71 = call i8* @sel_registerName(i8* getelementptr inbounds ([22 x i8]* @sel_stringWithUTF8String, i32 0, i32 0)) | |
%72 = call i8* (i8*, i8*, ...)* @objc_msgSend(i8* %70, i8* %71, i8* getelementptr inbounds ([15 x i8]* @47, i32 0, i32 0)) | |
%73 = call i8* (i8*, i8*, ...)* @objc_msgSend(i8* %69, i8* %66, i8* %72) | |
%74 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding46 = load i8** %74 | |
%forwardingCast47 = bitcast i8* %forwarding46 to %struct._block_byref* | |
%75 = getelementptr inbounds %struct._block_byref* %forwardingCast47, i32 0, i32 6 | |
%76 = load i8** %75 | |
%77 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding48 = load i8** %77 | |
%78 = bitcast i8* %forwarding48 to %struct._block_byref* | |
%storeAddr49 = getelementptr inbounds %struct._block_byref* %78, i32 0, i32 6 | |
store i8* %73, i8** %storeAddr49 | |
%79 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding50 = load i8** %79 | |
%forwardingCast51 = bitcast i8* %forwarding50 to %struct._block_byref* | |
%80 = getelementptr inbounds %struct._block_byref* %forwardingCast51, i32 0, i32 6 | |
%81 = load i8** %80 | |
%82 = getelementptr inbounds %struct._block_byref* %33, i32 0, i32 1 | |
%forwarding52 = load i8** %82 | |
%forwardingCast53 = bitcast i8* %forwarding52 to %struct._block_byref* | |
%83 = getelementptr inbounds %struct._block_byref* %forwardingCast53, i32 0, i32 6 | |
%84 = load i8** %83 | |
%85 = bitcast i8* %84 to %struct.__block_literal_generic* | |
%86 = getelementptr inbounds %struct.__block_literal_generic* %85, i32 0, i32 3 | |
%87 = getelementptr inbounds %struct._block_byref* %56, i32 0, i32 1 | |
%forwarding54 = load i8** %87 | |
%forwardingCast55 = bitcast i8* %forwarding54 to %struct._block_byref* | |
%88 = getelementptr inbounds %struct._block_byref* %forwardingCast55, i32 0, i32 6 | |
%89 = load i8** %88 | |
%90 = load i8** %86 | |
%91 = bitcast i8* %90 to i8* (i8*, i8*)* | |
%92 = call i8* %91(i8* %84, i8* %89) | |
%93 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @48, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @49, i32 0, i32 0)) | |
ret i8* %92 | |
} | |
declare i32 @printf(i8*, ...) | |
define void @__tq_byref_obj_keep_helper(i8*, i8*) { | |
entry: | |
%2 = alloca i8* | |
%3 = alloca i8* | |
store i8* %0, i8** %2 | |
store i8* %1, i8** %3 | |
%4 = load i8** %2 | |
%5 = bitcast i8* %4 to %struct._block_byref* | |
%6 = load i8** %3 | |
%7 = bitcast i8* %6 to %struct._block_byref* | |
%8 = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 6 | |
%9 = bitcast i8** %8 to i8* | |
%10 = getelementptr inbounds %struct._block_byref* %7, i32 0, i32 6 | |
%11 = load i8** %10 | |
%12 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @9, i32 0, i32 0), i8* getelementptr inbounds ([24 x i8]* @10, i32 0, i32 0)) | |
call void @_Block_object_assign(i8* %9, i8* %11, i32 131) | |
%13 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @11, i32 0, i32 0), i8* getelementptr inbounds ([24 x i8]* @12, i32 0, i32 0)) | |
ret void | |
} | |
define i8* @__tq_block_invoke1(i8*, i8*) { | |
entry: | |
%block = alloca <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>, align 8 | |
%2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @13, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @14, i32 0, i32 0)) | |
%3 = bitcast i8* %0 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* | |
%4 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @15, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8]* @16, i32 0, i32 0)) | |
%5 = alloca %struct._block_byref | |
%6 = bitcast %struct._block_byref* %5 to i8* | |
%capture.forwarding = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 1 | |
store i8* %6, i8** %capture.forwarding | |
%capture.flags = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 2 | |
store i32 33554432, i32* %capture.flags | |
%capture.size = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 3 | |
store i32 ptrtoint (%struct._block_byref* getelementptr (%struct._block_byref* null, i32 1) to i32), i32* %capture.size | |
%capture.byref_keep = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 4 | |
store i8* bitcast (void (i8*, i8*)* @__tq_byref_obj_keep_helper to i8*), i8** %capture.byref_keep | |
%capture.byref_dispose = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 5 | |
store i8* null, i8** %capture.byref_dispose | |
%capture.marked_variable = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 6 | |
store i8* null, i8** %capture.marked_variable | |
%7 = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 1 | |
%forwarding = load i8** %7 | |
%forwardingCast = bitcast i8* %forwarding to %struct._block_byref* | |
%8 = getelementptr inbounds %struct._block_byref* %forwardingCast, i32 0, i32 6 | |
%9 = load i8** %8 | |
%10 = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 1 | |
%forwarding1 = load i8** %10 | |
%11 = bitcast i8* %forwarding1 to %struct._block_byref* | |
%storeAddr = getelementptr inbounds %struct._block_byref* %11, i32 0, i32 6 | |
store i8* %1, i8** %storeAddr | |
%12 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @17, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8]* @18, i32 0, i32 0)) | |
%13 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %3, i32 0, i32 5 | |
%captureMePlease = load i8** %13 | |
%14 = bitcast i8* %captureMePlease to %struct._block_byref* | |
%15 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @19, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @20, i32 0, i32 0)) | |
%block.isa = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block, i32 0, i32 0 | |
store i8* bitcast (i8** @_NSConcreteStackBlock to i8*), i8** %block.isa | |
%block.flags = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block, i32 0, i32 1 | |
store i32 1107296256, i32* %block.flags | |
%block.reserved = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block, i32 0, i32 2 | |
store i32 0, i32* %block.reserved | |
%block.invoke = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block, i32 0, i32 3 | |
store i8* bitcast (i8* (i8*, i8*)* @__tq_block_invoke2 to i8*), i8** %block.invoke | |
%block.descriptor = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block, i32 0, i32 4 | |
store %struct.__block_descriptor* bitcast ({ i64, i64, void (i8*, i8*)*, void (i8*)*, i8* }* @__tq_block_descriptor_tmp to %struct.__block_descriptor*), %struct.__block_descriptor** %block.descriptor | |
%16 = bitcast %struct._block_byref* %5 to i8* | |
%block.arg = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block, i32 0, i32 5 | |
store i8* %16, i8** %block.arg | |
%17 = bitcast %struct._block_byref* %14 to i8* | |
%block.captureMePlease = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block, i32 0, i32 6 | |
store i8* %17, i8** %block.captureMePlease | |
%18 = bitcast <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %block to i8* | |
%19 = call i8* @_Block_copy(i8* %18) | |
%20 = alloca %struct._block_byref | |
%21 = bitcast %struct._block_byref* %20 to i8* | |
%capture.forwarding2 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
store i8* %21, i8** %capture.forwarding2 | |
%capture.flags3 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 2 | |
store i32 33554432, i32* %capture.flags3 | |
%capture.size4 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 3 | |
store i32 ptrtoint (%struct._block_byref* getelementptr (%struct._block_byref* null, i32 1) to i32), i32* %capture.size4 | |
%capture.byref_keep5 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 4 | |
store i8* bitcast (void (i8*, i8*)* @__tq_byref_obj_keep_helper to i8*), i8** %capture.byref_keep5 | |
%capture.byref_dispose6 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 5 | |
store i8* null, i8** %capture.byref_dispose6 | |
%capture.marked_variable7 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 6 | |
store i8* null, i8** %capture.marked_variable7 | |
%22 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding8 = load i8** %22 | |
%forwardingCast9 = bitcast i8* %forwarding8 to %struct._block_byref* | |
%23 = getelementptr inbounds %struct._block_byref* %forwardingCast9, i32 0, i32 6 | |
%24 = load i8** %23 | |
%25 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding10 = load i8** %25 | |
%26 = bitcast i8* %forwarding10 to %struct._block_byref* | |
%storeAddr11 = getelementptr inbounds %struct._block_byref* %26, i32 0, i32 6 | |
store i8* %19, i8** %storeAddr11 | |
%27 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding12 = load i8** %27 | |
%forwardingCast13 = bitcast i8* %forwarding12 to %struct._block_byref* | |
%28 = getelementptr inbounds %struct._block_byref* %forwardingCast13, i32 0, i32 6 | |
%29 = load i8** %28 | |
%30 = getelementptr inbounds %struct._block_byref* %20, i32 0, i32 1 | |
%forwarding14 = load i8** %30 | |
%forwardingCast15 = bitcast i8* %forwarding14 to %struct._block_byref* | |
%31 = getelementptr inbounds %struct._block_byref* %forwardingCast15, i32 0, i32 6 | |
%32 = load i8** %31 | |
%33 = bitcast i8* %32 to %struct.__block_literal_generic* | |
%34 = getelementptr inbounds %struct.__block_literal_generic* %33, i32 0, i32 3 | |
%35 = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 1 | |
%forwarding16 = load i8** %35 | |
%forwardingCast17 = bitcast i8* %forwarding16 to %struct._block_byref* | |
%36 = getelementptr inbounds %struct._block_byref* %forwardingCast17, i32 0, i32 6 | |
%37 = load i8** %36 | |
%38 = load i8** %34 | |
%39 = bitcast i8* %38 to i8* (i8*, i8*)* | |
%40 = call i8* %39(i8* %32, i8* %37) | |
%41 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @38, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @39, i32 0, i32 0)) | |
ret i8* %40 | |
} | |
define i8* @__tq_block_invoke2(i8*, i8*) { | |
entry: | |
%2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @21, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @22, i32 0, i32 0)) | |
%3 = bitcast i8* %0 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* | |
%4 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @23, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8]* @24, i32 0, i32 0)) | |
%5 = alloca %struct._block_byref | |
%6 = bitcast %struct._block_byref* %5 to i8* | |
%capture.forwarding = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 1 | |
store i8* %6, i8** %capture.forwarding | |
%capture.flags = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 2 | |
store i32 33554432, i32* %capture.flags | |
%capture.size = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 3 | |
store i32 ptrtoint (%struct._block_byref* getelementptr (%struct._block_byref* null, i32 1) to i32), i32* %capture.size | |
%capture.byref_keep = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 4 | |
store i8* bitcast (void (i8*, i8*)* @__tq_byref_obj_keep_helper to i8*), i8** %capture.byref_keep | |
%capture.byref_dispose = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 5 | |
store i8* null, i8** %capture.byref_dispose | |
%capture.marked_variable = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 6 | |
store i8* null, i8** %capture.marked_variable | |
%7 = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 1 | |
%forwarding = load i8** %7 | |
%forwardingCast = bitcast i8* %forwarding to %struct._block_byref* | |
%8 = getelementptr inbounds %struct._block_byref* %forwardingCast, i32 0, i32 6 | |
%9 = load i8** %8 | |
%10 = getelementptr inbounds %struct._block_byref* %5, i32 0, i32 1 | |
%forwarding1 = load i8** %10 | |
%11 = bitcast i8* %forwarding1 to %struct._block_byref* | |
%storeAddr = getelementptr inbounds %struct._block_byref* %11, i32 0, i32 6 | |
store i8* %1, i8** %storeAddr | |
%12 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @25, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8]* @26, i32 0, i32 0)) | |
%13 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %3, i32 0, i32 5 | |
%arg = load i8** %13 | |
%14 = bitcast i8* %arg to %struct._block_byref* | |
%15 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %3, i32 0, i32 6 | |
%captureMePlease = load i8** %15 | |
%16 = bitcast i8* %captureMePlease to %struct._block_byref* | |
%17 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @27, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @28, i32 0, i32 0)) | |
%18 = call i8* @sel_registerName(i8* getelementptr inbounds ([25 x i8]* @selector, i32 0, i32 0)) | |
%19 = getelementptr inbounds %struct._block_byref* %14, i32 0, i32 1 | |
%forwarding2 = load i8** %19 | |
%forwardingCast3 = bitcast i8* %forwarding2 to %struct._block_byref* | |
%20 = getelementptr inbounds %struct._block_byref* %forwardingCast3, i32 0, i32 6 | |
%21 = load i8** %20 | |
%22 = getelementptr inbounds %struct._block_byref* %16, i32 0, i32 1 | |
%forwarding4 = load i8** %22 | |
%forwardingCast5 = bitcast i8* %forwarding4 to %struct._block_byref* | |
%23 = getelementptr inbounds %struct._block_byref* %forwardingCast5, i32 0, i32 6 | |
%24 = load i8** %23 | |
%25 = call i8* (i8*, i8*, ...)* @objc_msgSend(i8* %21, i8* %18, i8* %24) | |
%26 = getelementptr inbounds %struct._block_byref* %14, i32 0, i32 1 | |
%forwarding6 = load i8** %26 | |
%forwardingCast7 = bitcast i8* %forwarding6 to %struct._block_byref* | |
%27 = getelementptr inbounds %struct._block_byref* %forwardingCast7, i32 0, i32 6 | |
%28 = load i8** %27 | |
%29 = getelementptr inbounds %struct._block_byref* %14, i32 0, i32 1 | |
%forwarding8 = load i8** %29 | |
%30 = bitcast i8* %forwarding8 to %struct._block_byref* | |
%storeAddr9 = getelementptr inbounds %struct._block_byref* %30, i32 0, i32 6 | |
store i8* %25, i8** %storeAddr9 | |
%31 = getelementptr inbounds %struct._block_byref* %14, i32 0, i32 1 | |
%forwarding10 = load i8** %31 | |
%forwardingCast11 = bitcast i8* %forwarding10 to %struct._block_byref* | |
%32 = getelementptr inbounds %struct._block_byref* %forwardingCast11, i32 0, i32 6 | |
%33 = load i8** %32 | |
%34 = getelementptr inbounds %struct._block_byref* %14, i32 0, i32 1 | |
%forwarding12 = load i8** %34 | |
%forwardingCast13 = bitcast i8* %forwarding12 to %struct._block_byref* | |
%35 = getelementptr inbounds %struct._block_byref* %forwardingCast13, i32 0, i32 6 | |
%36 = load i8** %35 | |
%37 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @29, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @30, i32 0, i32 0)) | |
ret i8* %36 | |
} | |
define void @__tq_block_copy(i8*, i8*) { | |
entry: | |
%2 = alloca i8* | |
%3 = alloca i8* | |
%4 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @31, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @32, i32 0, i32 0)) | |
store i8* %0, i8** %2 | |
store i8* %1, i8** %3 | |
%5 = load i8** %2 | |
%dstBlk = bitcast i8* %5 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* | |
%6 = load i8** %3 | |
%srcBlk = bitcast i8* %6 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* | |
%7 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @33, i32 0, i32 0), i8* getelementptr inbounds ([23 x i8]* @34, i32 0, i32 0)) | |
%8 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %dstBlk, i32 0, i32 5 | |
%9 = bitcast i8** %8 to i8* | |
%10 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %srcBlk, i32 0, i32 5 | |
%arg = load i8** %10 | |
call void @_Block_object_assign(i8* %9, i8* %arg, i32 8) | |
%11 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %dstBlk, i32 0, i32 6 | |
%12 = bitcast i8** %11 to i8* | |
%13 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %srcBlk, i32 0, i32 6 | |
%captureMePlease = load i8** %13 | |
call void @_Block_object_assign(i8* %12, i8* %captureMePlease, i32 8) | |
%14 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @35, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @36, i32 0, i32 0)) | |
ret void | |
} | |
define void @__tq_block_dispose(i8*) { | |
entry: | |
%1 = alloca i8* | |
store i8* %0, i8** %1 | |
%2 = load i8** %1 | |
%blk = bitcast i8* %2 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* | |
%3 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %blk, i32 0, i32 5 | |
%arg = load i8** %3 | |
call void @_Block_object_dispose(i8* %arg, i32 8) | |
%4 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8*, i8* }>* %blk, i32 0, i32 6 | |
%captureMePlease = load i8** %4 | |
call void @_Block_object_dispose(i8* %captureMePlease, i32 8) | |
ret void | |
} | |
define void @__tq_block_copy3(i8*, i8*) { | |
entry: | |
%2 = alloca i8* | |
%3 = alloca i8* | |
%4 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @40, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @41, i32 0, i32 0)) | |
store i8* %0, i8** %2 | |
store i8* %1, i8** %3 | |
%5 = load i8** %2 | |
%dstBlk = bitcast i8* %5 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* | |
%6 = load i8** %3 | |
%srcBlk = bitcast i8* %6 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* | |
%7 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @42, i32 0, i32 0), i8* getelementptr inbounds ([23 x i8]* @43, i32 0, i32 0)) | |
%8 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %dstBlk, i32 0, i32 5 | |
%9 = bitcast i8** %8 to i8* | |
%10 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %srcBlk, i32 0, i32 5 | |
%captureMePlease = load i8** %10 | |
call void @_Block_object_assign(i8* %9, i8* %captureMePlease, i32 8) | |
%11 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([6 x i8]* @44, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @45, i32 0, i32 0)) | |
ret void | |
} | |
define void @__tq_block_dispose4(i8*) { | |
entry: | |
%1 = alloca i8* | |
store i8* %0, i8** %1 | |
%2 = load i8** %1 | |
%blk = bitcast i8* %2 to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* | |
%3 = getelementptr inbounds <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, i8* }>* %blk, i32 0, i32 5 | |
%captureMePlease = load i8** %3 | |
call void @_Block_object_dispose(i8* %captureMePlease, i32 8) | |
ret void | |
} | |
--------------------- | |
> Invoking block | |
> Loading arguments | |
> Loading captures | |
> Executing statements | |
> Copying block | |
> Copying block captures | |
> Storing captureMePlease | |
> /Stored captureMePlease | |
> /Copied block | |
> Invoking block | |
> Loading arguments | |
> Loading captures | |
> Executing statements | |
> Copying block | |
> Copying block captures | |
> Storing captureMePlease | |
> /Stored captureMePlease | |
> /Copied block | |
> Invoking block | |
> Loading arguments | |
> Loading captures | |
> Executing statements | |
> Returning | |
> Returning | |
> Invoking block | |
> Loading arguments | |
> Loading captures | |
> Executing statements | |
> Copying block | |
> Copying block captures | |
> Storing captureMePlease | |
> /Stored captureMePlease | |
> /Copied block | |
> Invoking block | |
> Loading arguments | |
> Loading captures | |
> Executing statements | |
> Returning | |
> Returning | |
> Returning | |
2012-06-20 21:19:26.326 tranquil[36940:707] Run time: 0.000178 sec | |
2012-06-20 21:19:26.326 tranquil[36940:707] 0x7f83c9b05110 | |
2012-06-20 21:19:26.327 tranquil[36940:707] 'root' retval: 0x7f83c9b05110: 321hey I was defined in the root! Three Two Onehey I was defined in the root! (__NSCFString) | |
% |
This file contains hidden or 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
captureMePlease = "hey I was defined in the root! " | |
a = { :arg | | |
block = { :arg | | |
arg = arg stringByAppendingString:captureMePlease. | |
return arg. | |
} | |
return (block:arg.). | |
} | |
myBlock = a | |
numAsStr = a:(321 stringValue.). | |
numAsStr = numAsStr stringByAppendingString:" Three Two One". | |
return (myBlock:numAsStr.). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment