Go to the documentation of this file.
96 #ifndef __CCP4_Parser__
97 #define __CCP4_Parser__
115 #define CCP4_PARSER_MAXLINELENGTH 200
116 #define CCP4_PARSER_MAXFILENAMELENGTH 200
188 const char *nulldelim);
192 const double min_exponent);
233 char *
strtoupper (
char *str1,
const char *str2);
235 char *
strtolower (
char *str1,
const char *str2);
237 int strmatch (
const char *str1,
const char *str2);
239 int charmatch(
const char character,
const char *charlist);
241 int doublefromstr(
const char *str,
const double max_exp,
const double min_exp,
242 double *valuePtr,
double *intvaluePtr,
int *intdigitsPtr,
243 double *frcvaluePtr,
int *frcdigitsPtr,
244 double *expvaluePtr,
int *expdigitsPtr);
263 const char *
symop_to_mat4(
const char *symchs_begin,
const char *symchs_end,
float *rot);
285 char *
mat4_to_symop(
char *symchs_begin,
char *symchs_end,
const float rsm[4][4]);
void ccp4_signal(const int, const char *const, void(*)())
Definition: library_err.c:278
ccp4_symop mat4_to_rotandtrn(const float rsm[4][4])
Definition: ccp4_parser.c:1564
int ccp4_parse_comments(CCP4PARSERARRAY *parsePtr, const char *comment_chars)
Definition: ccp4_parser.c:315
int ccp4_keymatch(const char *keyin1, const char *keyin2)
Definition: ccp4_parser.c:1012
int ccp4_parser(char *line, const int nchars, CCP4PARSERARRAY *parser, const int print)
Definition: ccp4_parser.c:742
CCP4PARSERTOKEN * token
Definition: ccp4_parser.h:153
const char * symop_to_mat4(const char *symchs_begin, const char *symchs_end, float *rot)
Definition: ccp4_parser.c:1398
int ccp4_parse_comments(CCP4PARSERARRAY *parsePtr, const char *comment_chars)
Definition: ccp4_parser.c:315
int ccp4_keymatch(const char *keyin1, const char *keyin2)
Definition: ccp4_parser.c:1012
int ccp4_parse_maxmin(CCP4PARSERARRAY *parsePtr, const double max_exponent, const double min_exponent)
Definition: ccp4_parser.c:363
char * mat4_to_recip_symop(char *symchs_begin, char *symchs_end, const float rsm[4][4])
Definition: ccp4_parser.c:1737
char * rotandtrn_to_symop(char *symchs_begin, char *symchs_end, const ccp4_symop symop)
Definition: ccp4_parser.c:1587
char * delim
Definition: ccp4_parser.h:157
char * strtoupper(char *str1, const char *str2)
Definition: ccp4_parser.c:1056
int maxtokens
Definition: ccp4_parser.h:156
FILE * fp
Definition: ccp4_parser.h:155
ccp4_symop symop_to_rotandtrn(const char *symchs_begin, const char *symchs_end)
Definition: ccp4_parser.c:1356
double min_exponent
Definition: ccp4_parser.h:161
int ccp4_parse_reset(CCP4PARSERARRAY *parsePtr)
Definition: ccp4_parser.c:214
int ccp4_parse_end(CCP4PARSERARRAY *parsePtr)
Definition: ccp4_parser.c:143
void * ccp4_utils_malloc(size_t)
Definition: library_utils.c:401
int strmatch(const char *str1, const char *str2)
Definition: ccp4_parser.c:1094
int doublefromstr(const char *str, const double max_exp, const double min_exp, double *valuePtr, double *intvaluePtr, int *intdigitsPtr, double *frcvaluePtr, int *frcdigitsPtr, double *expvaluePtr, int *expdigitsPtr)
Definition: ccp4_parser.c:1174
int ccp4_parse_reset(CCP4PARSERARRAY *parsePtr)
Definition: ccp4_parser.c:214
int ccp4_parse_delimiters(CCP4PARSERARRAY *parsePtr, const char *delim, const char *nulldelim)
Definition: ccp4_parser.c:241
void rotandtrn_to_mat4(float rsm[4][4], const ccp4_symop symop)
Definition: ccp4_parser.c:1599
char word[5]
Definition: ccp4_parser.h:129
CCP4PARSERARRAY * ccp4_parse_start(const int maxtokens)
Definition: ccp4_parser.c:71
struct ccp4_symop_ ccp4_symop
CCP4 Parser token Construct to hold the information about a single token.
Definition: ccp4_parser.h:127
int doublefromstr(const char *str, const double max_exp, const double min_exp, double *valuePtr, double *intvaluePtr, int *intdigitsPtr, double *frcvaluePtr, int *frcdigitsPtr, double *expvaluePtr, int *expdigitsPtr)
Definition: ccp4_parser.c:1174
CCP4PARSERARRAY * ccp4_parse_start(const int maxtokens)
Definition: ccp4_parser.c:71
int ccp4_parse_delimiters(CCP4PARSERARRAY *parsePtr, const char *delim, const char *nulldelim)
Definition: ccp4_parser.c:241
int isnumber
Definition: ccp4_parser.h:133
int ccp4_parser(char *line, const int n, CCP4PARSERARRAY *parser, const int print)
Definition: ccp4_parser.c:742
void rotandtrn_to_mat4(float rsm[4][4], const ccp4_symop symop)
Definition: ccp4_parser.c:1599
int charmatch(const char character, const char *charlist)
Definition: ccp4_parser.c:1124
char * strtoupper(char *str1, const char *str2)
Definition: ccp4_parser.c:1056
double max_exponent
Definition: ccp4_parser.h:160
char * mat4_to_symop(char *symchs_begin, char *symchs_end, const float rsm[4][4])
Definition: ccp4_parser.c:1625
int charmatch(const char character, const char *charlist)
Definition: ccp4_parser.c:1124
Kevin's symmetry operator.
Definition: ccp4_spg.h:48
int intdigits
Definition: ccp4_parser.h:134
Functions to read in and "parse" CCP4-style keyworded input.
char * mat4_to_symop(char *symchs_begin, char *symchs_end, const float rsm[4][4])
Definition: ccp4_parser.c:1625
int ccp4_parse(const char *line, CCP4PARSERARRAY *parser)
Definition: ccp4_parser.c:411
int isnull
Definition: ccp4_parser.h:139
int frcdigits
Definition: ccp4_parser.h:136
int ccp4_parse_init_token(const CCP4PARSERARRAY *parsePtr, const int itok)
Definition: ccp4_parser.c:175
const char * symop_to_mat4(const char *symchs_begin, const char *symchs_end, float *rot)
Definition: ccp4_parser.c:1398
int ccp4_parse(const char *line, CCP4PARSERARRAY *parser)
Definition: ccp4_parser.c:411
int ibeg
Definition: ccp4_parser.h:140
double value
Definition: ccp4_parser.h:130
int ccp4_parse_init_token(const CCP4PARSERARRAY *parsePtr, const int itok)
Definition: ccp4_parser.c:175
float trn[3]
Definition: ccp4_spg.h:51
System-dependent definitions.
int strlength
Definition: ccp4_parser.h:132
char * fullstring
Definition: ccp4_parser.h:128
ccp4_symop mat4_to_rotandtrn(const float rsm[4][4])
Definition: ccp4_parser.c:1564
ccp4_symop symop_to_rotandtrn(const char *symchs_begin, const char *symchs_end)
Definition: ccp4_parser.c:1356
char * nulldelim
Definition: ccp4_parser.h:158
CCP4 Parser array Construct to hold the information about a parsed line.
Definition: ccp4_parser.h:149
Data structure for symmetry information.
int ccp4_parse_maxmin(CCP4PARSERARRAY *parsePtr, const double max_exponent, const double min_exponent)
Definition: ccp4_parser.c:363
int isquoted
Definition: ccp4_parser.h:138
Header file for error handling routines Error codes based on system errors.
char * strtolower(char *str1, const char *str2)
Definition: ccp4_parser.c:1076
int isstring
Definition: ccp4_parser.h:131
char * comment
Definition: ccp4_parser.h:159
int iend
Definition: ccp4_parser.h:141
char * strtolower(char *str1, const char *str2)
Definition: ccp4_parser.c:1076
char keyword[5]
Definition: ccp4_parser.h:151
int ccp4_parse_end(CCP4PARSERARRAY *parsePtr)
Definition: ccp4_parser.c:143
int strmatch(const char *str1, const char *str2)
Definition: ccp4_parser.c:1094
int ntokens
Definition: ccp4_parser.h:152
char * mat4_to_recip_symop(char *symchs_begin, char *symchs_end, const float rsm[4][4])
Definition: ccp4_parser.c:1737
float rot[3][3]
Definition: ccp4_spg.h:50
char * rotandtrn_to_symop(char *symchs_begin, char *symchs_end, const ccp4_symop symop)
Definition: ccp4_parser.c:1587