public Rule Smarts() {
        return NodeSequence(
                FirstOf(
                        Sequence(FirstOf("...", ". . ."), push(new SimpleNode(Type.Ellipsis))),
                        Sequence("---", push(new SimpleNode(Type.Emdash))),
                        Sequence("--", push(new SimpleNode(Type.Endash))),
                        Sequence('\'', push(new SimpleNode(Type.Apostrophe)))
                )
        );
    }
public Rule Smarts ( ) { return NodeSequence ( FirstOf ( Sequence ( FirstOf ( "..." , ". . ." ) , push ( new SimpleNode ( Type . Ellipsis ) ) ) , Sequence ( "---" , push ( new SimpleNode ( Type . Emdash ) ) ) , Sequence ( "--" , push ( new SimpleNode ( Type . Endash ) ) ) , Sequence ( '\'' , push ( new SimpleNode ( Type . Apostrophe ) ) ) ) ) ; }
************* SMARTS ****************