44 lines
1.4 KiB
C
44 lines
1.4 KiB
C
/**
|
|
* ops/string_ops.h
|
|
*
|
|
* Operations on a Lisp string.
|
|
*
|
|
* (c) 2026 Simon Brooke <simon@journeyman.cc>
|
|
* 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 <uchar.h>
|
|
#include <wchar.h>
|
|
#include <wctype.h>
|
|
|
|
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
|