{ -- special symbol Program -- keyword Sample -- indentifier 1 -- integer value { -- special symbol Function -- keyword facto -- identifier VAL -- identifier { -- special symbol if -- keyword { -- special symbol < -- special symbol VAL -- identifier 0 -- integer value } -- special symbol then -- keyword { -- special symbol = -- special symbol retVal -- identifier -1 -- integer value } -- special symbol else -- keyword { -- special symbol = -- special symbol retVal -- identifier 1 -- integer value } -- special symbol { -- special symbol while -- keyword { -- special symbol > -- special symbol VAL -- identifier 0 -- integer value } -- special symbol do -- keyword { -- special symbol = -- special symbol retVal -- identifier { -- special symbol * -- special symbol retVal -- identifier VAL -- identifier } -- special symbol } -- special symbol { -- special symbol = -- special symbol VAL -- identifier { -- special symbol - -- special symbol VAL -- identifier 1 -- integer value } -- special symbol } -- special symbol } -- special symbol } -- special symbol return -- keyword retVal -- identifier } -- special symbol { -- special symbol print -- keyword { -- special symbol facto -- identifier 999 -- integer value } -- special symbol } -- special symbol } -- special symbol =======The following is the output of the symbol table as the data appears in the table======= ---------------------------------------------------------------------------------------------- TOKEN NAME IDENTIFIER TYPE TOKEN VALUE LINE NUMBER ---------------------------------------------------------------------------------------------- facto 2 VAL 2 retVal 4 Sample 1