![]() |
GNU PROLOG with UTF8 support
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <ctype.h>
#include "engine_pl.h"
#include "pl_wchar.h"
#include "linedit.h"
Macros | |
#define | ATOM_FILE |
#define | ERR_ATOM_NIL_INVALID "atom: invalid ATOM_NIL (should be %d)" |
#define | ERR_TABLE_FULL_ENV "Atom table full (max atom: %d, environment variable used: %s)" |
#define | ERR_TABLE_FULL_NO_ENV "Atom table full (max atom: %d - fixed size)" |
#define | GEN_SYM_CHARS "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" |
#define | Gen_Sym_Rand() (gen_sym_rand_next = gen_sym_rand_next * 1103515245 + 12345, (gen_sym_rand_next / 65536 % 32768)) |
#define | TRY_MAX 1 /* 1 seems better than anything else on average ! */ |
Functions | |
static int | Add_Atom (char *name, int len, unsigned hash, AtomInf *patom, Bool allocate) |
static AtomInf * | Locate_Atom (char *name, unsigned hash) |
static unsigned | Hash_String (char *str, int len) |
static void | Error_Table_Full (void) |
void | Pl_Init_Atom (void) |
int | Pl_Create_Allocate_Atom (char *name) |
int | Pl_Create_Atom (char *name) |
WamWord FC | Pl_Create_Atom_Tagged (char *name) |
int | Pl_Find_Atom (char *name) |
int | Pl_Gen_New_Atom (char *prefix) |
int | Pl_Find_Next_Atom (int last_atom) |
int | ATOM_CHAR32 (CHAR32_T c) |
Variables | |
int | pl_char_type [256] |
char | pl_escape_symbol [] = "abfnrtv" |
char | pl_escape_char [] = "\a\b\f\n\r\t\v" |
static char | str_char [256][2] |
#define ATOM_FILE |
#define ERR_TABLE_FULL_ENV "Atom table full (max atom: %d, environment variable used: %s)" |
#define ERR_TABLE_FULL_NO_ENV "Atom table full (max atom: %d - fixed size)" |
#define GEN_SYM_CHARS "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" |
#define Gen_Sym_Rand | ( | ) | (gen_sym_rand_next = gen_sym_rand_next * 1103515245 + 12345, (gen_sym_rand_next / 65536 % 32768)) |
#define TRY_MAX 1 /* 1 seems better than anything else on average ! */ |
int ATOM_CHAR32 | ( | CHAR32_T | c | ) |
|
static |
|
static |
|
static |
int Pl_Create_Allocate_Atom | ( | char * | name | ) |
int Pl_Create_Atom | ( | char * | name | ) |
int Pl_Find_Atom | ( | char * | name | ) |
int Pl_Find_Next_Atom | ( | int | last_atom | ) |
int Pl_Gen_New_Atom | ( | char * | prefix | ) |
void Pl_Init_Atom | ( | void | ) |
int pl_char_type[256] |
char pl_escape_char[] = "\a\b\f\n\r\t\v" |
char pl_escape_symbol[] = "abfnrtv" |
|
static |