Patent ID: 8713031

Claim:
A non-transitory computer-readable medium for storing instructions for checking the correctness of a citation, the non-transitory computer-readable medium comprising: instructions for receiving the citation from a user; a lexical analyzer for lexically analyzing the citation and outputting one or more tokens; a parser for parsing the citation by processing the tokens output from the lexical analyzer, wherein the parser was generated from a parser specification file by a parser generator, the parser specification file comprising: a start symbol, a court case citation symbol, a journal citation symbol, a statute citation symbol, and a constitution citation symbol, wherein the start symbol, the court case citation symbol, the journal citation symbol, the statute citation symbol, and the constitution citation symbol are non-terminal symbols that appear on the left-hand-side of one or more parser rules; instructions encoding one or more parser rules for expanding the start symbol into the court case citation symbol, the journal citation symbol, the statute citation symbol, and the constitution citation symbol; instructions encoding one or more parser rules for expanding the court case citation symbol into a party name symbol, a case reporter symbol, and a court name symbol; instructions encoding one or more parser rules for expanding the journal citation symbol into an author name symbol, an article title symbol, and a journal name symbol; instructions encoding one or more parser rules for expanding the statute citation symbol into a statute title number symbol, a code name symbol, and a statute section number symbol; instructions encoding one or more parser rules for expanding the constitution citation symbol into a constitution name symbol, a constitution article number symbol, and a constitution section number symbol; wherein the parser is a Generalized Left-to-Right, Rightmost Derivation (GLR) parser configured to produce a copy of the parser when an unresolved shift/reduce or reduce/reduce conflict is encountered, the resulting parsers each consuming a given input symbol before any proceed to the next, the resulting parsers disappearing if when they encounter a parsing error, the resulting parsers merging with another parser if when they have reduced the input to an identical set of symbols; instructions for providing for display an indication of one or more identified errors in the citation or an indication that no errors exist.