Add source code of advanced calculator

The code is from book "flex&bison"
Next Steps:
 - Change code to support calling IEC61131-3 standard functions
   (such as ADD...)
Add build in function "ADD"

Three parts need to modified:
 - enum bifs in file "iec.h"
 - file "iec.l"
 - function "callbuiltin" in file "iecfuncs.c"
Note:
 - Built in function "ADD" can only accept 1 arg
 - By default "ADD" return arg+1
Modify built-in function ADD

Note:
 - By default, it can only accept 3 args
 - Compiler will print the value of each arg and the sum of all args
Others:
 - Other built-in functions have been deleted
Change the definition of AST node "fncall"

Modify all ralevant files, but not change the feature
Others:
 - Add new function "init_symtab"(not good enough)
 - Function "callbuiltin" is in a mess
Modify function "init_symtab" to make it clearer

Add new function "newsymbol"
Modify function "callbuiltin" to output files including calling info

Two output files:
 - prog: include the sequence of calling built-in functions & the
   pointer to args
 - args: include the key/value mapping between pointer to args & args
Modify "ASSIGN" token from "=" to ":="

Both iec.l & iec.y need to be modified
Delete useless codes

Include control flow & user function
Modify emitfunc() & emitasgn()

Make the ouput file correct
Add struct funcinfo & relevant supporting functions/variables

ADD:
 - struct arglist, funcinfo
 - function newarglist(), newfuncinfo()
MODIFY:
 - definition of struct fncall
 - function init_symtab() (to init_funcinfotab())
Change the architecture of program

Refer to Beremiz. Focus on lexer now.
 - Almost finished the recognition of IEC keywords and numeric literals
 - Input:  the file testcase4flex
 - Output: the message of token
Add some IEC61131-3 keywords in il_state

NOTE:
 - For now the state can't change