microlisp 0.1.0
A small Scheme-subset interpreter in modern C.
Loading...
Searching...
No Matches
Data Structures | Typedefs | Functions
printer.c File Reference
#include "microlisp_internal.h"
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for printer.c:

Data Structures

struct  print_buf
 

Typedefs

typedef struct print_buf print_buf
 

Functions

static microlisp_status emit (ml_out_fn out, void *user, const char *bytes, size_t len)
 
static microlisp_status emit_cstr (ml_out_fn out, void *user, const char *s)
 
static microlisp_status emit_int (ml_out_fn out, void *user, int64_t v)
 
static microlisp_status emit_string_quoted (ml_out_fn out, void *user, const uint8_t *bytes, size_t len)
 
static microlisp_status print_value (ml_state *s, mvalue v, int write_style, ml_out_fn out, void *user)
 
static microlisp_status print_value_inner (ml_state *s, mvalue v, int write_style, ml_out_fn out, void *user)
 
static microlisp_status print_pair_contents (ml_state *s, mvalue v, int write_style, ml_out_fn out, void *user)
 
microlisp_status ml_print (ml_state *s, mvalue v, int write_style, ml_out_fn out, void *user)
 
static microlisp_status print_buf_sink (const void *bytes, size_t len, void *user)
 
microlisp_status ml_print_to_alloc (ml_state *s, mvalue v, int write_style, char **out_bytes, size_t *out_len)
 

Typedef Documentation

◆ print_buf

typedef struct print_buf print_buf

Function Documentation

◆ emit()

static microlisp_status emit ( ml_out_fn  out,
void *  user,
const char *  bytes,
size_t  len 
)
static

◆ emit_cstr()

static microlisp_status emit_cstr ( ml_out_fn  out,
void *  user,
const char *  s 
)
static

◆ emit_int()

static microlisp_status emit_int ( ml_out_fn  out,
void *  user,
int64_t  v 
)
static

◆ emit_string_quoted()

static microlisp_status emit_string_quoted ( ml_out_fn  out,
void *  user,
const uint8_t *  bytes,
size_t  len 
)
static

◆ ml_print()

microlisp_status ml_print ( ml_state s,
mvalue  v,
int  write_style,
ml_out_fn  out,
void *  user 
)

◆ ml_print_to_alloc()

microlisp_status ml_print_to_alloc ( ml_state s,
mvalue  v,
int  write_style,
char **  out_bytes,
size_t *  out_len 
)

◆ print_buf_sink()

static microlisp_status print_buf_sink ( const void *  bytes,
size_t  len,
void *  user 
)
static

◆ print_pair_contents()

static microlisp_status print_pair_contents ( ml_state s,
mvalue  v,
int  write_style,
ml_out_fn  out,
void *  user 
)
static

◆ print_value()

static microlisp_status print_value ( ml_state s,
mvalue  v,
int  write_style,
ml_out_fn  out,
void *  user 
)
static

◆ print_value_inner()

static microlisp_status print_value_inner ( ml_state s,
mvalue  v,
int  write_style,
ml_out_fn  out,
void *  user 
)
static