代码拉取完成,页面将自动刷新
/*
* symbol.h - Symbols and symbol-tables
*
*/
#ifndef __SYMBOL_H
#define __SYMBOL_H
#include <stdio.h>
#include <string.h>
#include "util.h"
#include "table.h"
typedef struct S_symbol_ *S_symbol;
/* Make a unique symbol from a given string.
* Different calls to S_Symbol("foo") will yield the same S_symbol
* value, even if the "foo" strings are at different locations. */
S_symbol S_Symbol(string);
/* Extract the underlying string from a symbol */
string S_name(S_symbol);
/* S_table is a mapping from S_symbol->any, where "any" is represented
* here by void* */
typedef struct TAB_table_ *S_table;
/* Make a new table */
S_table S_empty(void);
/* Enter a binding "sym->value" into "t", shadowing but not deleting
* any previous binding of "sym". */
void S_enter(S_table t, S_symbol sym, void *value);
/* Look up the most recent binding of "sym" in "t", or return NULL
* if sym is unbound. */
void *S_look(S_table t, S_symbol sym);
/* Start a new "scope" in "t". Scopes are nested. */
void S_beginScope(S_table t);
/* Remove any bindings entered since the current scope began,
and end the current scope. */
void S_endScope(S_table t);
#endif // !__SYMBOL_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。