Open Broadcaster Software
Free, open source software for live streaming and recording
lexer.h File Reference

Go to the source code of this file.

Data Structures

struct  strref
 
struct  base_token
 
struct  error_item
 
struct  error_data
 
struct  lexer
 

Macros

#define LEX_ERROR   0
 
#define LEX_WARNING   1
 

Enumerations

enum  base_token_type {
  BASETOKEN_NONE, BASETOKEN_ALPHA, BASETOKEN_DIGIT, BASETOKEN_WHITESPACE,
  BASETOKEN_OTHER
}
 
enum  ignore_whitespace { PARSE_WHITESPACE, IGNORE_WHITESPACE }
 

Functions

EXPORT int strref_cmp (const struct strref *str1, const char *str2)
 
EXPORT int strref_cmpi (const struct strref *str1, const char *str2)
 
EXPORT int strref_cmp_strref (const struct strref *str1, const struct strref *str2)
 
EXPORT int strref_cmpi_strref (const struct strref *str1, const struct strref *str2)
 
EXPORT bool valid_int_str (const char *str, size_t n)
 
EXPORT bool valid_float_str (const char *str, size_t n)
 
EXPORT char * error_data_buildstring (struct error_data *ed)
 
EXPORT void error_data_add (struct error_data *ed, const char *file, uint32_t row, uint32_t column, const char *msg, int level)
 
EXPORT bool lexer_getbasetoken (struct lexer *lex, struct base_token *t, enum ignore_whitespace iws)
 
EXPORT void lexer_getstroffset (const struct lexer *lex, const char *str, uint32_t *row, uint32_t *col)
 

Macro Definition Documentation

◆ LEX_ERROR

#define LEX_ERROR   0

◆ LEX_WARNING

#define LEX_WARNING   1

Enumeration Type Documentation

◆ base_token_type

Enumerator
BASETOKEN_NONE 
BASETOKEN_ALPHA 
BASETOKEN_DIGIT 
BASETOKEN_WHITESPACE 
BASETOKEN_OTHER 

◆ ignore_whitespace

Enumerator
PARSE_WHITESPACE 
IGNORE_WHITESPACE 

Function Documentation

◆ error_data_add()

EXPORT void error_data_add ( struct error_data ed,
const char *  file,
uint32_t  row,
uint32_t  column,
const char *  msg,
int  level 
)

◆ error_data_buildstring()

EXPORT char* error_data_buildstring ( struct error_data ed)

◆ lexer_getbasetoken()

EXPORT bool lexer_getbasetoken ( struct lexer lex,
struct base_token t,
enum ignore_whitespace  iws 
)

◆ lexer_getstroffset()

EXPORT void lexer_getstroffset ( const struct lexer lex,
const char *  str,
uint32_t *  row,
uint32_t *  col 
)

◆ strref_cmp()

EXPORT int strref_cmp ( const struct strref str1,
const char *  str2 
)

◆ strref_cmp_strref()

EXPORT int strref_cmp_strref ( const struct strref str1,
const struct strref str2 
)

◆ strref_cmpi()

EXPORT int strref_cmpi ( const struct strref str1,
const char *  str2 
)

◆ strref_cmpi_strref()

EXPORT int strref_cmpi_strref ( const struct strref str1,
const struct strref str2 
)

◆ valid_float_str()

EXPORT bool valid_float_str ( const char *  str,
size_t  n 
)

◆ valid_int_str()

EXPORT bool valid_int_str ( const char *  str,
size_t  n 
)