Could you explain me how the 35 USC 112 rule is satisfied by the patent US5946647:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
The US5946647 patent specification defines an analyzer server. The analyzing server consists of a parser and a grammar file. The parser retrieves a grammar from the grammar file and parses text using the retrieved grammar.
 Referring now to FIG. 3, a block diagram illustrating an analyzer server 220 is shown. In this figure, analyzer server 220 is described as having a parser 310 and a grammar file 320, although alternatively or additionally a fast string search function or other function can be used. Parser 310 retrieves a grammar from grammar file 320 and parses text using the retrieved grammar. Upon identification of a structure in the text, parser 310 links the actions associated with the grammar to the identified structure. More particularly, parser 310 retrieves from grammar file 320 pointers attached to the grammar and attaches the same pointers to the identified structure. These pointers direct the system to the associated actions contained in associated actions file 330. Thus, upon selection of the identified structure, user interface 240 can locate the linked actions.
 FIG. 4 illustrates an example of an analyzer server 220, which includes grammars 410 and a string library 420 such as a dictionary, each with associated actions. One of the grammars 410 is a telephone number grammar with associated actions for dialing a number identified by the telephone number grammar or placing the number in an electronic telephone book. Analyzer server 220 also includes grammars for post-office addresses, e-mail addresses and dates, and a string library 420 containing important names. When analyzer server 220 identifies an address using the "e-mail address" grammar, actions for sending e-mail to the identified address and putting the identified address in an e-mail address book are linked to the address.
I am a normal software engineer. And, after reading the patent, I do not know how to make the parser, because there are many possible implementations of the parser, and all of them have drawbacks. For example, to extract an e-mail from the text I can use one from many of regular expressions. I will have to strongly consider how to implement the parser and how to define the grammar file. Also, I do not know, which is the best mode contemplated by the inventor of carrying out the parser.
Please, help me understand how the patent law works?
The US5946647 is used by Apple against HTC and Samsung.