     code = code.replace m, (m, start, line)=>
       # @@console.log @@JSON.stringify { m, start, line }
       # compiler = @compiler.clone() # Generate a subcompiler
-      @ .> compiler
+      { compiler } = @
       # console.log '@>' + line.replace(/^\S/, (m)-> ' @lexer.' + m)
       compiler.eval('@>' + line.replace(/^\S/, (m)-> ' @lexer.' + m)).call compiler
       start + line.replace /.+/g, (x)-> '# Processed: ' + x

  # This method allows us to have strings within interpolations within strings,
  # ad infinitum.
  matchWithInterpolations: (regex, delimiter) ->
    tokens = []
    offsetInChunk = delimiter.length
    return null unless @chunk[...offsetInChunk] is delimiter

      # The `1`s are to remove the `#` in `#{`.
      [line, column] = @getLineAndColumnFromChunk offsetInChunk + 1
      {tokens: nested, index} =
        outerLexer.clone().tokenize str[1..], line: line, column: column, untilBalanced: on
      # Skip the trailing `}`.
      index += 1

