KWIC Module Guide

Input Module

Service
Reads a sequence of lines from a file or stdin and loads them into the LineStorage module.
Encapsulated change
The format of the input.

LineStorage Module

Service
Stores a list of lines, where each line is a list of C strings.
Encapsulated change
The algorithm and data structure used to store and access the lines.

WordTable Module

Service
Reads a list of words from a file and allows the user to check whether a given word is in this list.
Encapsulated change
The algorithm and data structure used to store and search for the words.

ShiftSort Module

Service
Computes a shifted and sorted version of the lines stored in the LineStorage module.
Encapsulated change
The algorithm and data structure used to generate, store, sort, and access the shifted lines words.

Output Module

Service
Formats and writes the lines provided by the ShiftSort module to stdout.
Encapsulated change
The format of the output.