The spell checker is a program that can find spelling mistakes in the given input. (It's not a spelling suggester).
The spell checker can use any given dictionary (.txt file) when searching for spelling mistakes. The dictionary is loaded into memory as a trie data structure(An example of this data structure can be seen at the images section) this provides us with the ability to easily find out if the input is spelled correctly.
In the image section, you will be able to find an image of the most recent design for this spell checker. In this image, I've also illustrated how I'm planning to implement the spell suggestion functionality. The spelling suggestion is an item that I've placed on my backlog and hope to implement it in a future release.
The application process:
- validate arguments
- Load the dictionary into memory as a trie (the dictionary.txt needs to be placed in the same file as the executable)
- Loop through words that need to be checked and try finding the word in the trie structure. If the word can not be found we store it in a vector.
- Loop through vector with misspelled words to print them to the user.
The application can be executed in the following way:
./SpellChecker [flag] [input]
F.e: ./SpellChecker -f MyFile.txt This will run the application and use a file as input.
Another example is: ./SpellChecker -s "You can also give a string as input!".
> Team size: 1
> Language: C++