1. A method of performing morphological analysis on a natural language text string using a computer having a memory, the method comprising: selecting, using a processor, whether or not to decompose a decomposable complex word in response to a request from a natural language processing application that utilizes a morphological analysis result; receiving the natural language text string to be processed, wherein the text string is in an agglutinative language and comprises more than one complex word, wherein each complex word comprises a linguistic unit having a semantic meaning; decomposing the received text string into tokens and storing the tokens in a work area of the memory; when it is selected not to decompose a decomposable complex word, determining whether each token is decomposable; if a token is not decomposable, registering the non-decomposable token on a token list stored in a given area of the memory; generating token strings based on the token list and storing the token strings in the work area of the memory; selecting optimum token strings from the generated token strings; and outputting the selected optimum token strings to the natural language processing application for further processing.