File: lex_compiler.h

package info (click to toggle)
malaga 7.12-7
  • links: PTS
  • area: main
  • in suites: buster, stretch
  • size: 3,040 kB
  • ctags: 2,283
  • sloc: ansic: 21,457; sh: 8,168; lisp: 504; makefile: 270
file content (58 lines) | stat: -rw-r--r-- 2,291 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* 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. =============================================================*/