Skip to content

Commit dbc4bc5

Browse files
committed
Adopted new hyperbase API (0.9.0)
1 parent 0c7975c commit dbc4bc5

2 files changed

Lines changed: 9 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
### Changed
88

9-
- Adopted new hyperbase API (0.9.0) with ParseResult.
9+
- Adopted new hyperbase API (0.9.0).
1010

1111
### Removed
1212

src/hyperbase_parser_ab/parser.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -487,12 +487,8 @@ def _update_atom(self, old: Atom, new: Atom) -> None:
487487
self.temp_atoms.add(uold)
488488
self.orig_atom[unew] = uold
489489

490-
def _replace_atom(self, edge: Hyperedge, old: Atom, new: Atom) -> Hyperedge:
491-
self._update_atom(old, new)
492-
return edge.replace_atom(old, new)
493-
494-
def _insert_edge_with_argrole(self, edge: Hyperedge, arg: Hyperedge, argrole: str, pos: int) -> Hyperedge:
495-
new_edge: Hyperedge = edge.insert_edge_with_argrole(arg, argrole, pos)
490+
def _add_argument(self, edge: Hyperedge, arg: Hyperedge, argrole: str, pos: int) -> Hyperedge:
491+
new_edge: Hyperedge = edge.add_argument(arg, argrole, pos)
496492
old_pred: Atom = edge[0].inner_atom()
497493
new_pred: Atom = new_edge[0].inner_atom()
498494
self._update_atom(old_pred, new_pred)
@@ -752,7 +748,7 @@ def _insert_arg_in_tail(self, edge: Hyperedge, arg: Hyperedge) -> Hyperedge:
752748
elif 'o' not in ars:
753749
ar = 'o'
754750
if ar:
755-
return self._insert_edge_with_argrole(edge, arg, ar, len(edge))
751+
return self._add_argument(edge, arg, ar, len(edge))
756752

757753
new_tail: Hyperedge = self._insert_arg_in_tail(edge[-1], arg)
758754
if new_tail != edge[-1]:
@@ -762,15 +758,15 @@ def _insert_arg_in_tail(self, edge: Hyperedge, arg: Hyperedge) -> Hyperedge:
762758
ars = edge.argroles()
763759
if ars == '':
764760
return edge
765-
return self._insert_edge_with_argrole(edge, arg, 'x', len(edge))
761+
return self._add_argument(edge, arg, 'x', len(edge))
766762

767763
def _insert_spec_rightmost_relation(self, edge: Hyperedge, arg: Hyperedge) -> Hyperedge:
768764
if edge.atom:
769765
return edge
770766
if 'P' in [atom.mt for atom in edge[-1].atoms()]:
771767
return cast(Hyperedge, hedge(list(edge[:-1]) + [self._insert_spec_rightmost_relation(edge[-1], arg)]))
772768
if edge[0].mt == 'P':
773-
return self._insert_edge_with_argrole(edge, arg, 'x', len(edge))
769+
return self._add_argument(edge, arg, 'x', len(edge))
774770
for pos, subedge in reversed(list(enumerate(edge))):
775771
if 'P' in [atom.mt for atom in subedge.atoms()]:
776772
new_edge_list: list[Hyperedge] = list(edge)
@@ -790,7 +786,7 @@ def _process_colon_conjunctions(self, edge: Hyperedge) -> Hyperedge:
790786
# RR
791787
if edge[2].mt == 'S':
792788
# second is specification
793-
return self._insert_edge_with_argrole(edge[1], edge[2], 'x', len(edge[1]))
789+
return self._add_argument(edge[1], edge[2], 'x', len(edge[1]))
794790
# RC
795791
elif edge[2].mt == 'C':
796792
return self._insert_arg_in_tail(edge[1], edge[2])
@@ -799,12 +795,12 @@ def _process_colon_conjunctions(self, edge: Hyperedge) -> Hyperedge:
799795
if edge[2].mt == 'R':
800796
if 's' not in edge[2].argroles():
801797
# concept is subject
802-
return self._insert_edge_with_argrole(edge[2], edge[1], 's', 0)
798+
return self._add_argument(edge[2], edge[1], 's', 0)
803799
# SR
804800
elif edge[1].mt == 'S':
805801
if edge[2].mt == 'R':
806802
# first is specification
807-
return self._insert_edge_with_argrole(edge[2], edge[1], 'x', len(edge[2]))
803+
return self._add_argument(edge[2], edge[1], 'x', len(edge[2]))
808804
return edge
809805

810806
def _fix_argroles(self, edge: Hyperedge) -> Hyperedge:

0 commit comments

Comments
 (0)