Ramrod - Key Words In Concordance
Key Words in Concordance (KWIC) is a highly-configurable contextual and
concordance analysis program. Input can be accepted via any
Java-compatible input stream (ranging from entire directories to web
content). Sorting can be configured on attributes such as lexicon, word
length etc. Output can be formatted to either ASCII or HTML, and may be
restricted to elements that meet certain criteria.
- Developement Status: Beta design
- Intended Audience: Robert Duvall, et. al
- Programming Language: Fortran =P
Team Ramrod officially launched KWIC. The marketing site was created,
as was the Programmer's Manual. After reviewing the requirements for
the final project we have identified the required changes needed to
achieve a successful synergy between our code.
Will's code was far more succinct and so formed the
foundation for KWIC. VJ's encapsulation techniques are to be
implemented in Will's code to aide future modifications. Furthermore,
the final project will feature Intefaces, Javadoc tags and automated
JUnit test cases.
The algorithms will need to be redesigned, however, in
order to achieve stability and higher processing speeds for larger
input.
By this stage most of the code had been exported successfully into
seperate methods, allowing for future modular extension. Classes were
created for I/O, sorting, the object containers etc. Work was then
started on adding functionality to the program at this point,
especially to input and output. The main progress was made with the
Sort class, due to the rich modular functionality that empowered it.
Within the project we have created the following files:
- kwic.properties - the file that contains many of the settings used to configure this program
- Configuration.java - devoted to analyzing the kwic.properties files and informing the rest of the program of its settings
- Entry.java - contains each keyword in concordance (and supporting data)
- Input.java - controls inputting from various streams into the rest of the program
- Output.java - controls output to various streams from the rest of the program's processing
- Sort.java - the class responsible for sorting a collection of Entrys.
- Main.java - the primary class that ties together all other classes