i3
Data Structures | Macros | Typedefs | Functions | Variables
config_parser.c File Reference
#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"
Include dependency graph for config_parser.c:

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 ConfigResultparse_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
 

Macro Definition Documentation

#define I3__FILE__   "config_parser.c"

Definition at line 2 of file config_parser.c.

#define y (   x,
  ... 
)    yajl_gen_ ## x (command_output.json_gen, ##__VA_ARGS__)

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 Documentation

typedef struct token cmdp_token
typedef struct tokenptr cmdp_token_ptr

Function Documentation

static void clear_stack ( void  )
static
static const long get_long ( const char *  identifier)
static

Definition at line 153 of file config_parser.c.

References stack_entry::num, stack, and stack_entry::val.

Referenced by GENERATED_call().

static const char* get_string ( const char *  identifier)
static

Definition at line 143 of file config_parser.c.

References stack, stack_entry::str, and stack_entry::val.

static void next_state ( const cmdp_token token)
static
struct ConfigResult* parse_config ( const char *  input,
struct context context 
)
read
static void push_long ( const char *  identifier,
long  num 
)
static
static void push_string ( const char *  identifier,
const char *  str 
)
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().

Here is the call graph for this function:

static char* single_line ( const char *  start)
static

Definition at line 290 of file config_parser.c.

References sstrdup().

Referenced by parse_config().

Here is the call graph for this function:

static const char* start_of_line ( const char *  walk,
const char *  beginning 
)
static

Definition at line 276 of file config_parser.c.

Referenced by parse_config().

Variable Documentation

struct ConfigResult command_output
static

Definition at line 227 of file config_parser.c.

Referenced by next_state(), and parse_config().

Match current_match
static

Definition at line 225 of file config_parser.c.

Referenced by parse_config().

struct stack_entry stack[10]
static

Definition at line 87 of file config_parser.c.

Referenced by clear_stack(), get_long(), get_string(), push_long(), and push_string().

cmdp_state state
static

Definition at line 224 of file config_parser.c.

Referenced by next_state(), and parse_config().

cmdp_state statelist[10] = { INITIAL }
static

Definition at line 234 of file config_parser.c.

Referenced by next_state(), and parse_config().

int statelist_idx = 1
static

Definition at line 236 of file config_parser.c.

Referenced by next_state(), and parse_config().

struct ConfigResult subcommand_output
static

Definition at line 226 of file config_parser.c.

Referenced by next_state(), and parse_config().