Lexical analyzer components for token processing. More...
#include "lexer_validation.h"
Go to the source code of this file.
Classes | |
struct | tok_t |
Container for token data and metadata. More... | |
struct | tokset_t |
Container for multiple tokens. More... | |
Typedefs | |
typedef enum tokcat_e | tokcat_e |
typedef enum tok_e | tok_e |
typedef struct tok_t | tok_t |
typedef struct tokset_t | tokset_t |
Enumerations | |
enum | tokcat_e { PRE_PROC , SYMBOLS , LITERAL , NFKI_LITERAL } |
Token category enumeration for categorizing different token types in the pre-processing phase. More... | |
enum | tok_e { KEYWORD , OPERATOR , PUNCTUATION , NUMERIC_LITERAL , FLOATING_POINT_LITERAL , CHARACTER_LITERAL , STRING_LITERAL , INVALID_IDENTIFIER , IDENTIFIER , PRE_PROCESSOR_OPERATOR } |
Token type enumeration for categorizing various types of tokens during lexical analysis. More... | |
Functions | |
const char * | toktyp_rval (const tok_e type) |
Returns a string representation of a token type. | |
tok_e | get_toktyp (const char *const value, const tokcat_e type) |
Determines the specific token type from a given token string and its category. | |
tok_t * | tok_ctor () |
Allocates and returns a new token object. | |
tok_t ** | tok_nctor (const size_t n) |
Allocates and returns an array of token objects. | |
tok_t * | tok_ptor (char *value, const tok_e type, const size_t line, const size_t col) |
Creates and initializes a token with given values. | |
void | tok_dtor (tok_t *tok) |
Frees the memory associated with a token. | |
void | printf_tok (const tok_t *const tok) |
Prints the contents of a token to the standard output. | |
bool | fwrite_tok (FILE *fp, const tok_t *const tok) |
Writes the contents of a token to a file. | |
tokset_t * | tokset_ctor () |
Allocates and returns a new token set object. | |
tokset_t * | tokset_ptor (const size_t toksz) |
Creates and initializes a token set with a specified number of tokens. | |
void | tokset_dtor (tokset_t *set) |
Frees the memory associated with a token set. | |
size_t | cnt_toktyp (const tokset_t *const set, const tok_e type) |
Counts the number of tokens of a specific type in a token set. | |
void | printf_tokset (const tokset_t *const set) |
Prints the contents of a token set to the standard output. | |
bool | fwrite_tokset (FILE *fp, const tokset_t *const set) |
Writes the contents of a token set to a file. | |
Lexical analyzer components for token processing.