   # currently does NOT perform semantic validations but rather simply
   # ensures syntax correctness and building the JS object tree structure.
   ###
-
-  normalize = (obj) -> ([ obj.prf, obj.kw ].filter (e) -> e? and !!e).join ':'
-
-  parse: (input, parser=(require 'yang-parser')) ->
+  parse: (input, parser=parser) ->
     try
       input = (parser.parse input) if typeof input is 'string'
     catch e

# which implements the version 1.0 of the YANG language specifications.
###

synth = require 'data-synth'

class YangCompiler

  define: (type, key, value) ->
    _define = (to, type, key, value) ->

            throw @error "[compile:#{source.name}] failed to compile '#{key} #{arg}'", schema
    return output

#
# declare exports
#
exports = module.exports = new Compiler
exports.Compiler = Compiler
exports.Module = class extends synth.Model
  @schema = (s) ->
    obj = (exports.compile s, YANG_V1_SPEC)
    (@extend obj).merge schema: obj
