coan 4.2.4
The Includes Tally component interface.
Collaboration diagram for The Includes Tally component interface.:

Modules

 Macro-generated code

Files

file  includes_tally.c
file  includes_tally.h

Functions

void hash_include_tally (char const *arg, size_t arglen, canonical_string_const_h sym_val)

Function Documentation

void hash_include_tally ( char const *  arg,
size_t  arglen,
canonical_string_const_h  sym_val 
)

Tally an occurrence of an hash-include argument.

Parameters:
argThe start of the hash-include argument.
arglenThe length of the hash-include argumentument.
sym_valWhere the hash-include argument is a defined symmbol, sym_def contains the canonicalised final value of that symbol, else NULL.

If no hash-include argument matching arg exists in in the includes table, then a new hash-include argument is added to the table. If a matching hash-include argument is already in the table then that hash-include argument is given the definition sym_val if sym_val is not NULL and if the existing hash-include argument does not already have that definition. If sym_val is NULL then the matching hash-include argument is made undefined if it currently has a definition.

The occurrence of the hash-include argument is reported on stdout if the same hash-include argument has not already been seen or if --once is not in effect. If the hash-include argument is reported and sym_val is not NULL then the hash-include argument will be reported as a symbol that resolves sym_val.

Definition at line 110 of file includes_tally.c.

References canonical_string_equal(), GET_PUBLIC, hash_include_add(), hash_include_define(), hash_include_definition, hash_include_lookup(), hash_include_new(), hash_include_undefine, and report_include().

Referenced by eval_hash_include().

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines