Files
carbon-lang/executable_semantics/testdata/if2.golden
T

144 lines
2.5 KiB
Plaintext

********** source program **********
fn main () -> Int {
if ((0 == 1))
return 1;
else
return 0;
}
********** type checking **********
--- step exp Int --->
--- step exp Int --->
********** type checking complete **********
fn main () -> Int {
if ((0 == 1))
return 1;
else
return 0;
}
********** starting execution **********
********** initializing globals **********
--- step exp () --->
********** calling main function **********
{
stack: top{main()<-1>}
heap: fun<main>,
env: main: fun<main>,
}
--- step exp main() --->
{
stack: top{main<-1> :: main()<0>}
heap: fun<main>,
env: main: fun<main>,
}
--- step exp main --->
{
stack: top{fun<main><-1> :: main()<0>}
heap: fun<main>,
env: main: fun<main>,
}
--- handle value fun<main> with main()<1>(fun<main>,) --->
{
stack: top{()<-1> :: main()<1>(fun<main>,)}
heap: fun<main>,
env: main: fun<main>,
}
--- step exp () --->
{
stack: top{()<-1> :: main()<1>(fun<main>,)}
heap: fun<main>,
env: main: fun<main>,
}
--- handle value () with main()<2>(fun<main>,(),) --->
pattern_match((), ())
{
stack: main{if ((0 == 1))
...
else
... <-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- step stmt if ((0 == 1))
...
else
... --->
{
stack: main{if ((0 == 1))
...
else
<-1> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- step stmt if ((0 == 1))
...
else
--->
{
stack: main{(0 == 1)<-1> :: if ((0 == 1))
...
else
<0> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- step exp (0 == 1) --->
{
stack: main{0<-1> :: (0 == 1)<0> :: if ((0 == 1))
...
else
<0> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- step exp 0 --->
{
stack: main{0<-1> :: (0 == 1)<0> :: if ((0 == 1))
...
else
<0> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- handle value 0 with (0 == 1)<1>(0,) --->
{
stack: main{1<-1> :: (0 == 1)<1>(0,) :: if ((0 == 1))
...
else
<0> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- step exp 1 --->
{
stack: main{1<-1> :: (0 == 1)<1>(0,) :: if ((0 == 1))
...
else
<0> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- handle value 1 with (0 == 1)<2>(0,1,) --->
{
stack: main{false<-1> :: if ((0 == 1))
...
else
<0> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- handle value false with if ((0 == 1))
...
else
<1>(false,) --->
{
stack: main{<-1> :: return 0;<-1>} :: top{}
heap: fun<main>,
env: main: fun<main>,
}
--- step stmt --->