SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Structures | Enumerations | Functions
str_parse.c File Reference

Elementary string parsing. More...

Data Structures

struct  SprStrSplit
 structure to indicate fields in a multi field line More...
 
union  SprScanfDst
 
struct  SprScanfErr
 
struct  SprExprScanErr
 Give detailed feedback on a parse error when looking for the end of an expression. More...
 

Enumerations

enum  SprExprScanCodes {
  SPR_SCAN_BRC, SPR_SCAN_NL, SPR_SCAN_SEMI, SPR_SCAN_COMMA,
  SPR_SCAN_COL, SPR_SCAN_QMARK, SPR_SCAN_OP, SPR_SCAN_SYNTAX,
  SPR_SCAN_OP_SPC, SPR_SCAN_OP_ASSIGN, SPR_SCAN_OP_ORL, SPR_SCAN_OP_ANDL,
  SPR_SCAN_OP_ORB, SPR_SCAN_OP_ANDB, SPR_SCAN_OP_CMP, SPR_SCAN_OP_SHIFT,
  SPR_SCAN_OP_ADD, SPR_SCAN_OP_MUL, SPR_SCAN_OP_POW, SPR_SCAN_OP_MEMBER,
  SPR_SCAN_OP_MSK, SPR_SCAN_COMMENT_C, SPR_SCAN_COMMENT_S, SPR_SCAN_COMMENT_M,
  SPR_SCAN_MOD_NO_NL, SPR_SCAN_MOD_SPC, SPR_SCAN_MOD_POW, SPR_SCAN_MOD_CHR,
  SPR_SCAN_MOD_STRCAT, SPR_SCAN_NLC_DOTS, SPR_SCAN_NLC_BSLASH
}
 Specify when an expression ends: scan until a valid seperator is found. More...
 

Functions

int spr_isspace (unsigned int chr)
 
int spr_isspace0 (unsigned int chr)
 
int spr_isupper (unsigned int chr)
 
int spr_islower (unsigned int chr)
 
int spr_toupper (unsigned int chr)
 
int spr_tolower (unsigned int chr)
 
int spr_isalpha (unsigned int chr)
 
int spr_isalpha_ (unsigned int chr)
 
int spr_isalnum (unsigned int chr)
 
int spr_isalnum_ (unsigned int chr)
 
int spr_isalphax_ (unsigned int chr)
 
int spr_isalnumx_ (unsigned int chr)
 
int spr_isdigit (unsigned int chr)
 
int spr_isxdigit (unsigned int chr)
 
char * spr_str_skip_space (const char *str)
 Skip 0 or more initial spaces. More...
 
char * spr_str_skip_word (const char *str)
 
int spr_str_split (char *str, char **tok, int max_tok, char **rem)
 
int spr_str_split_ref (const char *str, SprStrSplit *tok, int max_tok, const char **rem)
 
char ** spr_str_split_dyn (char *str, int *max_tok)
 
int spr_str_trim_spaces (char *str)
 
int spr_scanf_simple (const char *str, const char *fmt, SprScanfDst *dst, SprScanfErr *err)
 
char * spr_expr_scan (const char *str, int len, unsigned int flags, SprExprScanErr *err)
 

Detailed Description

Elementary string parsing.

Several routines (usualy inline functions) for elementary string parsing. The routines assume (extended) ASCII or UTF8 encoding.

Author
Kris Demuynck
Date
24/01/2008
Bug:

Most routines assume (extended) ASCII or UTF8 encoding.

Special characters such as 'bell' or 'form-feed' are treated as spaces.