/** * ops/string_ops.h * * Operations on a Lisp string. * * (c) 2026 Simon Brooke * Licensed under GPL version 2.0, or, at your option, any later version. */ #ifndef __psse_ops_string_ops_h #define __psse_ops_string_ops_h /* * wide characters */ #include #include #include struct pso_pointer make_string_like_thing( struct pso_pointer frame_pointer, wint_t c, struct pso_pointer tail, char *tag ); struct pso_pointer make_string( struct pso_pointer frame_pointer, wint_t c, struct pso_pointer tail ); struct pso_pointer make_keyword( struct pso_pointer frame_pointer, wint_t c, struct pso_pointer tail ); struct pso_pointer make_symbol( struct pso_pointer frame_pointer, wint_t c, struct pso_pointer tail ); struct pso_pointer c_string_to_lisp_string( struct pso_pointer frame_pointer, wchar_t *string ); char *lisp_string_to_c_string( struct pso_pointer s ); struct pso_pointer c_string_to_lisp_keyword( struct pso_pointer frame_pointer, char32_t * symbol ); struct pso_pointer c_string_to_lisp_symbol( struct pso_pointer frame_pointer, char32_t * symbol ); #endif