Purple  0.1
Standard Language Specification
Functions | Variables
arguments.c File Reference

Command line interface logic. More...

#include <string.h>
#include "info.h"
#include "utils/arguments.h"
#include "utils/formatting.h"
#include "utils/logging.h"
Include dependency graph for arguments.c:

Functions

error_t parse_opt (int key, char *arg, struct argp_state *state)
 
void parse_args (PurpleArgs *args, int argc, char *argv[])
 

Variables

const char * argp_program_version = PROJECT_NAME_AND_VERS
 
const char * argp_program_bug_address = "[email protected]"
 
static char doc [] = "The standard compiler for the Purple programming language"
 
static char args_doc [] = "PROGRAM"
 
static struct argp_option options []
 
static struct argp argp = {options, parse_opt, args_doc, doc, 0, 0, 0}
 

Detailed Description

Command line interface logic.

Author
Charles Averill
Date
08-Sep-2022

Function Documentation

◆ parse_args()

void parse_args ( PurpleArgs args,
int  argc,
char *  argv[] 
)

◆ parse_opt()

error_t parse_opt ( int  key,
char *  arg,
struct argp_state *  state 
)

Variable Documentation

◆ argp

struct argp argp = {options, parse_opt, args_doc, doc, 0, 0, 0}
static

◆ argp_program_bug_address

const char* argp_program_bug_address = "[email protected]"

◆ argp_program_version

const char* argp_program_version = PROJECT_NAME_AND_VERS

◆ args_doc

char args_doc[] = "PROGRAM"
static

◆ doc

char doc[] = "The standard compiler for the Purple programming language"
static

◆ options

struct argp_option options[]
static
Initial value:
= {
{"logging", 'l', "LEVEL", 0,
"Level of log statements to print (NONE, DEBUG, INFO, WARNING, ERROR, CRITICAL)", 0},
{"clang-executable", 'g', "PATH", 0,
"Alternate path to clang executable (default is \"" DEFAULT_CLANG_EXECUTABLE_PATH "\"", 0},
{"cmd", 'c', "PROGRAM", 0, "Program passed in as a string", 0},
{"output", 'o', "FILE", 0, "Path to the generated LLVM file", 0},
{"quiet", 'q', 0, 0, "Equivalent to --logging=NONE", 0},
{"verbose", 'v', 0, 0, "Equivalent to --logging=DEBUG", 0},
{0},
}
#define DEFAULT_CLANG_EXECUTABLE_PATH
Definition: info.h:17