[transliteration] Adding header + generated C data file for simplified transliteration rules
This commit is contained in:
BIN
src/transliteration_data.c
Normal file
BIN
src/transliteration_data.c
Normal file
Binary file not shown.
47
src/transliteration_rule.h
Normal file
47
src/transliteration_rule.h
Normal file
@@ -0,0 +1,47 @@
|
||||
#ifndef TRANSLITERATION_RULE_H
|
||||
#define TRANSLITERATION_RULE_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef enum {
|
||||
CONTEXT_TYPE_NONE,
|
||||
CONTEXT_TYPE_STRING,
|
||||
CONTEXT_TYPE_WORD_BOUNDARY,
|
||||
CONTEXT_TYPE_REGEX
|
||||
} context_type_t;
|
||||
|
||||
|
||||
typedef struct transliteration_rule_source {
|
||||
char *key;
|
||||
|
||||
context_type_t pre_context_type;
|
||||
size_t pre_context_max_len;
|
||||
char *pre_context;
|
||||
|
||||
context_type_t post_context_type;
|
||||
size_t post_context_max_len;
|
||||
char *post_context;
|
||||
|
||||
char *replacement;
|
||||
|
||||
int move;
|
||||
char *group_regex_str;
|
||||
} transliteration_rule_source_t;
|
||||
|
||||
|
||||
typedef struct transliteration_step_source {
|
||||
step_type_t type;
|
||||
int rules_start;
|
||||
int rules_length;
|
||||
char *name;
|
||||
} transliteration_step_source_t;
|
||||
|
||||
typedef struct transliterator_source {
|
||||
char *name;
|
||||
uint8_t internal;
|
||||
int steps_start;
|
||||
int steps_length;
|
||||
} transliterator_source_t;
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user