# A03: CiteMan: A friendly citation manager

This assignment uses Prolog’s parsing capabilities to keep track of citations in various formats: MLA, APA, Chicago, and Harvard format (as seen on Google Scholar). The Prolog code should be able to parse a line of text in any of these styles, and extract the authors, title, year, etc. into Prolog data structures. Using the same parsing code, the program should also be able to take data structures holding authors, title, year, etc. and produce a citation string in any of the four styles. Additional code is provided that can read citations from a text file (one per line, bogus lines are skipped), search this database of citations by author and/or year, and produce a new list of filtered citations rendered in any of the four styles.

Start with the code on londo in the directory /home/jeckroth/csci431/assignments/A03/. You will modify the file citeman.pl. Look for the TODO and large blank space in the code.

## Test cases

A series of test cases are given in citeman_tests.pl. Run the test cases with this command:

swipl -q -s citeman_tests.pl -t run_tests


If the tests pass, you should see only some dots (1 dot per test) and no error or warning messages.

## Deliverables

Submit your citeman.pl file. Include the files citeman_tests.pl and citations.txt as well, even though you do not need to modify them.