ccgjs
Version:
A combinatory categorial grammar (CCG) library for the web.
52 lines (51 loc) • 1.35 kB
TypeScript
import { MachineReadableCCGNodeT, MachineReadableCCGNodeL } from './ccg.reader';
export declare type NodeT = MachineReadableCCGNodeT & {
nIndex?: number;
};
export declare type NodeL = MachineReadableCCGNodeL & {
nIndex?: number;
wIndex?: number;
};
export declare type Node = {
value: NodeT | NodeL;
left?: Node;
right?: Node;
};
export declare type Derivation = {
from: number;
to: number;
ccgCat: string;
opr?: string;
};
export declare type Metadata = {
isParsed: boolean;
sentence: string;
words: Array<string>;
ccgCats: Array<string>;
derivations?: Array<Array<Derivation>>;
height: number;
nodes: Array<Node>;
};
export declare type IndexedWordMapper = {
[key: number]: Node;
};
export declare type ToStringOptions = {
pretty?: boolean;
};
export default class Tree {
root?: Node;
metadata?: Metadata;
mappedIndexedWords?: IndexedWordMapper;
private stringBuilder?;
constructor(str?: string);
traverse(fn: Function): any;
toString(opts?: ToStringOptions): string;
buildDerivations(): Array<Array<Derivation>>;
private constructTree;
private buildTree;
private buildTreeUtil;
private toStringUtil;
private isNodeT;
private isNodeL;
private buildDerivUtil;
}