microlisp 0.1.0
A small Scheme-subset interpreter in modern C.
Loading...
Searching...
No Matches
Functions
reader.c File Reference
#include "microlisp_internal.h"
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for reader.c:

Functions

static int peek (const ml_reader *r)
 
static int advance (ml_reader *r)
 
static int is_whitespace (int c)
 
static int is_terminator (int c)
 
static int is_digit (int c)
 
static int hex_digit (int c)
 
static void skip_ws_and_comments (ml_reader *r)
 
static microlisp_status read_form (ml_state *s, ml_reader *r, mvalue *out)
 
static microlisp_status read_string (ml_state *s, ml_reader *r, mvalue *out)
 
static microlisp_status read_hash (ml_state *s, ml_reader *r, mvalue *out)
 
static microlisp_status read_number (ml_state *s, ml_reader *r, int sign, mvalue *out)
 
static microlisp_status read_symbol (ml_state *s, ml_reader *r, mvalue *out)
 
static microlisp_status read_list (ml_state *s, ml_reader *r, mvalue *out)
 
static microlisp_status read_quote (ml_state *s, ml_reader *r, mvalue *out)
 
microlisp_status ml_read (ml_state *s, ml_reader *r, mvalue *out)
 

Function Documentation

◆ advance()

static int advance ( ml_reader r)
static

◆ hex_digit()

static int hex_digit ( int  c)
static

◆ is_digit()

static int is_digit ( int  c)
static

◆ is_terminator()

static int is_terminator ( int  c)
static

◆ is_whitespace()

static int is_whitespace ( int  c)
static

◆ ml_read()

microlisp_status ml_read ( ml_state s,
ml_reader r,
mvalue out 
)

◆ peek()

static int peek ( const ml_reader r)
static

◆ read_form()

static microlisp_status read_form ( ml_state s,
ml_reader r,
mvalue out 
)
static

◆ read_hash()

static microlisp_status read_hash ( ml_state s,
ml_reader r,
mvalue out 
)
static

◆ read_list()

static microlisp_status read_list ( ml_state s,
ml_reader r,
mvalue out 
)
static

◆ read_number()

static microlisp_status read_number ( ml_state s,
ml_reader r,
int  sign,
mvalue out 
)
static

◆ read_quote()

static microlisp_status read_quote ( ml_state s,
ml_reader r,
mvalue out 
)
static

◆ read_string()

static microlisp_status read_string ( ml_state s,
ml_reader r,
mvalue out 
)
static

◆ read_symbol()

static microlisp_status read_symbol ( ml_state s,
ml_reader r,
mvalue out 
)
static

◆ skip_ws_and_comments()

static void skip_ws_and_comments ( ml_reader r)
static