/* Copyright (C) 1995 Bjoern Beutel. */ /* Description. =============================================================*/ /* This module contains data structures and functions related to the generation * of the allomorph lexicon. */ /* Variables. ===============================================================*/ extern int_t lex_entry_line_number; /* Line number of lexical entry just parsed. Read only! */ extern string_t lex_entry_file_name; /* Name of lexicon file just parsed. Read only! */ extern rule_sys_t *allo_rule_sys; /* Read only! */ /* Functions. ===============================================================*/ extern void generate_allos_for_file( string_t source_name, string_t prelex_name, bool_t use_filter ); /* Parse a lexicon file SOURCE_NAME and a precompiled lexicon file PRELEX_NAME. * Generate allomorphs. Write allomorphs into lexicon buffer. * Don't use the output filter if USE_FILTER == FALSE. */ extern void generate_allos_for_line( string_t lexicon_name, int_t line ); /* Read line LINE in lexicon file LEXICON_NAME and generate allomorphs. * Write allomorphs into lexicon buffer. */ extern void generate_allos_for_string( string_t feat_string ); /* Generate allomorphs from FEAT_STRING, which should contain a readable * feature structure. Write allomorphs into lexicon buffer. */ extern void write_lex_buffer( string_t file_name ); /* Write lexicon buffer to file FILE_NAME as a run time lexicon. */ extern void write_prelex_file( string_t file_name ); /* Write lexicon buffer to prelex file FILE_NAME. */ extern void print_lex_buffer( FILE *stream, string_t allo_format ); /* Print all lexicon entries in the buffer to STREAM using format ALLO_FORMAT. * If ALLO_FORMAT == NULL, do line breaking. */ extern void print_lex_statistics( FILE *stream ); /* Print statistics about lexicon buffer into STREAM. */ extern void read_lex_constants( string_t lexicon_name ); /* Read all constants in file LEXICON_NAME. */ extern void init_lex_compiler( string_t allo_rule_file ); /* Initialise the lex_compiler module. * Use allomorph rules from ALLO_RULE_FILE. */ extern void terminate_lex_compiler( void ); /* Free the lex_compiler module. */ /* End of file. =============================================================*/