post-scarcity/src/c/ops/string_ops.h

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