___________________________________
|      |  |  |     |  _  |     |  |
|  |___|  |  |  |  |    _|  |  |  |    GNU GLOBAL source code tag system
|  |   |  |  |  |  |     |     |  |
|  ~~  |   ~~|     |  ~  |  |  |   ~~|          for all hackers.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Copyright (c) 2003 Tama Communications Corporation

 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
 modifications, as long as this notice is preserved.

 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

                ----------------------------------

1. Outline of generating parsers.

You need to have the following package installed:

	- flex
	- GNU gperf (version 3.0.1 or later)

(1) Generate gperf(1) source from each reserved word file.

	<prefix>_res.in		reserved word file
		|
	    [reserved.pl]
		|
		v
	<prefix>_res.gpf	gperf source file

(2) Generate include file from gperf source.

	<prefix>_res.gpf	gperf source file
		|
	    [gperf(1)]
		|
		v
	<prefix>_res.h		include file

(3) Include above file from lex source and you can use reserved_word() function.

	Lex source file
	+-------------------------------------
	|...
	|#include "<prefix>_res.h"
	|...
	|WORD	{
	|		if (reserved_word(yytext, yyleng)) {
	|		    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	|			...
	+-------------------------------------


2. The format of reserved word file.

	o One word and 'word' which means 'reserved word' a line.
	o Null line and the line start with ';' is skipped.
	o You need not sort words by alphabetical order.

	[Example]
	+---------------------
	|; This is comment.
	|
	|int		word
	|auto		word
	|...
	|foreach	word
	+---------------------
