mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
code cleanup: reduce variable scopes in compiledata.c
This commit is contained in:
@@ -450,7 +450,6 @@ static espeak_ng_STATUS ReadPhondataManifest(CompileContext *ctx, espeak_ng_ERRO
|
||||
// Read the phondata-manifest file
|
||||
FILE *f;
|
||||
int n_lines = 0;
|
||||
int ix;
|
||||
char *p;
|
||||
unsigned int value;
|
||||
char buf[sizeof(path_home)+40];
|
||||
@@ -466,7 +465,7 @@ static espeak_ng_STATUS ReadPhondataManifest(CompileContext *ctx, espeak_ng_ERRO
|
||||
rewind(f);
|
||||
|
||||
if (ctx->manifest != NULL) {
|
||||
for (ix = 0; ix < ctx->n_manifest; ix++)
|
||||
for (int ix = 0; ix < ctx->n_manifest; ix++)
|
||||
free(ctx->manifest[ix].name);
|
||||
}
|
||||
|
||||
@@ -544,13 +543,11 @@ static void ReservePhCodes(CompileContext *ctx)
|
||||
{
|
||||
// Reserve phoneme codes which have fixed numbers so that they can be
|
||||
// referred to from the program code.
|
||||
unsigned int word;
|
||||
const MNEM_TAB *p;
|
||||
|
||||
p = reserved_phonemes;
|
||||
while (p->mnem != NULL) {
|
||||
word = StringToWord(p->mnem);
|
||||
ctx->phoneme_tab2[p->value].mnemonic = word;
|
||||
ctx->phoneme_tab2[p->value].mnemonic = StringToWord(p->mnem);
|
||||
ctx->phoneme_tab2[p->value].code = p->value;
|
||||
if (ctx->n_phcodes <= p->value)
|
||||
ctx->n_phcodes = p->value+1;
|
||||
@@ -637,12 +634,9 @@ static int CheckNextChar(CompileContext *ctx)
|
||||
|
||||
static int NextItem(CompileContext *ctx, int type)
|
||||
{
|
||||
int acc;
|
||||
unsigned char c = 0;
|
||||
unsigned char c2;
|
||||
int ix;
|
||||
int sign;
|
||||
char *p;
|
||||
const keywtab_t *pk;
|
||||
|
||||
ctx->item_type = -1;
|
||||
@@ -701,9 +695,10 @@ static int NextItem(CompileContext *ctx, int type)
|
||||
return 0;
|
||||
|
||||
if ((type == tNUMBER) || (type == tSIGNEDNUMBER)) {
|
||||
acc = 0;
|
||||
sign = 1;
|
||||
p = ctx->item_string;
|
||||
int acc = 0;
|
||||
int sign = 1;
|
||||
char *p;
|
||||
p = ctx->item_string;
|
||||
|
||||
if ((*p == '-') && (type == tSIGNEDNUMBER)) {
|
||||
sign = -1;
|
||||
@@ -799,7 +794,6 @@ static int Range(int value, int divide, int min, int max)
|
||||
static int CompileVowelTransition(CompileContext *ctx, int which)
|
||||
{
|
||||
// Compile a vowel transition
|
||||
int key;
|
||||
int len = 0;
|
||||
int rms = 0;
|
||||
int f1 = 0;
|
||||
@@ -830,7 +824,7 @@ static int CompileVowelTransition(CompileContext *ctx, int which)
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
key = NextItem(ctx, tKEYWORD);
|
||||
int key = NextItem(ctx, tKEYWORD);
|
||||
if (ctx->item_type != tTRANSITION) {
|
||||
UngetItem(ctx);
|
||||
break;
|
||||
@@ -1213,8 +1207,6 @@ static int Hash8(const char *string)
|
||||
static int LoadEnvelope2(CompileContext *ctx, FILE *f)
|
||||
{
|
||||
int ix, ix2;
|
||||
int n;
|
||||
int x, y;
|
||||
int displ;
|
||||
int n_points;
|
||||
char line_buf[128];
|
||||
@@ -1230,7 +1222,7 @@ static int LoadEnvelope2(CompileContext *ctx, FILE *f)
|
||||
break;
|
||||
|
||||
env_lin[n_points] = 0;
|
||||
n = sscanf(line_buf, "%f %f %d", &env_x[n_points], &env_y[n_points], &env_lin[n_points]);
|
||||
int n = sscanf(line_buf, "%f %f %d", &env_x[n_points], &env_y[n_points], &env_lin[n_points]);
|
||||
if (n >= 2) {
|
||||
env_x[n_points] *= (float)1.28; // convert range 0-100 to 0-128
|
||||
n_points++;
|
||||
@@ -1244,12 +1236,14 @@ static int LoadEnvelope2(CompileContext *ctx, FILE *f)
|
||||
|
||||
ix = 0;
|
||||
ix2 = 0;
|
||||
if (n_points > 0) for (x = 0; x < ENV_LEN; x++) {
|
||||
|
||||
if (n_points > 0) for (int x = 0; x < ENV_LEN; x++) {
|
||||
if (n_points > 3 && x > env_x[ix+3])
|
||||
ix++;
|
||||
if (n_points > 2 && x >= env_x[ix2+1])
|
||||
ix2++;
|
||||
|
||||
int y;
|
||||
if (env_lin[ix2] > 0) {
|
||||
y = (env_y[ix2] + (env_y[ix2+1] - env_y[ix2]) * ((float)x - env_x[ix2]) / (env_x[ix2+1] - env_x[ix2])) * 2.55;
|
||||
} else if (n_points > 3)
|
||||
@@ -1272,12 +1266,8 @@ static espeak_ng_STATUS LoadDataFile(CompileContext *ctx, const char *path, int
|
||||
// load spectrum sequence or sample data from a file.
|
||||
// return index into spect or sample data area. bit 23=1 if a sample
|
||||
|
||||
FILE *f;
|
||||
int id;
|
||||
int hash;
|
||||
int type_code = ' ';
|
||||
REF_HASH_TAB *p, *p2;
|
||||
char buf[sizeof(path_home)+150];
|
||||
|
||||
if (strcmp(path, "NULL") == 0)
|
||||
return ENS_OK;
|
||||
@@ -1300,8 +1290,10 @@ static espeak_ng_STATUS LoadDataFile(CompileContext *ctx, const char *path, int
|
||||
}
|
||||
|
||||
if (*addr == 0) {
|
||||
char buf[sizeof(path_home)+150];
|
||||
sprintf(buf, "%s/%s", ctx->phsrc, path);
|
||||
|
||||
FILE *f;
|
||||
if ((f = fopen(buf, "rb")) == NULL) {
|
||||
sprintf(buf, "%s/%s.wav", ctx->phsrc, path);
|
||||
if ((f = fopen(buf, "rb")) == NULL) {
|
||||
@@ -1310,10 +1302,11 @@ static espeak_ng_STATUS LoadDataFile(CompileContext *ctx, const char *path, int
|
||||
}
|
||||
}
|
||||
|
||||
id = Read4Bytes(f);
|
||||
int id = Read4Bytes(f);
|
||||
rewind(f);
|
||||
|
||||
espeak_ng_STATUS status = ENS_OK;
|
||||
int type_code = ' ';
|
||||
if (id == 0x43455053) {
|
||||
status = LoadSpect(ctx, path, control, addr);
|
||||
type_code = 'S';
|
||||
@@ -1445,27 +1438,25 @@ static void CompileSound(CompileContext *ctx, int keyword, int isvowel)
|
||||
*/
|
||||
static int CompileIf(CompileContext *ctx, int elif)
|
||||
{
|
||||
int key;
|
||||
bool finish = false;
|
||||
int word = 0;
|
||||
int word2;
|
||||
int data;
|
||||
int bitmap;
|
||||
int brackets;
|
||||
bool not_flag;
|
||||
unsigned short *prog_last_if = NULL;
|
||||
|
||||
ctx->then_count = 2;
|
||||
ctx->after_if = true;
|
||||
|
||||
while (!finish) {
|
||||
not_flag = false;
|
||||
word2 = 0;
|
||||
bool not_flag = false;
|
||||
int word2 = 0;
|
||||
if (ctx->prog_out >= ctx->prog_out_max) {
|
||||
error(ctx, "Phoneme program too large");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int key;
|
||||
if ((key = NextItem(ctx, tCONDITION)) < 0)
|
||||
error(ctx, "Expected a condition, not '%s'", ctx->item_string);
|
||||
|
||||
@@ -1555,11 +1546,10 @@ static int CompileIf(CompileContext *ctx, int elif)
|
||||
static void FillThen(CompileContext *ctx, int add)
|
||||
{
|
||||
unsigned short *p;
|
||||
int offset;
|
||||
|
||||
p = ctx->if_stack[ctx->if_level].p_then;
|
||||
if (p != NULL) {
|
||||
offset = ctx->prog_out - p + add;
|
||||
int offset = ctx->prog_out - p + add;
|
||||
|
||||
if ((ctx->then_count == 1) && (ctx->if_level == 1)) {
|
||||
// The THEN part only contains one statement, we can remove the THEN jump
|
||||
@@ -1583,7 +1573,6 @@ static void FillThen(CompileContext *ctx, int add)
|
||||
static int CompileElse(CompileContext *ctx)
|
||||
{
|
||||
unsigned short *ref;
|
||||
unsigned short *p;
|
||||
|
||||
if (ctx->if_level < 1) {
|
||||
error(ctx, "ELSE not expected");
|
||||
@@ -1599,6 +1588,7 @@ static int CompileElse(CompileContext *ctx)
|
||||
ref = ctx->prog_out;
|
||||
*ctx->prog_out++ = 0;
|
||||
|
||||
unsigned short *p;
|
||||
if ((p = ctx->if_stack[ctx->if_level].p_else) != NULL)
|
||||
*ref = ref - p; // backwards offset to the previous else
|
||||
ctx->if_stack[ctx->if_level].p_else = ref;
|
||||
@@ -1622,8 +1612,6 @@ static int CompileElif(CompileContext *ctx)
|
||||
static int CompileEndif(CompileContext *ctx)
|
||||
{
|
||||
unsigned short *p;
|
||||
int chain;
|
||||
int offset;
|
||||
|
||||
if (ctx->if_level < 1) {
|
||||
error(ctx, "ENDIF not expected");
|
||||
@@ -1633,10 +1621,11 @@ static int CompileEndif(CompileContext *ctx)
|
||||
FillThen(ctx, 0);
|
||||
|
||||
if ((p = ctx->if_stack[ctx->if_level].p_else) != NULL) {
|
||||
int chain;
|
||||
do {
|
||||
chain = *p; // a chain of previous else links
|
||||
|
||||
offset = ctx->prog_out - p;
|
||||
int offset = ctx->prog_out - p;
|
||||
if (offset > MAX_JUMP)
|
||||
error(ctx, "IF block is too long");
|
||||
*p = i_JUMP + offset;
|
||||
@@ -1787,7 +1776,6 @@ static void DecThenCount(CompileContext *ctx)
|
||||
static int CompilePhoneme(CompileContext *ctx, int compile_phoneme)
|
||||
{
|
||||
int endphoneme = 0;
|
||||
int keyword;
|
||||
int value;
|
||||
int phcode = 0;
|
||||
int flags;
|
||||
@@ -1836,6 +1824,7 @@ static int CompilePhoneme(CompileContext *ctx, int compile_phoneme)
|
||||
ctx->phoneme_out->phflags = 0;
|
||||
|
||||
while (!endphoneme && !feof(ctx->f_in)) {
|
||||
int keyword;
|
||||
if ((keyword = NextItem(ctx, tKEYWORD)) < 0) {
|
||||
if (keyword == -2) {
|
||||
error(ctx, "Missing 'endphoneme' before end-of-file"); // end of file
|
||||
@@ -2140,9 +2129,7 @@ static void WritePhonemeTables(CompileContext *ctx)
|
||||
{
|
||||
int ix;
|
||||
int j;
|
||||
int n;
|
||||
int value;
|
||||
int count;
|
||||
PHONEME_TAB *p;
|
||||
|
||||
value = ctx->n_phoneme_tabs;
|
||||
@@ -2153,12 +2140,12 @@ static void WritePhonemeTables(CompileContext *ctx)
|
||||
|
||||
for (ix = 0; ix < ctx->n_phoneme_tabs; ix++) {
|
||||
p = ctx->phoneme_tab_list2[ix].phoneme_tab_ptr;
|
||||
n = ctx->n_phcodes_list[ix];
|
||||
int n = ctx->n_phcodes_list[ix];
|
||||
memset(&p[n], 0, sizeof(p[n]));
|
||||
p[n].mnemonic = 0; // terminate the phoneme table
|
||||
|
||||
// count number of locally declared phonemes
|
||||
count = 0;
|
||||
int count = 0;
|
||||
for (j = 0; j < n; j++) {
|
||||
if (ix == 0)
|
||||
p[j].phflags |= phLOCAL; // write all phonemes in the base phoneme table
|
||||
@@ -2211,8 +2198,6 @@ static void EndPhonemeTable(CompileContext *ctx)
|
||||
|
||||
static void StartPhonemeTable(CompileContext *ctx, const char *name)
|
||||
{
|
||||
int ix;
|
||||
int j;
|
||||
PHONEME_TAB *p;
|
||||
|
||||
if (ctx->n_phoneme_tabs >= N_PHONEME_TABS-1) {
|
||||
@@ -2235,6 +2220,7 @@ static void StartPhonemeTable(CompileContext *ctx, const char *name)
|
||||
|
||||
if (ctx->n_phoneme_tabs > 0) {
|
||||
NextItem(ctx, tSTRING); // name of base phoneme table
|
||||
int ix;
|
||||
for (ix = 0; ix < ctx->n_phoneme_tabs; ix++) {
|
||||
if (strcmp(ctx->item_string, ctx->phoneme_tab_list2[ix].name) == 0) {
|
||||
ctx->phoneme_tab_list2[ctx->n_phoneme_tabs].includes = ix+1;
|
||||
@@ -2244,6 +2230,7 @@ static void StartPhonemeTable(CompileContext *ctx, const char *name)
|
||||
ctx->n_phcodes = ctx->n_phcodes_list[ix];
|
||||
|
||||
// clear "local phoneme" bit"
|
||||
int j;
|
||||
for (j = 0; j < ctx->n_phcodes; j++)
|
||||
ctx->phoneme_tab2[j].phflags &= ~phLOCAL;
|
||||
break;
|
||||
@@ -2259,7 +2246,6 @@ static void StartPhonemeTable(CompileContext *ctx, const char *name)
|
||||
|
||||
static void CompilePhonemeFiles(CompileContext *ctx)
|
||||
{
|
||||
int item;
|
||||
FILE *f;
|
||||
char buf[sizeof(path_home)+120];
|
||||
|
||||
@@ -2282,7 +2268,7 @@ static void CompilePhonemeFiles(CompileContext *ctx)
|
||||
ctx->linenum = ctx->stack[ctx->stack_ix].linenum;
|
||||
}
|
||||
|
||||
item = NextItem(ctx, tKEYWORD);
|
||||
int item = NextItem(ctx, tKEYWORD);
|
||||
|
||||
switch (item)
|
||||
{
|
||||
@@ -2549,7 +2535,6 @@ espeak_ng_CompileIntonationPath(const char *source_path,
|
||||
int ix;
|
||||
char *p;
|
||||
char c;
|
||||
int keyword;
|
||||
int n_tune_names = 0;
|
||||
bool done_split = false;
|
||||
bool done_onset = false;
|
||||
@@ -2640,7 +2625,7 @@ espeak_ng_CompileIntonationPath(const char *source_path,
|
||||
}
|
||||
|
||||
while (!feof(ctx->f_in)) {
|
||||
keyword = NextItem(ctx, tINTONATION);
|
||||
int keyword = NextItem(ctx, tINTONATION);
|
||||
|
||||
switch (keyword)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user