#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include <inttypes.h>#include <stdint.h>#include "m_token.h"#include "m_ms.h"| Defines | |
| #define | MY_LL "ll" | 
| Functions | |
| libmangle_gc_context_t * | libmangle_generate_gc (void) | 
| void | libmangle_release_gc (libmangle_gc_context_t *gc) | 
| uMToken * | gen_tok (libmangle_gc_context_t *gc, enum eMToken kind, enum eMSToken subkind, size_t addend) | 
| void | libmangle_dump_tok (FILE *fp, uMToken *p) | 
| uMToken * | chain_tok (uMToken *l, uMToken *add) | 
| uMToken * | gen_value (libmangle_gc_context_t *gc, enum eMSToken skind, uint64_t val, int is_signed, int size) | 
| uMToken * | gen_name (libmangle_gc_context_t *gc, enum eMSToken skind, const char *name) | 
| uMToken * | gen_dim (libmangle_gc_context_t *gc, enum eMSToken skind, uint64_t val, const char *non_tt_param, int fSigned, int fNegate) | 
| uMToken * | gen_unary (libmangle_gc_context_t *gc, enum eMSToken skind, uMToken *un) | 
| uMToken * | gen_binary (libmangle_gc_context_t *gc, enum eMSToken skind, uMToken *l, uMToken *r) | 
| char * | libmangle_sprint_decl (uMToken *r) | 
| void | libmangle_print_decl (FILE *fp, uMToken *r) | 
| #define MY_LL "ll" | 
Chains uMTokens together.
| [in] | l | uMtoken chain to link up with. | 
| [in] | add | uMtoken to add to chain. | 
| uMToken* gen_binary | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| uMToken * | l, | |||
| uMToken * | r | |||
| ) | 
Generates a binary node token.
| [in] | gc | Pointer to garbage collection context. | 
| [in] | skind | Token subKind. | 
| [in] | l | Left node element. | 
| [in] | r | Right node element. | 
| uMToken* gen_dim | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| uint64_t | val, | |||
| const char * | non_tt_param, | |||
| int | fSigned, | |||
| int | fNegate | |||
| ) | 
Constructs a "dim" kind token.
| [in] | gc | Pointer to garbage collection context. | 
| [in] | skind | Token subkind. | 
| [in] | val | Token numerical value. | 
| [in] | non_tt_param | pointer to decoded C++ template name. | 
| [in] | fSigned | Signedness of the numerical value. | 
| [in] | fNegate | 1 for "val" is negative digit. | 
| uMToken* gen_name | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| const char * | name | |||
| ) | 
Constructs a "name" kind token.
| [in] | gc | Pointer to garbage collection context. | 
| [in] | skind | Token subkind. | 
| [in] | name | Pointer to name string. | 
| uMToken* gen_tok | ( | libmangle_gc_context_t * | gc, | |
| enum eMToken | kind, | |||
| enum eMSToken | subkind, | |||
| size_t | addend | |||
| ) | 
| uMToken* gen_unary | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| uMToken * | un | |||
| ) | 
Constructs a "unary" kind token.
| [in] | gc | Pointer to garbage collection context. | 
| [in] | skind | Token subkind. | 
| [in] | un | Pointer to leaf element. | 
| uMToken* gen_value | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| uint64_t | val, | |||
| int | is_signed, | |||
| int | size | |||
| ) | 
Constructs a "value" kind token.
| [in] | gc | Pointer to garbage collection context. | 
| [in] | skind | Token subkind. | 
| [in] | val | Sets the value on token, | 
| [in] | is_signed | Signed bit of val. | 
| [in] | size | Width of val. | 
| void libmangle_dump_tok | ( | FILE * | fp, | |
| uMToken * | p | |||
| ) | 
| libmangle_gc_context_t* libmangle_generate_gc | ( | void | ) | 
Constructs a garbage collection context token.
| void libmangle_print_decl | ( | FILE * | fp, | |
| uMToken * | p | |||
| ) | 
Prints C++ name to file descriptor.
| [in] | fp | Output file descriptor. | 
| [in] | p | Token containing information about the C++ name. | 
| void libmangle_release_gc | ( | libmangle_gc_context_t * | gc | ) | 
Releases memory tracked by context.
| [in] | gc | Garbage collection context to work on. | 
| char* libmangle_sprint_decl | ( | uMToken * | r | ) | 
Get pointer to decoded C++ name string. Use free() to release returned string.
| [in] | r | C++ name token. | 
 1.6.1
 1.6.1