CEKgo extensions M ::= . . . | go M | here M F ::= ( W ) | ( - - PowerPoint PPT Presentation

cekgo extensions
SMART_READER_LITE
LIVE PREVIEW

CEKgo extensions M ::= . . . | go M | here M F ::= ( W ) | ( - - PowerPoint PPT Presentation

CEKgo extensions M ::= . . . | go M | here M F ::= ( W ) | ( M E ) | ::= F K 1 / 23 CEKgo machine transition steps x | E | K lookup x in E ) | E | K 2 / 23 CEKgo machine transition steps


slide-1
SLIDE 1

CEKgo extensions

M ::= . . . | go M | here M F ::= (W ) | ( M E) | ◮ ◮ K ::= F ∗

1 / 23

slide-2
SLIDE 2

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

2 / 23

slide-3
SLIDE 3

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

M1 M2 | E | K

  • M1 | E | ( M2 E), K)

3 / 23

slide-4
SLIDE 4

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

M1 M2 | E | K

  • M1 | E | ( M2 E), K)

λx.M | E | K

  • clos(λx.M, E) | E | K

4 / 23

slide-5
SLIDE 5

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

M1 M2 | E | K

  • M1 | E | ( M2 E), K)

λx.M | E | K

  • clos(λx.M, E) | E | K

W | E1 | ( M E2), K

  • M | E2 | (W ), K

5 / 23

slide-6
SLIDE 6

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

M1 M2 | E | K

  • M1 | E | ( M2 E), K)

λx.M | E | K

  • clos(λx.M, E) | E | K

W | E1 | ( M E2), K

  • M | E2 | (W ), K

W | E1 | (clos(λx.M, E2) ), K

  • M | E2[x → W ] | K

6 / 23

slide-7
SLIDE 7

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

M1 M2 | E | K

  • M1 | E | ( M2 E), K)

λx.M | E | K

  • clos(λx.M, E) | E | K

W | E1 | ( M E2), K

  • M | E2 | (W ), K

W | E1 | (clos(λx.M, E2) ), K

  • M | E2[x → W ] | K

here M | E | K

  • M | E | ◮

◮, K

7 / 23

slide-8
SLIDE 8

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

M1 M2 | E | K

  • M1 | E | ( M2 E), K)

λx.M | E | K

  • clos(λx.M, E) | E | K

W | E1 | ( M E2), K

  • M | E2 | (W ), K

W | E1 | (clos(λx.M, E2) ), K

  • M | E2[x → W ] | K

here M | E | K

  • M | E | ◮

◮, K go M | E | K1, ◮ ◮, K2

  • M | E | K2

8 / 23

slide-9
SLIDE 9

CEKgo machine transition steps

x | E | K

  • lookup x in E) | E | K

M1 M2 | E | K

  • M1 | E | ( M2 E), K)

λx.M | E | K

  • clos(λx.M, E) | E | K

W | E1 | ( M E2), K

  • M | E2 | (W ), K

W | E1 | (clos(λx.M, E2) ), K

  • M | E2[x → W ] | K

here M | E | K

  • M | E | ◮

◮, K go M | E | K1, ◮ ◮, K2

  • M | E | K2

W | E | ◮ ◮, K

  • W | E | K

9 / 23

slide-10
SLIDE 10

Example 1 of jumping with here and go

here ((λx.2) (go 5)) | emp | stop

10 / 23

slide-11
SLIDE 11

Example 1 of jumping with here and go

here ((λx.2) (go 5)) | emp | stop

  • (λx.2) (go 5) | emp | ◮

◮, stop

11 / 23

slide-12
SLIDE 12

Example 1 of jumping with here and go

here ((λx.2) (go 5)) | emp | stop

  • (λx.2) (go 5) | emp | ◮

◮, stop

  • (λx.2) | emp | ( (go 5) emp), ◮

◮, stop

12 / 23

slide-13
SLIDE 13

Example 1 of jumping with here and go

here ((λx.2) (go 5)) | emp | stop

  • (λx.2) (go 5) | emp | ◮

◮, stop

  • (λx.2) | emp | ( (go 5) emp), ◮

◮, stop

  • clos(λx.2, emp) | emp | ( (go 5) emp), ◮

◮, stop

13 / 23

slide-14
SLIDE 14

Example 1 of jumping with here and go

here ((λx.2) (go 5)) | emp | stop

  • (λx.2) (go 5) | emp | ◮

◮, stop

  • (λx.2) | emp | ( (go 5) emp), ◮

◮, stop

  • clos(λx.2, emp) | emp | ( (go 5) emp), ◮

◮, stop

  • (go 5) | emp | (clos(λx.2, emp) ), ◮

◮, stop

14 / 23

slide-15
SLIDE 15

Example 1 of jumping with here and go

here ((λx.2) (go 5)) | emp | stop

  • (λx.2) (go 5) | emp | ◮

◮, stop

  • (λx.2) | emp | ( (go 5) emp), ◮

◮, stop

  • clos(λx.2, emp) | emp | ( (go 5) emp), ◮

◮, stop

  • (go 5) | emp | (clos(λx.2, emp) ), ◮

◮, stop

  • 5 | emp | stop

15 / 23

slide-16
SLIDE 16

Example 2 of jumping with here and go

here ((go 2) (go 5)) | emp | stop

16 / 23

slide-17
SLIDE 17

Example 2 of jumping with here and go

here ((go 2) (go 5)) | emp | stop

  • (go 2) (go 5) | emp | ◮

◮, stop

17 / 23

slide-18
SLIDE 18

Example 2 of jumping with here and go

here ((go 2) (go 5)) | emp | stop

  • (go 2) (go 5) | emp | ◮

◮, stop

  • (go 2) | emp | ( (go 5) emp), ◮

◮, stop

18 / 23

slide-19
SLIDE 19

Example 2 of jumping with here and go

here ((go 2) (go 5)) | emp | stop

  • (go 2) (go 5) | emp | ◮

◮, stop

  • (go 2) | emp | ( (go 5) emp), ◮

◮, stop

  • 2 | emp | stop

19 / 23

slide-20
SLIDE 20

Example 3 of jumping with here and go

here (λx.(go 5)) | emp | stop

20 / 23

slide-21
SLIDE 21

Example 3 of jumping with here and go

here (λx.(go 5)) | emp | stop

  • λx.(go 5) | emp | ◮

◮, stop

21 / 23

slide-22
SLIDE 22

Example 3 of jumping with here and go

here (λx.(go 5)) | emp | stop

  • λx.(go 5) | emp | ◮

◮, stop

  • clos(λx.(go 5), emp) | ◮

◮, emp | stop

22 / 23

slide-23
SLIDE 23

Example 3 of jumping with here and go

here (λx.(go 5)) | emp | stop

  • λx.(go 5) | emp | ◮

◮, stop

  • clos(λx.(go 5), emp) | ◮

◮, emp | stop

  • clos(λx.(go 5), emp) | emp | stop

23 / 23