1. Field of the Invention
The invention relates generally to techniques for lexical analysis and parsing. More specifically, it relates to techniques for lexical analysis and parsing of citations and legal citations.
2. Description of Related Art
Lexical analyzers and parsers are often used to compile computer source code into assembly language and binary code. The lexical analyzer divides computer source code into tokens, and the parser identifies relationships between the tokens representing source code.
Lexical analyzers have been used to divide input sequences into tokens. Some lexical analyzers are built using lexical analyzer generators. Lexical analyzers can be specified to accept regular languages. They may execute action code when a regular expression is matched. A lexical analyzer may be used with a parser.
Parsers have been used to identify relationships between tokens. Some parsers are built using parser generators. Parsers can be specified to accept context-free grammars. They may execute action code when a production rule is matched.
The Internet is a system of interconnected computer networks, which allows computer systems on the Internet to communicate with each other. Computers may communicate according to certain services such as electronic mail and the World Wide Web (WWW or “the web”). The WWW service is a system of interlinked hypertext documents. Documents on the web can be viewed with web browsers. Web pages, text, images, videos, and other multimedia are all types of media that can be accessed in a web browser. To view a document on the web, a client computer would usually send a request to a web server that is hosting web content. The client computer may identify the requested resource using an identifier such as a Uniform Resource Locator (URL). The web server would respond to the request by sending the appropriate document to the client computer. The client computer can display the document in a web browser. Web pages can be specified in many formats and languages. Sometimes, the web pages may include scripts, which are executable code. Web pages may also be backed by a database. Access to a web page may cause code to be executed on the web server and may cause accesses to a database. Web applications may also be Rich Internet Applications (RIAs) that operate on a software platform such as Flash or Silverlight. An RIA may require installation of the software platform on the client computer, for example by browser plug-in, in order to function.