|
Post Scarcity
A prototype for a post scarcity programming environment
|
#include <ctype.h>#include <stdarg.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <wchar.h>#include <wctype.h>#include "memory/consspaceobject.h"#include "debug.h"#include "memory/dump.h"#include "io/io.h"#include "io/print.h"Go to the source code of this file.
Functions | |
| void | debug_dump_object (struct cons_pointer pointer, int level) |
Like dump_object, q.v., but protected by the verbosity mechanism. | |
| void | debug_print (wchar_t *message, int level) |
print this debug message to stderr, if verbosity matches level. | |
| void | debug_print_128bit (__int128_t n, int level) |
print a 128 bit integer value to stderr, if verbosity matches level. | |
| void | debug_print_object (struct cons_pointer pointer, int level) |
print the object indicated by this pointer to stderr, if verbosity matches level. | |
| void | debug_printf (int level, wchar_t *format,...) |
wprintf adapted for the debug logging system. | |
| void | debug_println (int level) |
print a line feed to stderr, if verbosity matches level. | |
Variables | |
| int | verbosity = 0 |
the controlling flags for debug_print; set in init.c, q.v. | |
| void debug_dump_object | ( | struct cons_pointer | pointer, |
| int | level | ||
| ) |
Like dump_object, q.v., but protected by the verbosity mechanism.
verbosity is a set of flags, see debug_print.h; so you can turn debugging on for only one part of the system.
Definition at line 136 of file debug.c.
References dump_object(), file_to_url_file(), and verbosity.
Referenced by add_2(), add_integers(), compose_body(), free_cell(), lisp_apply(), lisp_cond(), lisp_eval(), lisp_inspect(), lisp_mapcar(), lisp_metadata(), lisp_print(), lisp_read(), lisp_slurp(), log_binding(), main(), make_empty_frame(), make_integer(), make_real(), make_special_frame(), make_stack_frame(), make_vec_pointer(), make_vso(), read_continuation(), read_number(), read_symbol_or_key(), set(), throw_exception(), and zerop().
| void debug_print | ( | wchar_t * | message, |
| int | level | ||
| ) |
print this debug message to stderr, if verbosity matches level.
verbosity is a set of flags, see debug_print.h; so you can turn debugging on for only one part of the system.
Definition at line 41 of file debug.c.
References verbosity.
Referenced by acquire_integer(), add_2(), add_integer_ratio(), add_integers(), add_ratio_ratio(), c_apply(), c_assoc(), c_ratio_to_ld(), compose_body(), deep_bind(), divide_ratio_ratio(), equal(), equal_integer_number(), equal_integer_real(), equal_number_number(), equal_real_number(), eval_form(), eval_lambda(), free_stack_frame(), get_stack_frame(), integer_to_string(), internedp(), lisp_apply(), lisp_cond(), lisp_eval(), lisp_inspect(), lisp_mapcar(), lisp_metadata(), lisp_multiply(), lisp_print(), lisp_ratio_to_real(), lisp_read(), lisp_repl(), lisp_slurp(), lisp_string_to_c_string(), log_binding(), main(), make_empty_frame(), make_integer(), make_ratio(), make_special_frame(), make_stack_frame(), make_vec_pointer(), make_vso(), multiply_2(), multiply_integer_ratio(), multiply_integers(), multiply_ratio_ratio(), read_continuation(), read_list(), read_number(), read_symbol_or_key(), repl(), set(), subtract_ratio_ratio(), throw_exception(), to_long_double(), url_fgetwc(), and zerop().
| void debug_print_128bit | ( | __int128_t | n, |
| int | level | ||
| ) |
print a 128 bit integer value to stderr, if verbosity matches level.
verbosity is a set of flags, see debug_print.h; so you can turn debugging on for only one part of the system.
stolen from https://stackoverflow.com/questions/11656241/how-to-print-uint128-t-number-using-gcc
Definition at line 58 of file debug.c.
References verbosity.
Referenced by add_integers(), cell_value(), and integer_to_string().
| void debug_print_object | ( | struct cons_pointer | pointer, |
| int | level | ||
| ) |
print the object indicated by this pointer to stderr, if verbosity matches level.
verbosity is a set of flags, see debug_print.h; so you can turn debugging on for only one part of the system.
Definition at line 119 of file debug.c.
References file_to_url_file(), print(), and verbosity.
Referenced by add_2(), add_integer_ratio(), add_integers(), add_ratio_ratio(), c_apply(), c_assoc(), c_ratio_to_ld(), deep_bind(), divide_ratio_ratio(), equal(), equal_integer_number(), equal_integer_real(), equal_number_number(), equal_real_number(), eval_form(), eval_lambda(), integer_to_string(), integer_to_string_add_digit(), internedp(), lisp_mapcar(), lisp_multiply(), lisp_ratio_to_real(), lisp_repl(), lisp_string_to_c_string(), make_ratio(), make_stack_frame(), multiply_2(), multiply_integer_ratio(), multiply_integers(), multiply_ratio_ratio(), read_number(), set(), set_reg(), subtract_ratio_ratio(), and to_long_double().
| void debug_printf | ( | int | level, |
| wchar_t * | format, | ||
| ... | |||
| ) |
wprintf adapted for the debug logging system.
Print to stderr only if verbosity matches level. All other arguments as for wprintf.
Definition at line 101 of file debug.c.
References verbosity.
Referenced by acquire_integer(), allocate_cell(), base_partial(), c_ratio_to_ld(), cell_value(), equal(), equal_integer_number(), equal_integer_real(), equal_ld_ld(), equal_number_number(), equal_real_number(), free_cell(), free_hashmap(), free_vso(), get_stack_frame(), initialise_cons_pages(), int128_to_integer(), integer_to_string(), integer_to_string_add_digit(), lisp_mapcar(), lisp_open(), lisp_repl(), lisp_string_to_c_string(), make_cons_page(), make_ratio(), make_stack_frame(), make_string_like_thing(), make_vec_pointer(), make_vso(), multiply_integers(), read_list(), read_number(), release_integer(), set(), set_reg(), simplify_ratio(), to_long_double(), and url_fgetwc().
| void debug_println | ( | int | level | ) |
print a line feed to stderr, if verbosity matches level.
verbosity is a set of flags, see debug_print.h; so you can turn debugging on for only one part of the system.
Definition at line 85 of file debug.c.
References verbosity.
Referenced by add_integers(), c_apply(), c_assoc(), cell_value(), deep_bind(), eval_form(), eval_lambda(), integer_to_string(), integer_to_string_add_digit(), lisp_mapcar(), lisp_multiply(), lisp_repl(), lisp_slurp(), make_ratio(), multiply_integers(), set(), and set_reg().
| int verbosity = 0 |
the controlling flags for debug_print; set in init.c, q.v.
Interpreted as a set o binary flags. The values are controlled by macros with names 'DEBUG_[A_Z]*' in debug.h, q.v.
Definition at line 33 of file debug.c.
Referenced by debug_dump_object(), debug_print(), debug_print_128bit(), debug_print_object(), debug_printf(), debug_println(), and main().