forked from GitHub/gf-core
68 lines
1.6 KiB
Python
68 lines
1.6 KiB
Python
import pgf
|
|
import sys
|
|
# import sets
|
|
# import readline
|
|
# import locale
|
|
|
|
sys.stdout.write("loading...")
|
|
sys.stdout.flush();
|
|
gr1 = pgf.readPGF("../haskell/tests/basic.pgf")
|
|
gr2 = pgf.bootNGF("../haskell/tests/basic.pgf", "./basic.ngf")
|
|
gr3 = pgf.readNGF("./basic.ngf")
|
|
sys.stdout.write("done")
|
|
|
|
# source_lang = gr.languages["ParseEng"]
|
|
# target_lang = gr.languages["ParseBul"]
|
|
#
|
|
# we = pgf.readExpr("UttImpSg PPos (ImpVP (UseV try_V))")
|
|
# print source_lang.linearize(we)
|
|
#
|
|
# sys.stdout.write("start cat: "+gr.startCat+"\n\n")
|
|
#
|
|
# class Completer():
|
|
# def __init__(self, lang):
|
|
# self.gr = lang
|
|
#
|
|
# def complete(self, prefix, state):
|
|
# if state == 0:
|
|
# line = readline.get_line_buffer()
|
|
# line = line[0:readline.get_begidx()]
|
|
# self.i = source_lang.complete(line, prefix=prefix)
|
|
# self.tokens = sets.Set()
|
|
#
|
|
# if len(self.tokens) > 50:
|
|
# return None
|
|
#
|
|
# while True:
|
|
# try:
|
|
# (p,t,c) = self.i.next()
|
|
# if t not in self.tokens:
|
|
# self.tokens.add(t)
|
|
# return t
|
|
# except StopIteration:
|
|
# return None
|
|
#
|
|
# completer = Completer(source_lang)
|
|
# readline.set_completer(completer.complete)
|
|
# readline.parse_and_bind("tab: complete")
|
|
# locale.setlocale(locale.LC_CTYPE, "")
|
|
#
|
|
# while True:
|
|
# try:
|
|
# line = raw_input("> ");
|
|
# except EOFError:
|
|
# sys.stdout.write("\n")
|
|
# readline.set_completer(None)
|
|
# break
|
|
# except KeyboardInterrupt:
|
|
# sys.stdout.write("\n")
|
|
# readline.set_completer(None)
|
|
# break
|
|
#
|
|
# try:
|
|
# for (p,e) in source_lang.parse(line, n=1):
|
|
# sys.stdout.write("["+str(p)+"] "+str(e)+"\n")
|
|
# print target_lang.linearize(e)
|
|
# except pgf.ParseError as e:
|
|
# print e.message
|