| /* -*-C-*- |
| ******************************************************************************** |
| * |
| * File: makedawg.h |
| * Description: Create a Directed Accyclic Word Graph |
| * Author: Mark Seaman, SW Productivity |
| * Created: Fri Oct 16 14:37:00 1987 |
| * Modified: Wed Jul 17 17:18:49 1991 (Mark Seaman) marks@hpgrlt |
| * Language: C |
| * Package: N/A |
| * Status: Reusable Software Component |
| * |
| * (c) Copyright 1987, Hewlett-Packard Company, all rights reserved. |
| ** Licensed under the Apache License, Version 2.0 (the "License"); |
| ** you may not use this file except in compliance with the License. |
| ** You may obtain a copy of the License at |
| ** http://www.apache.org/licenses/LICENSE-2.0 |
| ** Unless required by applicable law or agreed to in writing, software |
| ** distributed under the License is distributed on an "AS IS" BASIS, |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ** See the License for the specific language governing permissions and |
| ** limitations under the License. |
| * |
| ******************************************************************************** |
| */ |
| |
| #ifndef MAKEDAWG_H |
| #define MAKEDAWG_H |
| |
| /* |
| ---------------------------------------------------------------------- |
| I n c l u d e s |
| ---------------------------------------------------------------------- |
| */ |
| |
| #include "general.h" |
| #include "dawg.h" |
| #include "trie.h" |
| |
| /* |
| ---------------------------------------------------------------------- |
| T y p e s |
| ---------------------------------------------------------------------- |
| */ |
| |
| /* |
| ---------------------------------------------------------------------- |
| V a r i a b l e s |
| ---------------------------------------------------------------------- |
| */ |
| |
| |
| /* |
| ---------------------------------------------------------------------- |
| M a c r o s |
| ---------------------------------------------------------------------- |
| */ |
| |
| /* |
| ---------------------------------------------------------------------- |
| F u n c t i o n s |
| ---------------------------------------------------------------------- |
| */ |
| |
| NODE_MAP build_node_map(EDGE_ARRAY dawg, |
| inT32 *num_nodes, |
| inT32 both_links, |
| inT32 max_num_edges, |
| inT32 reserved_edges); |
| |
| void compact_dawg(EDGE_ARRAY dawg, |
| inT32 max_num_edges, |
| inT32 reserved_edges); |
| |
| void delete_node(EDGE_ARRAY dawg, |
| NODE_REF node); |
| |
| void write_squished_dawg(const char *filename, |
| EDGE_ARRAY dawg, |
| inT32 max_num_edges, |
| inT32 reserved_edges); |
| |
| #endif |