 Builders =
   # `script`  
   # This is the main entry point.
+
   'script': (opts={}) ->
     c = new Code
 


  # `regexp`  
  # Regular expressions.
  #
  'regexp': ->
    m     = @value.toString().match(/^\/(.*)\/([a-z]?)/)
    value = m[1]

# `re()`  
# Works like `build()`, except it explicitly states which function should
# handle it. (essentially, *re*routing it to another builder)

re = (type, str, args...) ->
  Builders[type].apply str, args

# `body()`
# Works like `build()`, and is used for code blocks. It cleans up the returned
# code block by removing any extraneous spaces and such.

body = (item, opts={}) ->
  str = build(item, opts)
  str = blockTrim(str)
