54 #ifndef _S3_CONTEXT_FREE_GRAMMAR_H 55 #define _S3_CONTEXT_FREE_GRAMMAR_H 60 #include "prim_type.h" 61 #include "hash_table.h" 69 #define S3_CFG_MAX_RULE_STR_LEN 1023 70 #define S3_CFG_MAX_ITEM_STR_LEN 40 71 #define S3_CFG_MAX_ITEM_COUNT 20 72 #define S3_CFG_INITIAL_RULE_COUNT 1 73 #define S3_CFG_INITIAL_RULE_SET_COUNT 50 74 #define S3_CFG_INITIAL_PARSE_SET_COUNT 20 75 #define S3_CFG_PARSE_HASH_SIZE 251 76 #define S3_CFG_INITIAL_STATE_SET_COUNT 20 77 #define S3_CFG_INITIAL_TERM_COUNT 50 78 #define S3_CFG_NAME_HASH_SIZE 4091 80 #define S3_CFG_INVALID_SCORE 1.0f 81 #define S3_CFG_INITIAL_SCORE 0.0f 83 #define S3_CFG_NONTERM_PREFIX '$' 84 #define S3_CFG_TERM_BIT 0x80000000 85 #define S3_CFG_INDEX_MASK 0x7FFFFFFF 87 #define S3_CFG_INVALID_ID 0x7FFFFFFF 89 #define S3_CFG_PSTART_ITEM 0x00000000 90 #define S3_CFG_PSTART_ITEM_STR "$PSTART" 91 #define S3_CFG_START_ITEM 0x00000001 92 #define S3_CFG_START_ITEM_STR "$START" 93 #define S3_CFG_EOR_ITEM (0x00000002 | S3_CFG_TERM_BIT) 94 #define S3_CFG_EOR_ITEM_STR "#EOR#" 95 #define S3_CFG_EOI_ITEM (0x00000003 | S3_CFG_TERM_BIT) 96 #define S3_CFG_EOI_ITEM_STR "#EOI#" 97 #define S3_CFG_NIL_ITEM (0x00000004 | S3_CFG_TERM_BIT) 98 #define S3_CFG_NIL_ITEM_STR "#NIL#" 100 #define S3_CFG_START_RULE \ 101 { S3_CFG_PSTART_ITEM, 0.0f, { S3_CFG_START_ITEM, S3_CFG_EOR_ITEM }, 1 } 103 #define S3_CFG_AUTO_PRUNE_SCORE 0x00000001 104 #define S3_CFG_AUTO_PRUNE_RANK 0x00000002 106 #define s3_cfg_is_null_parse(x) (x->entries.count == 0) 108 #define s3_cfg_is_terminal(x) (x & S3_CFG_TERM_BIT) 110 #define s3_cfg_id2index(x) (x & S3_CFG_INDEX_MASK) 302 s3_cfg_id_t *_products);
s3_cfg_id_t input
Definition: s3_cfg.h:147
s3_cfg_rule_t * rule
Definition: s3_cfg.h:137
void s3_cfg_free_parse_tree(s3_cfg_t *_cfg, s3_cfg_state_t *_parse)
int32 log_score
Definition: s3_cfg.h:122
void s3_cfg_close(s3_cfg_t *_cfg)
s3_cfg_entry_t * best_completed_entry
Definition: s3_cfg.h:152
s3_arraylist_t entries
Definition: s3_cfg.h:148
s3_cfg_id_t src
Definition: s3_cfg.h:115
int8 * predictions
Definition: s3_cfg.h:165
struct s3_cfg_entry_s * complete
Definition: s3_cfg.h:142
void s3_cfg_rescore(s3_cfg_t *_cfg, logmath_t *logmath)
hash_table_t * name2id
Definition: s3_cfg.h:163
s3_cfg_state_t * s3_cfg_input_term(s3_cfg_t *_cfg, s3_cfg_state_t *_cur, s3_cfg_id_t _term)
S3DECODER_EXPORT s3_cfg_t * s3_cfg_read_simple(const char *_fn)
S3DECODER_EXPORT void s3_cfg_compile_rules(s3_cfg_t *_cfg, logmath_t *logmath)
struct s3_cfg_state_s s3_cfg_state_t
s3_arraylist_t item_info
Definition: s3_cfg.h:162
s3_cfg_entry_t * best_overall_parse
Definition: s3_cfg.h:155
int num_expanded
Definition: s3_cfg.h:157
s3_arraylist_t expansions
Definition: s3_cfg.h:149
s3_cfg_t * s3_cfg_read_srgs(const char *_fn)
void s3_cfg_print_parse(s3_cfg_t *_cfg, s3_cfg_entry_t *_parse, FILE *_out)
void s3_cfg_print_rule(s3_cfg_t *_cfg, s3_cfg_rule_t *_rule, FILE *_out)
struct s3_cfg_state_s * back
Definition: s3_cfg.h:150
void s3_cfg_init(s3_cfg_t *_cfg)
uint32 s3_cfg_id_t
Definition: s3_cfg.h:112
void s3_cfg_print_entry(s3_cfg_t *_cfg, s3_cfg_entry_t *_entry, FILE *_out)
struct s3_cfg_state_s * origin
Definition: s3_cfg.h:139
s3_cfg_entry_t * best_overall_entry
Definition: s3_cfg.h:153
struct s3_cfg_entry_s * back
Definition: s3_cfg.h:141
s3_cfg_state_t * s3_cfg_create_parse(s3_cfg_t *_cfg)
s3_arraylist_t rules
Definition: s3_cfg.h:161
struct s3_cfg_rule_s s3_cfg_rule_t
#define S3DECODER_EXPORT
Definition: sphinx3_export.h:15
void s3_cfg_write_simple(s3_cfg_t *_cfg, const char *_fn)
S3DECODER_EXPORT s2_fsg_t * s3_cfg_convert_to_fsg(s3_cfg_t *_cfg, int _max_expansion)
char * name
Definition: s3_cfg.h:130
int len
Definition: s3_cfg.h:125
int32 score
Definition: s3_cfg.h:140
s3_cfg_id_t * products
Definition: s3_cfg.h:124
s3_cfg_id_t id
Definition: s3_cfg.h:129
s3_arraylist_t rules
Definition: s3_cfg.h:131
s3_cfg_rule_t * nil_rule
Definition: s3_cfg.h:132
s3_cfg_item_t * s3_cfg_get_term_info(s3_cfg_t *_cfg, s3_cfg_id_t _id)
struct s3_cfg_entry_s s3_cfg_entry_t
s3_cfg_id_t s3_cfg_str2id(s3_cfg_t *_cfg, char *_item)
s3_cfg_entry_t * best_completed_parse
Definition: s3_cfg.h:154
Definition: s3_arraylist.h:16
s3_cfg_rule_t * s3_cfg_add_rule(s3_cfg_t *_cfg, s3_cfg_id_t _src, float32 _fake_score, s3_cfg_id_t *_products)
float32 prob_score
Definition: s3_cfg.h:120
float32 score
Definition: s3_cfg.h:118
int dot
Definition: s3_cfg.h:138
void s3_cfg_free_parse(s3_cfg_t *_cfg, s3_cfg_state_t *_parse)
const char * s3_cfg_id2str(s3_cfg_t *_cfg, s3_cfg_id_t _id)