# -*- coding: utf-8 -*-

import corpus2


class SyntaxRelation:
    '''
    Przechowuje:
        - referencje do fazy z ktorej powstala anotacja
        - numery tokentow na ktore sklada sie AnnotatedSentence
        - obiekt typu AnnotatedSentence zlozony z tokenow spelniajacych ograniczenia
    '''

    def __init__(self, np_adjp_phrase, tok_idx):
        # wskaznik do frazy NP/AdjP dla ktorej generowana jest relacja skladniowa
        # Obiekt typu annotation.np_adjp_phrase
        self._np_adjp_phrase = np_adjp_phrase

        # pozycje tokenow w zdaniu wchodzacych w sklad wygenerowanego ngramu
        # Sa to pozycje wzgledem poczatku analizowanego zdania
        self.tok_positions = tok_idx

        # nowe `zdanie' (typu AnnotatedSentence), skladajace sie z tokenow wchodzacych w sklad
        # wygenerowanego ngramu. Na rzecz tego `zdania' uruchomiony zostanie operator (operatory WCCL)
        self.ann_sentence = corpus2.AnnotatedSentence()

    def np_adjp_phrase(self):
        return self._np_adjp_phrase

    def tokens_positions(self):
        return self.tok_positions

    def annotated_sentence(self):
        return self.ann_sentence
