 			pre.push "const #{name} = programState.peek()"
 			name
 
+	makeNext = (methodName) ->
+		->
+			name = "r#{uid}_#{read.length}"
+			read.push "const #{name} = programState.#{methodName}()"
+			name
+
+	stackish.next = makeNext 'next'
+	stackish.nextChar = makeNext 'nextChar'
+
 	stackish.out = (entry) ->
 		post.push entry
 		return

makeStack = (uid) ->
	stack = []
	pre = []
	int = []
	post = []
	exit = false

	stackish.dump = ->
		int.push """
			#{pre.join '\n'}
			#{read.join '\n'}
			programState.push(#{stack.join ', '})
			#{post.join '\n'}
		"""

		stack = []
		pre = []
		read = []
		post = []

		return
