YAPStringTerm::YAPStringTerm(char *s) { // build string BACKUP_H(); CACHE_REGS seq_tv_t inp, out; inp.val.c = s; inp.type = YAP_STRING_CHARS; out.type = YAP_STRING_STRING; if (Yap_CVT_Text(&inp, &out PASS_REGS)) mk ( out.val.t ); else t = 0L; RECOVER_H(); }
YAPAtomTerm::YAPAtomTerm(wchar_t *s): YAPTerm() { // build string BACKUP_H(); CACHE_REGS seq_tv_t inp, out; inp.val.w = s; inp.type = YAP_STRING_WCHARS; out.type = YAP_STRING_ATOM; if (Yap_CVT_Text(&inp, &out PASS_REGS)) mk ( MkAtomTerm(out.val.a) ); else t = 0L; RECOVER_H(); }
YAPAtomTerm::YAPAtomTerm(char *s, size_t len) { // build string BACKUP_H(); CACHE_REGS seq_tv_t inp, out; inp.val.c = s; inp.type = YAP_STRING_CHARS; out.type = YAP_STRING_ATOM|YAP_STRING_NCHARS|YAP_STRING_TRUNC; out.sz = len; out.max = len; if (Yap_CVT_Text(&inp, &out PASS_REGS)) mk ( MkAtomTerm(out.val.a) ); else t = 0L; RECOVER_H(); }
YAPAtomTerm::YAPAtomTerm(char s[]) { // build string BACKUP_H(); CACHE_REGS seq_tv_t inp, out; inp.enc = LOCAL_encoding; inp.val.c = s; inp.type = YAP_STRING_CHARS; out.type = YAP_STRING_ATOM; if (Yap_CVT_Text(&inp, &out PASS_REGS)) mk(MkAtomTerm(out.val.a)); else t = 0L; RECOVER_H(); }
YAPStringTerm::YAPStringTerm(wchar_t *s, size_t len) : YAPTerm() { // build string BACKUP_H(); CACHE_REGS seq_tv_t inp, out; inp.val.w = s; inp.type = YAP_STRING_WCHARS; out.type = YAP_STRING_STRING|YAP_STRING_NCHARS|YAP_STRING_TRUNC; out.sz = len; out.max = len; if (Yap_CVT_Text(&inp, &out PASS_REGS)) mk ( out.val.t ); else t = 0L; RECOVER_H(); }