about summary refs log tree commit diff stats
path: root/cpp/.traces/copy_array
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/.traces/copy_array')
-rw-r--r--cpp/.traces/copy_array50
1 files changed, 0 insertions, 50 deletions
diff --git a/cpp/.traces/copy_array b/cpp/.traces/copy_array
deleted file mode 100644
index 00c78037..00000000
--- a/cpp/.traces/copy_array
+++ /dev/null
@@ -1,50 +0,0 @@
-parse/0: instruction: copy
-parse/0:   ingredient: {name: "3", value: 0, type: 0, properties: ["3": "literal"]}
-parse/0:   product: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
-parse/0: instruction: copy
-parse/0:   ingredient: {name: "14", value: 0, type: 0, properties: ["14": "literal"]}
-parse/0:   product: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
-parse/0: instruction: copy
-parse/0:   ingredient: {name: "15", value: 0, type: 0, properties: ["15": "literal"]}
-parse/0:   product: {name: "3", value: 0, type: 1, properties: ["3": "integer"]}
-parse/0: instruction: copy
-parse/0:   ingredient: {name: "16", value: 0, type: 0, properties: ["16": "literal"]}
-parse/0:   product: {name: "4", value: 0, type: 1, properties: ["4": "integer"]}
-parse/0: instruction: copy
-parse/0:   ingredient: {name: "1", value: 0, type: 5-1, properties: ["1": "array":"integer"]}
-parse/0:   product: {name: "5", value: 0, type: 5-1, properties: ["5": "array":"integer"]}
-after-brace/0: recipe main
-after-brace/0: copy ...
-after-brace/0: copy ...
-after-brace/0: copy ...
-after-brace/0: copy ...
-after-brace/0: copy ...
-new/0: routine allocated memory from 1000 to 101000
-schedule/0: main
-run/0: instruction main/0
-run/0: {name: "1", value: 1, type: 1, properties: ["1": "integer"]} <- copy/1 {name: "3", value: 3, type: 0, properties: ["3": "literal"]}
-run/0: ingredient 0 is 3
-mem/0: storing 3 in location 1
-run/0: instruction main/1
-run/0: {name: "2", value: 2, type: 1, properties: ["2": "integer"]} <- copy/1 {name: "14", value: 14, type: 0, properties: ["14": "literal"]}
-run/0: ingredient 0 is 14
-mem/0: storing 14 in location 2
-run/0: instruction main/2
-run/0: {name: "3", value: 3, type: 1, properties: ["3": "integer"]} <- copy/1 {name: "15", value: 15, type: 0, properties: ["15": "literal"]}
-run/0: ingredient 0 is 15
-mem/0: storing 15 in location 3
-run/0: instruction main/3
-run/0: {name: "4", value: 4, type: 1, properties: ["4": "integer"]} <- copy/1 {name: "16", value: 16, type: 0, properties: ["16": "literal"]}
-run/0: ingredient 0 is 16
-mem/0: storing 16 in location 4
-run/0: instruction main/4
-run/0: {name: "5", value: 5, type: 5-1, properties: ["5": "array":"integer"]} <- copy/1 {name: "1", value: 1, type: 5-1, properties: ["1": "array":"integer"]}
-run/0: ingredient 0 is 1
-mem/0: location 1 is 3
-mem/0: location 2 is 14
-mem/0: location 3 is 15
-mem/0: location 4 is 16
-mem/0: storing 3 in location 5
-mem/0: storing 14 in location 6
-mem/0: storing 15 in location 7
-mem/0: storing 16 in location 8
pan> ^
cd9bb850 ^


d059fe74 ^
cd9bb850 ^
f918675c ^


cd9bb850 ^

f918675c ^

cd9bb850 ^
f918675c ^
cd9bb850 ^




d059fe74 ^
f918675c ^
cd9bb850 ^
f918675c ^


cd9bb850 ^

f918675c ^

cd9bb850 ^
f918675c ^
cd9bb850 ^




d059fe74 ^
f918675c ^

cd9bb850 ^


f918675c ^


cd9bb850 ^

f918675c ^



cd9bb850 ^

f918675c ^

cd9bb850 ^


d059fe74 ^
cd9bb850 ^

f918675c ^

cd9bb850 ^
f918675c ^
cd9bb850 ^
f918675c ^
cd9bb850 ^

f918675c ^
cd9bb850 ^
8e7b4429 ^



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131














                                                                                                 
                              
                              


                             

                               














                                                                                    
                    
                                                                          


                                         





                                                                                                                          
                         




                                                                                                                                               

   


                                                             
                    
   


                                                                                                                                        

                         

                                                                                                                                          
                         
                                                                                                                                                                                              




                                                                         
                    
                                                                                                         
   


                                                                                                                                        

                         

                                                                                                                                          
                         
                                                                                                                                                                                              




                                                                                       
                    

                                                                                                         


                                         


                                                                                                                                        

                         



                                                                                                                                           

                               

                                                                                                                                                                                              


   
                                                                                                                                    

                                                

                                                                                                          
                                  
                                                                             
                                                 
                                                        

                                       
                                                                 
 



                                     
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - 090scenario_filesystem_test.mu</title>
<meta name="Generator" content="Vim/7.4">
<meta name="plugin-version" content="vim7.4_v2">
<meta name="syntax" content="none">
<meta name="settings" content="use_css,pre_wrap,no_foldcolumn,expand_tabs,prevent_copy=">
<meta name="colorscheme" content="minimal">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #eeeeee; background-color: #080808; }
body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color: #080808; }
* { font-size: 12pt; font-size: 1em; }
.Delimiter { color: #800080; }
.muControl { color: #c0a020; }
.Comment { color: #9090ff; }
.Constant { color: #00a0a0; }
.Special { color: #c00000; }
.muRecipe { color: #ff8700; }
.muScenario { color: #00af00; }
-->
</style>

<script type='text/javascript'>
<!--

-->
</script>
</head>
<body>
<pre id='vimCodeElement'>
<span class="Comment"># Check our support for fake file systems in scenarios.</span>

<span class="muScenario">scenario</span> read-from-fake-file [
  <span class="Constant">local-scope</span>
  assume-resources [
    <span class="Constant">[a]</span> <span class="Special">&lt;-</span> [
<span class="Constant">      |xyz|</span>
    ]
  ]
  contents:&amp;:source:char <span class="Special">&lt;-</span> start-reading resources, <span class="Constant">[a]</span>
  1:char/<span class="Special">raw</span> <span class="Special">&lt;-</span> read contents
  2:char/<span class="Special">raw</span> <span class="Special">&lt;-</span> read contents
  3:char/<span class="Special">raw</span> <span class="Special">&lt;-</span> read contents
  4:char/<span class="Special">raw</span> <span class="Special">&lt;-</span> read contents
  _, 5:bool/<span class="Special">raw</span> <span class="Special">&lt;-</span> read contents
  memory-should-contain [
   <span class="Constant"> 1</span> <span class="Special">&lt;-</span><span class="Constant"> 120</span>  <span class="Comment"># x</span>
   <span class="Constant"> 2</span> <span class="Special">&lt;-</span><span class="Constant"> 121</span>  <span class="Comment"># y</span>
   <span class="Constant"> 3</span> <span class="Special">&lt;-</span><span class="Constant"> 122</span>  <span class="Comment"># z</span>
   <span class="Constant"> 4</span> <span class="Special">&lt;-</span><span class="Constant"> 10</span>  <span class="Comment"># newline</span>
   <span class="Constant"> 5</span> <span class="Special">&lt;-</span><span class="Constant"> 1</span>  <span class="Comment"># eof</span>
  ]
]

<span class="muScenario">scenario</span> write-to-fake-file [
  <span class="Constant">local-scope</span>
  assume-resources [
  ]
  sink:&amp;:sink:char, writer:num/routine <span class="Special">&lt;-</span> start-writing resources, <span class="Constant">[a]</span>
  sink <span class="Special">&lt;-</span> write sink, <span class="Constant">120/x</span>
  sink <span class="Special">&lt;-</span> write sink, <span class="Constant">121/y</span>
  close sink
  wait-for-routine writer
  contents-read-back:text <span class="Special">&lt;-</span> slurp resources, <span class="Constant">[a]</span>
  10:bool/<span class="Special">raw</span> <span class="Special">&lt;-</span> equal contents-read-back, <span class="Constant">[xy]</span>
  memory-should-contain [
   <span class="Constant"> 10</span> <span class="Special">&lt;-</span><span class="Constant"> 1</span>  <span class="Comment"># file contents read back exactly match what was written</span>
  ]
]

<span class="muScenario">scenario</span> write-to-fake-file-that-exists [
  <span class="Constant">local-scope</span>
  assume-resources [
    <span class="Constant">[a]</span> <span class="Special">&lt;-</span> <span class="Constant">[]</span>
  ]
  sink:&amp;:sink:char, writer:num/routine <span class="Special">&lt;-</span> start-writing resources, <span class="Constant">[a]</span>
  sink <span class="Special">&lt;-</span> write sink, <span class="Constant">120/x</span>
  sink <span class="Special">&lt;-</span> write sink, <span class="Constant">121/y</span>
  close sink
  wait-for-routine writer
  contents-read-back:text <span class="Special">&lt;-</span> slurp resources, <span class="Constant">[a]</span>
  10:bool/<span class="Special">raw</span> <span class="Special">&lt;-</span> equal contents-read-back, <span class="Constant">[xy]</span>
  memory-should-contain [
   <span class="Constant"> 10</span> <span class="Special">&lt;-</span><span class="Constant"> 1</span>  <span class="Comment"># file contents read back exactly match what was written</span>
  ]
]

<span class="muScenario">scenario</span> write-to-existing-file-preserves-other-files [
  <span class="Constant">local-scope</span>
  assume-resources [
    <span class="Constant">[a]</span> <span class="Special">&lt;-</span> <span class="Constant">[]</span>
    <span class="Constant">[b]</span> <span class="Special">&lt;-</span> [
<span class="Constant">      |bcd|</span>
    ]
  ]
  sink:&amp;:sink:char, writer:num/routine <span class="Special">&lt;-</span> start-writing resources, <span class="Constant">[a]</span>
  sink <span class="Special">&lt;-</span> write sink, <span class="Constant">120/x</span>
  sink <span class="Special">&lt;-</span> write sink, <span class="Constant">121/y</span>
  close sink
  wait-for-routine writer
  contents-read-back:text <span class="Special">&lt;-</span> slurp resources, <span class="Constant">[a]</span>
  10:bool/<span class="Special">raw</span> <span class="Special">&lt;-</span> equal contents-read-back, <span class="Constant">[xy]</span>
  other-file-contents:text <span class="Special">&lt;-</span> slurp resources, <span class="Constant">[b]</span>
  11:bool/<span class="Special">raw</span> <span class="Special">&lt;-</span> equal other-file-contents, <span class="Constant">[bcd</span>
<span class="Constant">]</span>
  memory-should-contain [
   <span class="Constant"> 10</span> <span class="Special">&lt;-</span><span class="Constant"> 1</span>  <span class="Comment"># file contents read back exactly match what was written</span>
   <span class="Constant"> 11</span> <span class="Special">&lt;-</span><span class="Constant"> 1</span>  <span class="Comment"># other files also continue to persist unchanged</span>
  ]
]

<span class="muRecipe">def</span> slurp resources:&amp;:resources, filename:text<span class="muRecipe"> -&gt; </span>contents:text [
  <span class="Constant">local-scope</span>
  <span class="Constant">load-ingredients</span>
  source:&amp;:source:char <span class="Special">&lt;-</span> start-reading resources, filename
  buf:&amp;:buffer <span class="Special">&lt;-</span> new-buffer <span class="Constant">30/capacity</span>
  <span class="Delimiter">{</span>
    c:char, done?:bool, source <span class="Special">&lt;-</span> read source
    <span class="muControl">break-if</span> done?
    buf <span class="Special">&lt;-</span> append buf, c
    <span class="muControl">loop</span>
  <span class="Delimiter">}</span>
  contents <span class="Special">&lt;-</span> buffer-to-array buf
]
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->