   
   scopes = []
   scope = {}
+  
+  use_snippets = {}
+  
   push_scope = ->
     scopes.push scope
     new_scope = {}

    
  @Expression::js = ->
    return "#{@left.js()}" unless @op?
    return "#{@left.js()} #{@op.js()} #{@right.js()}"
    
  @UnaryExpression::js = ->
    if @base.type is 'IDENTIFIER'

  
  self = this
  
  @File::js = ->
    i = ''
    scope = {}
    scopes = []
    use_snippets = {}
    code = (statement.js() for statement in @statements).join '\n'
    snip = (snippet for key, snippet of use_snippets).join('\n')
    rv = [snip, code].join '\n' 
    return pop_scope rv, yes, yes
    
  @Statement::js = ->
