Adding an alphagram ivar to Word which is calculated and then stored in the keyed...
[scrabbalize.git] / Dictionary / Dictionary.m
1 /*
2 * Scrabbalize
3 * Copyright (c) 2007, Blue Static <http://www.bluestatic.org>
4 *
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
10 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
15 */
16
17 #import <Foundation/Foundation.h>
18 #import "Word.h"
19
20 int main (int argc, const char * argv[])
21 {
22 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
23
24 if (argc != 2)
25 {
26 printf("This utility takes in a list of words separated by new lines and creates a keyed archive with them. \n");
27 printf("Usage: dictionary <file.txt>\n");
28 return 1;
29 }
30
31 NSString *file = [NSString stringWithContentsOfFile:[NSString stringWithUTF8String:argv[1]]];
32 file = [file stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\n"];
33 file = [file stringByReplacingOccurrencesOfString:@"\r" withString:@"\n"];
34
35 NSArray *strings = [file componentsSeparatedByString:@"\n"];
36 NSMutableArray *words = [[NSMutableArray alloc] init];
37 for (int i = 0; i < [strings count]; i++)
38 {
39 NSString *str = [strings objectAtIndex:i];
40 Word *word = [[Word alloc] initWithWord:str];
41 [words addObject:word];
42 NSLog(@"%@", word);
43 [word release];
44 }
45
46 BOOL result = [NSKeyedArchiver archiveRootObject:words toFile:@"dictionary.ka"];
47 if (result)
48 {
49 printf("Created the dictionary archive.\n");
50 }
51 else
52 {
53 printf("There was an error in archiving the dictionary. Sorry.\n");
54 }
55
56 [pool drain];
57 return 0;
58 }