potion  0.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
internal.c File Reference

memory allocation and innards More...

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <errno.h>
#include "potion.h"
#include "internal.h"
#include "table.h"
#include "gc.h"
+ Include dependency graph for internal.c:

Go to the source code of this file.

Macros

#define PN_EXIT_ERROR   1
 
#define PN_EXIT_FATAL   2
 
#define pdump(data)   potion_dump(P, data)
 

Functions

PN potion_allocate (Potion *P, PN cl, PN self, PN len)
 
static void potion_init (Potion *P)
 
Potionpotion_create (void *sp)
 the potion API More...
 
void potion_destroy (Potion *P)
 
PN potion_delegated (Potion *P, PN closure, PN self)
 
PN potion_call (Potion *P, PN cl, PN_SIZE argc, PN *volatile argv)
 
PNType potion_kind_of (PN obj)
 
char potion_type_char (PNType type)
 valid signature types syntax.y: arg-type = ('s' | 'S' | 'n' | 'N' | 'b' | 'B' | 'k' | 't' | 'o' | 'O' | '-' | '&') valid signature modifiers: '|' optional, '. More...
 
PN potion_error (Potion *P, PN msg, long lineno, long charno, PN excerpt)
 
PN potion_error_string (Potion *P, PN cl, PN self)
 
void potion_error_init (Potion *P)
 
PN potion_io_error (Potion *P, const char *msg)
 
static char * potion_type_name (Potion *P, PN obj)
 
PN potion_type_error (Potion *P, PN obj)
 
PN potion_type_error_want (Potion *P, const char *param, PN obj, const char *type)
 
void potion_fatal (char *message)
 
void potion_syntax_error (Potion *P, struct PNSource *t, const char *fmt,...)
 
void potion_allocation_error (void)
 
void potion_p (Potion *P, PN x)
 
void potion_esp (void **esp)
 
void potion_dump (Potion *P, PN data)
 
void potion_dump_stack (Potion *P)
 

Variables

PN PN_allocate
 common method names in GC protected area More...
 
PN PN_break
 
PN PN_call
 
PN PN_class
 
PN PN_compile
 
PN PN_continue
 
PN PN_def
 
PN PN_delegated
 
PN PN_else
 
PN PN_elsif
 
PN PN_if
 
PN PN_lookup
 
PN PN_loop
 
PN PN_print
 
PN PN_return
 
PN PN_self
 
PN PN_string
 
PN PN_while
 
PN PN_add
 
PN PN_sub
 
PN PN_mult
 
PN PN_div
 
PN PN_rem
 
PN PN_bitn
 
PN PN_bitl
 
PN PN_bitr
 
PN PN_cmp
 
PN PN_number
 
PN PN_name
 
PN PN_length
 
PN PN_size
 
PN PN_STR0
 
PN PN_extern
 
PN PN_integer
 
PN pn_filenames
 

Detailed Description

memory allocation and innards

(c) 2008 why the lucky stiff, the freelance professor

Definition in file internal.c.

Macro Definition Documentation

#define PN_EXIT_ERROR   1

Definition at line 279 of file internal.c.

#define PN_EXIT_FATAL   2

Definition at line 280 of file internal.c.

#define pdump (   data)    potion_dump(P, data)

Definition at line 324 of file internal.c.

Function Documentation

PN potion_allocate ( Potion P,
PN  cl,
PN  self,
PN  len 
)

Definition at line 25 of file internal.c.

static void potion_init ( Potion P)
static

Definition at line 31 of file internal.c.

Potion* potion_create ( void *  sp)

the potion API

Definition at line 120 of file internal.c.

void potion_destroy ( Potion P)

Definition at line 133 of file internal.c.

PN potion_delegated ( Potion P,
PN  closure,
PN  self 
)

Definition at line 137 of file internal.c.

PN potion_call ( Potion P,
PN  cl,
PN_SIZE  argc,
PN *volatile  argv 
)

Definition at line 143 of file internal.c.

PNType potion_kind_of ( PN  obj)

Definition at line 195 of file internal.c.

char potion_type_char ( PNType  type)

valid signature types syntax.y: arg-type = ('s' | 'S' | 'n' | 'N' | 'b' | 'B' | 'k' | 't' | 'o' | 'O' | '-' | '&') valid signature modifiers: '|' optional, '.

' end, ':' default

Definition at line 202 of file internal.c.

PN potion_error ( Potion P,
PN  msg,
long  lineno,
long  charno,
PN  excerpt 
)

Definition at line 232 of file internal.c.

PN potion_error_string ( Potion P,
PN  cl,
PN  self 
)

Definition at line 241 of file internal.c.

void potion_error_init ( Potion P)

Definition at line 250 of file internal.c.

PN potion_io_error ( Potion P,
const char *  msg 
)

Definition at line 255 of file internal.c.

static char* potion_type_name ( Potion P,
PN  obj 
)
inlinestatic

Definition at line 260 of file internal.c.

PN potion_type_error ( Potion P,
PN  obj 
)

Definition at line 269 of file internal.c.

PN potion_type_error_want ( Potion P,
const char *  param,
PN  obj,
const char *  type 
)

Definition at line 273 of file internal.c.

void potion_fatal ( char *  message)

Definition at line 282 of file internal.c.

void potion_syntax_error ( Potion P,
struct PNSource t,
const char *  fmt,
  ... 
)

Definition at line 289 of file internal.c.

void potion_allocation_error ( void  )

Definition at line 301 of file internal.c.

void potion_p ( Potion P,
PN  x 
)

Definition at line 306 of file internal.c.

void potion_esp ( void **  esp)

Definition at line 311 of file internal.c.

void potion_dump ( Potion P,
PN  data 
)

Definition at line 317 of file internal.c.

void potion_dump_stack ( Potion P)

Definition at line 326 of file internal.c.

Variable Documentation

PN PN_allocate

common method names in GC protected area

Definition at line 14 of file internal.c.

PN PN_break

Definition at line 14 of file internal.c.

PN PN_call

Definition at line 14 of file internal.c.

PN PN_class

Definition at line 14 of file internal.c.

PN PN_compile

Definition at line 14 of file internal.c.

PN PN_continue

Definition at line 14 of file internal.c.

PN PN_def

Definition at line 14 of file internal.c.

PN PN_delegated

Definition at line 14 of file internal.c.

PN PN_else

Definition at line 14 of file internal.c.

PN PN_elsif

Definition at line 14 of file internal.c.

PN PN_if

Definition at line 14 of file internal.c.

PN PN_lookup

Definition at line 14 of file internal.c.

PN PN_loop

Definition at line 14 of file internal.c.

PN PN_print

Definition at line 14 of file internal.c.

PN PN_return

Definition at line 14 of file internal.c.

PN PN_self

Definition at line 14 of file internal.c.

PN PN_string

Definition at line 14 of file internal.c.

PN PN_while

Definition at line 14 of file internal.c.

PN PN_add

Definition at line 17 of file internal.c.

PN PN_sub

Definition at line 17 of file internal.c.

PN PN_mult

Definition at line 17 of file internal.c.

PN PN_div

Definition at line 17 of file internal.c.

PN PN_rem

Definition at line 17 of file internal.c.

PN PN_bitn

Definition at line 17 of file internal.c.

PN PN_bitl

Definition at line 17 of file internal.c.

PN PN_bitr

Definition at line 17 of file internal.c.

PN PN_cmp

Definition at line 18 of file internal.c.

PN PN_number

Definition at line 18 of file internal.c.

PN PN_name

Definition at line 18 of file internal.c.

PN PN_length

Definition at line 18 of file internal.c.

PN PN_size

Definition at line 18 of file internal.c.

PN PN_STR0

Definition at line 18 of file internal.c.

PN PN_extern

Definition at line 19 of file internal.c.

PN PN_integer

Definition at line 19 of file internal.c.

PN pn_filenames

Definition at line 23 of file internal.c.