 
   # Changes placeholder to real expression
 
-  defp insert_quotes({:__EEX__, _, [key]}, dict) do
-    {^key, value} = List.keyfind dict, key, 0
+  defp insert_quoted({:__EEX__, _, [key]}, quoted) do
+    {^key, value} = List.keyfind quoted, key, 0
     value
   end
 
-  defp insert_quotes({left, line, right}, dict) do
-    {insert_quotes(left, dict), line, insert_quotes(right, dict)}
+  defp insert_quoted({left, line, right}, quoted) do
+    {insert_quoted(left, quoted), line, insert_quoted(right, quoted)}
   end
 
-  defp insert_quotes({left, right}, dict) do
-    {insert_quotes(left, dict), insert_quotes(right, dict)}
+  defp insert_quoted({left, right}, quoted) do
+    {insert_quoted(left, quoted), insert_quoted(right, quoted)}
   end
 
-  defp insert_quotes(list, dict) when is_list(list) do
-    Enum.map list, &insert_quotes(&1, dict)
+  defp insert_quoted(list, quoted) when is_list(list) do
+    Enum.map list, &insert_quoted(&1, quoted)
   end
 
-  defp insert_quotes(other, _dict) do
+  defp insert_quoted(other, _quoted) do
     other
   end
 end

defrecord EEx.State, engine: EEx.SmartEngine, dict: [], file: "nofile", line: 1, start_line: 1

defmodule EEx.Compiler do
  @moduledoc false


  and the engine together by handling the tokens and invoking
  the engine every time a full expression or text is received.
  """
  def compile(source, opts) do
    file   = opts[:file] || "nofile"
    line   = opts[:line] || 1
    tokens = EEx.Tokenizer.tokenize(source, line)
    state  = %{engine: opts[:engine] || EEx.SmartEngine,
               file: file, line: line, quoted: [], start_line: nil}
    generate_buffer(tokens, "", [], state)
  end

