Skip to content

PrologReader

eaxelson edited this page Feb 8, 2018 · 11 revisions

class PrologReader

A class for reading input in prolog text format and converting it into transducer(s).

The easiest way to create transducers from prolog files are probably the functions hfst.read_prolog_transducer(f, linecount) and hfst.read_prolog_transducer(f).

An example that reads prolog input from file 'testfile.prolog' and creates the corresponding transducers and prints them. If the input cannot be parsed, a message showing the invalid line in prolog input is printed and reading is stopped.

with open('testfile.prolog', 'r') as f:
    try:
        r = hfst.PrologReader(f)
        for tr in r:
            print(tr)
    except hfst.exceptions.NotValidPrologFormatException as e:
        print(e.what())

__init__ (self, f)

Create a PrologReader that reads input from file f.

Parameters:

  • f A python file.

read (self)

Read next transducer.

Read next transducer description in prolog format and return a corresponding transducer.

Throws:


__iter__ (self)

An iterator to the reader.

Needed for 'for ... in' statement.

for transducer in prolog_reader:
    print(transducer)

next (self)

Return next element (for python version 2).

Needed for 'for ... in' statement.

for transducer in prolog_reader:
    print(transducer)

Throws:

  • StopIteration

__next__ (self)

Return next element (for python version 3).

Needed for 'for ... in' statement.

for transducer in prolog_reader:
    print(transducer)

Throws:

  • StopIteration