#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
Please refer the tutorial ":ref:`tutorial-parse_node`".
"""
__author__ = "Mu Yang <http://muyang.pro>"
__copyright__ = "2018-2021 CKIP Lab"
__license__ = "GPL-3.0"
import warnings
from .base import (
EhnParseReferenceBase,
EhnParseStrHead,
)
################################################################################################################################
[docs]class EhnParseCoindexReference(EhnParseReferenceBase, EhnParseStrHead):
"""E-HowNet Parsing: Coindex Reference Node"""
node_type = "CoindexReference"
def __init__(self, head):
EhnParseReferenceBase.__init__(self)
EhnParseStrHead.__init__(self, head)
def children(self):
return []
@property
def _tree_label(self):
return f"[Reference] ${self.head}"
def dumps(self):
return f"{{{self.head}}}"
def get_coindex(self):
return self.head
################################################################################################################################
[docs]class EhnParseSubjectReference(EhnParseReferenceBase):
"""E-HowNet Parsing: Subject Reference Node"""
node_type = "SubjectReference"
def __init__(self):
EhnParseReferenceBase.__init__(self)
@property
def head(self):
return "$x?"
def children(self):
return []
@property
def _tree_label(self):
return "[SubjectReference] $x?"
@staticmethod
def dumps():
return "{x?}"
def get_coindex(self):
return "x?"
################################################################################################################################
[docs]class EhnParseTildeReference(EhnParseReferenceBase):
"""E-HowNet Parsing: Tilde Reference Node
.. deprecated:: 0.6
"""
node_type = "TildeReference"
def __init__(self):
EhnParseReferenceBase.__init__(self)
warnings.warn("‘~’ is deprecated.", FutureWarning)
@property
def head(self):
return "~"
def children(self):
return []
@staticmethod
def dumps():
return "{~}"