--- /dev/null
+Split←{
+ blocknums ← +`𝕨
+ # Set entries in blocknums to -1 when they correspond with delimiters.
+ blocknums ↩ (¯1¨)⌾(𝕨⊸/) blocknums
+ blocknums⊔𝕩
+}
+
+Prep1Proc←{ # Prepare one step of procedure
+ # Converts "move 3 from 1 to 3" into [⟨1,3⟩,⟨1,3⟩,⟨1,3⟩].
+ ⟨n,f,t⟩←•ParseFloat¨⟨1,3,5⟩⊏(' '=𝕩)Split𝕩
+ ⟨n⟩/[⟨f,t⟩]
+}
+
+Prep←{
+ ⟨rawmap, rawproc⟩←(""⊸≡¨𝕩)Split𝕩
+ map0←{(𝕩≠' ')/𝕩}¨<˘⍉⌽>¯1↓rawmap
+ map1←⟨""⟩∾(1=4|↕≠map0)/map0
+ proc←∾Prep1Proc¨rawproc
+ ⟨map1, proc⟩
+}
+
+•Show Prep •file.Lines ⊑•args