minimal code
This commit is contained in:
@@ -30,3 +30,23 @@ body
|
|||||||
{ margin: 0.5em
|
{ margin: 0.5em
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.stack-view
|
||||||
|
{}
|
||||||
|
|
||||||
|
.dump-view
|
||||||
|
{}
|
||||||
|
|
||||||
|
.heap-view
|
||||||
|
{}
|
||||||
|
|
||||||
|
.code-view
|
||||||
|
{ display: grid
|
||||||
|
}
|
||||||
|
|
||||||
|
.code-view.instr
|
||||||
|
{ }
|
||||||
|
|
||||||
|
.code-view > .instr:nth-of-type(odd)
|
||||||
|
{ background: #00000032;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,24 +36,33 @@
|
|||||||
;------------------------------------------------------------------------------;
|
;------------------------------------------------------------------------------;
|
||||||
|
|
||||||
(defn Stack []
|
(defn Stack []
|
||||||
[:div {:class "pane-content"}
|
[:div {:class "pane-content stack-view"}
|
||||||
[:h1 "Stack"]])
|
[:h1 "Stack"]])
|
||||||
|
|
||||||
(defn Dump []
|
(defn Dump []
|
||||||
[:div {:class "pane-content"}
|
[:div {:class "pane-content dump-view"}
|
||||||
[:h1 "Dump"]])
|
[:h1 "Dump"]])
|
||||||
|
|
||||||
(defn Heap []
|
(defn Heap []
|
||||||
[:div {:class "pane-content"}
|
[:div {:class "pane-content heap-view"}
|
||||||
[:h1 "Heap"]])
|
[:h1 "Heap"]])
|
||||||
|
|
||||||
(defn Code []
|
|
||||||
[:div {:class "pane-content"}
|
|
||||||
[:h1 "Code"]])
|
|
||||||
|
|
||||||
;------------------------------------------------------------------------------;
|
;------------------------------------------------------------------------------;
|
||||||
|
|
||||||
(defn GM [{st :st}]
|
(defn ppr-instr [{op :tag c :contents}]
|
||||||
|
(str op " " c))
|
||||||
|
|
||||||
|
(defn Instr [instr]
|
||||||
|
[:code {:class "instr"}
|
||||||
|
(ppr-instr instr)])
|
||||||
|
|
||||||
|
(defn Code [code]
|
||||||
|
[:div {:class "pane-content code-view"}
|
||||||
|
[:<> (map Instr code)]])
|
||||||
|
|
||||||
|
;------------------------------------------------------------------------------;
|
||||||
|
|
||||||
|
(defn GM [{code :_gmCode}]
|
||||||
[Root {:direction "horizontal"}
|
[Root {:direction "horizontal"}
|
||||||
[Pane {:order 0 :initialSize "0.333fr"}
|
[Pane {:order 0 :initialSize "0.333fr"}
|
||||||
[Heap]]
|
[Heap]]
|
||||||
@@ -64,7 +73,7 @@
|
|||||||
[Stack]]
|
[Stack]]
|
||||||
[Splitter {:order 1 :size +split-width+}]
|
[Splitter {:order 1 :size +split-width+}]
|
||||||
[Pane {:order 2 :initialSize "0.2fr"}
|
[Pane {:order 2 :initialSize "0.2fr"}
|
||||||
[Code]]]]
|
[Code code]]]]
|
||||||
[Splitter {:order 3 :size +split-width+}]
|
[Splitter {:order 3 :size +split-width+}]
|
||||||
[Pane {:order 5 :initialSize "0.333fr"}
|
[Pane {:order 5 :initialSize "0.333fr"}
|
||||||
[Dump]]])
|
[Dump]]])
|
||||||
@@ -75,6 +84,6 @@
|
|||||||
(if-let [st (nth @current-evaluation
|
(if-let [st (nth @current-evaluation
|
||||||
@current-index
|
@current-index
|
||||||
nil)]
|
nil)]
|
||||||
[GM {:st st}]
|
[GM st]
|
||||||
[:h1 "no evaluation"]))
|
[:h1 "no evaluation"]))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user