#!/usr/bin/env python
import re
import sys
import os
import codecs
import locale
from os.path import dirname, join

sys.stdout = codecs.getwriter(sys.stdout.encoding or locale.getpreferredencoding() or 'UTF-8')(sys.stdout)

currentdir = os.getcwd()
os.chdir(dirname(__file__))

from pwpeg import Parser, SyntaxError
from niml.niml import block
from niml.printer import NodeVisitor

parser = Parser(block.instanciate(0))

if __name__ == "__main__":
    for fn in sys.argv[1:]:
        f = open(join(currentdir, fn), "r")
        try:
            root = parser.parse(unicode(f.read(), "utf-8"))
            if not root:
                continue
            sys.stdout.write(NodeVisitor().visit(root))
            sys.stdout.write("\n")
        except SyntaxError as e:
            sys.stderr.write(e.fullmessage())
            sys.stderr.write("\n")
        finally:
            f.close()


