function t(s, f) {
  isNaN(s.startOffset) === !0 ? (s.startOffset = f.startOffset, s.endOffset = f.endOffset) : s.endOffset < f.endOffset && (s.endOffset = f.endOffset);
}
function O(s, f) {
  isNaN(s.startOffset) === !0 ? (s.startOffset = f.startOffset, s.startColumn = f.startColumn, s.startLine = f.startLine, s.endOffset = f.endOffset, s.endColumn = f.endColumn, s.endLine = f.endLine) : s.endOffset < f.endOffset && (s.endOffset = f.endOffset, s.endColumn = f.endColumn, s.endLine = f.endLine);
}
function d(s, f, e) {
  s.children[e] === void 0 ? s.children[e] = [f] : s.children[e].push(f);
}
function l(s, f, e) {
  s.children[f] === void 0 ? s.children[f] = [e] : s.children[f].push(e);
}
export {
  l as addNoneTerminalToCst,
  d as addTerminalToCst,
  O as setNodeLocationFull,
  t as setNodeLocationOnlyOffset
};
