i3
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdint.h>
#include "all.h"
#include "GENERATED_config_enums.h"
#include "GENERATED_config_tokens.h"
#include "GENERATED_config_call.h"
Go to the source code of this file.
Data Structures | |
struct | token |
struct | tokenptr |
struct | stack_entry |
Macros | |
#define | I3__FILE__ "config_parser.c" |
#define | y(x,...) yajl_gen_ ## x (command_output.json_gen, ##__VA_ARGS__) |
#define | ystr(str) yajl_gen_string(command_output.json_gen, (unsigned char*)str, strlen(str)) |
Typedefs | |
typedef struct token | cmdp_token |
typedef struct tokenptr | cmdp_token_ptr |
Functions | |
static void | push_string (const char *identifier, const char *str) |
static void | push_long (const char *identifier, long num) |
static const char * | get_string (const char *identifier) |
static const long | get_long (const char *identifier) |
static void | clear_stack (void) |
static void | next_state (const cmdp_token *token) |
static const char * | start_of_line (const char *walk, const char *beginning) |
static char * | single_line (const char *start) |
struct ConfigResult * | parse_config (const char *input, struct context *context) |
Variables | |
static struct stack_entry | stack [10] |
static cmdp_state | state |
static Match | current_match |
static struct ConfigResult | subcommand_output |
static struct ConfigResult | command_output |
static cmdp_state | statelist [10] = { INITIAL } |
static int | statelist_idx = 1 |
#define I3__FILE__ "config_parser.c" |
Definition at line 2 of file config_parser.c.
Definition at line 38 of file config_parser.c.
#define ystr | ( | str | ) | yajl_gen_string(command_output.json_gen, (unsigned char*)str, strlen(str)) |
Definition at line 39 of file config_parser.c.
Referenced by parse_config().
typedef struct token cmdp_token |
typedef struct tokenptr cmdp_token_ptr |
|
static |
Definition at line 163 of file config_parser.c.
References stack_entry::identifier, stack_entry::num, stack, stack_entry::STACK_STR, stack_entry::str, stack_entry::type, and stack_entry::val.
Referenced by next_state(), and parse_config().
|
static |
Definition at line 153 of file config_parser.c.
References stack_entry::num, stack, and stack_entry::val.
Referenced by GENERATED_call().
|
static |
Definition at line 143 of file config_parser.c.
References stack, stack_entry::str, and stack_entry::val.
|
static |
Definition at line 241 of file config_parser.c.
References __CALL, token::call_identifier, clear_stack(), command_output, token::extra, GENERATED_call(), INITIAL, ConfigResult::json_gen, ConfigResult::next_state, token::next_state, state, statelist, statelist_idx, and subcommand_output.
Referenced by parse_config().
|
read |
Definition at line 298 of file config_parser.c.
References tokenptr::array, clear_stack(), command_output, current_match, DLOG, ELOG, context::filename, context::has_errors, token::identifier, INITIAL, ConfigResult::json_gen, tokenptr::n, token::name, next_state(), push_long(), push_string(), sasprintf(), scalloc(), single_line(), smalloc(), start_of_line(), state, statelist, statelist_idx, subcommand_output, tokens, y, and ystr.
Referenced by parse_file().
|
static |
Definition at line 122 of file config_parser.c.
References stack_entry::identifier, stack_entry::num, stack, stack_entry::STACK_LONG, stack_entry::type, and stack_entry::val.
Referenced by parse_config().
|
static |
Definition at line 94 of file config_parser.c.
References stack_entry::identifier, sasprintf(), sstrdup(), stack, stack_entry::STACK_STR, stack_entry::str, stack_entry::type, and stack_entry::val.
Referenced by parse_config().
|
static |
Definition at line 290 of file config_parser.c.
References sstrdup().
Referenced by parse_config().
|
static |
Definition at line 276 of file config_parser.c.
Referenced by parse_config().
|
static |
Definition at line 227 of file config_parser.c.
Referenced by next_state(), and parse_config().
|
static |
Definition at line 225 of file config_parser.c.
Referenced by parse_config().
|
static |
Definition at line 87 of file config_parser.c.
Referenced by clear_stack(), get_long(), get_string(), push_long(), and push_string().
|
static |
Definition at line 224 of file config_parser.c.
Referenced by next_state(), and parse_config().
|
static |
Definition at line 234 of file config_parser.c.
Referenced by next_state(), and parse_config().
|
static |
Definition at line 236 of file config_parser.c.
Referenced by next_state(), and parse_config().
|
static |
Definition at line 226 of file config_parser.c.
Referenced by next_state(), and parse_config().