mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 19:51:09 +01:00
Executable Semantics: 1st-class stacks (#296)
Replaces low-level uses of `Cons` with a first-class `Stack` data structure. Also removes an unused algorithm. Co-authored-by: Jeremy Siek <jsiek@indiana.edu> Possible next step: use `std::stack` instead.
This commit is contained in:
+1
-1
@@ -169,7 +169,7 @@ env: t: 5, main: fun<main>,
|
||||
--- handle value 0 with return 0;<1>(0,) --->
|
||||
{
|
||||
stack: top{0<-1>}
|
||||
heap: fun<main>, 5,
|
||||
heap: fun<main>, !!5,
|
||||
env: main: fun<main>,
|
||||
}
|
||||
result: 0
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@ env: _: 5, t: 5, main: fun<main>,
|
||||
--- handle value 0 with return 0;<1>(0,) --->
|
||||
{
|
||||
stack: top{0<-1>}
|
||||
heap: fun<main>, 5, !!5,
|
||||
heap: fun<main>, !!5, !!5,
|
||||
env: main: fun<main>,
|
||||
}
|
||||
result: 0
|
||||
|
||||
+1
-1
@@ -312,7 +312,7 @@ env: b: 2, a: 5, t: (0 = 5@3, 1 = 2@4), main: fun<main>,
|
||||
--- handle value 0 with return ((a + b) - 7);<1>(0,) --->
|
||||
{
|
||||
stack: top{0<-1>}
|
||||
heap: fun<main>, 5, 2, 5, 2, (0 = 5@3, 1 = 2@4), auto: a, auto: b, !!5, !!2,
|
||||
heap: fun<main>, 5, 2, !!5, !!2, !!(0 = !!5@3, 1 = !!2@4), auto: a, auto: b, !!5, !!2,
|
||||
env: main: fun<main>,
|
||||
}
|
||||
result: 0
|
||||
|
||||
Reference in New Issue
Block a user