new_list
- Create a new list node.
The specified item is assigned to the node's value.
Returns the newly created node.
add_item
- Add a new item to the specified list.
The item is added at the back of the list,
so items added are kept in order.
- A pointer to the beginning of the list is returned (the same as was specified).
include_file
- Process the specified file.
update_unique_id
expand
- Expand the specified macro (or constant).
define_constant
- Define the specified name as an alias for the specified value.
define_macro
- Define a macro by the given name,
parameters and body.
find_macro
- Find the specified macro.
If the specified macro does not exist,
NULL is returned.
concat
- Concatenate two strings,
and return the result.
If the first string is NULL,
then the result consists of the second string.
If need_space is true,
a space is inserted between the two strings.
emit
- Emit the specified string.
This function will be the "gateway" to the output file.
All tokens except
.sub
,
.end
and .namespace
are indented.
All tokens are separated with a space,
)
,
]
,
,
.
new_constant_table
pop_constant_table
delete_constant_table
munge_id
- Generate an identifier based on a macro label or locaal declaration,
or a macro label or local expansion.
- A label declaration looks like: ".label $LABEL:",
from which a normal PIR label is created,
formatted as: "_unique_MACRO_LABEL_?:".
- A label expansion looks like ".$LABEL",
from which a label identifier is generated,
formatted as: "_unique_MACRO_LABEL_?" (note the difference,
there is no colon at the end.
- The same works for local identifiers,
but of course the is_label_declaration argument must be 0 for that.
process_string
- Process the string stored in
buffer
.
First a new yyscan_t object is created,
initialized,
after which the specified buffer is parsed.
Afterwards the yyscan_t object is destroyed.
process_file
- Process the specified file.
print_help
yyerror
- Function for syntax error handling.
main
- Pre-processor main function.
|
|