getting an error message of

itemparser.ntj
line 64
say: syntax error missing ; before statement

Dont know were to enter on line 64

heres my script

Code:
 
/*
[Item-parser Syntax Information]
1. [Keyword] separates into two groups
   - [Property Keywords] : [Type], [Name], [Class], [Quality], [Flag], [Level], [Prefix], [Suffix]
   - [Stat Keywords] : [Number or Alias]
2. [Keyword] must be surrounded by '[' and ']'
3. [Property Keywords] must be placed first
4. Insert '#' symbol between [Property Keywords] and [Stat Keywords]
5. Use '+', '-', '*', '/', '(', ')', '&&', '||', '>', '>=', '<', '<=', '==', '!=' symbols for comparison
6. Use '//' symbol for comment
*/
Include("libs/common/NTItemAlias.ntl");
var _NTIP_CheckList = new Array();
function NTIPOpenFile(filepath)
{
 var _nipfile;
 var _line;
 _nipfile = FileOpen(filepath, 0);
 if(!_nipfile)
  return false;
 while(!_nipfile.eof)
 {
  _line = NTIPParseLineInt(_nipfile.ReadLine());
  if(_line)
   _NTIP_CheckList.push(_line);
 }
 _nipfile.Close();
 return true;
}
function NTIPCheckItem(item)
{
 var i;
 var _identified;
 var _result = 0;
 _identified = item.itemflag & 0x10;
 for(i = 0 ; i < _NTIP_CheckList.length ; i++)
 {
  if(_NTIP_CheckList[i][0].length > 0)
  {
   if(eval(_NTIP_CheckList[i][0]))
   {
    if(_NTIP_CheckList[i][1].length > 0)
    {
     if(eval(_NTIP_CheckList[i][1]))
      return 1;
     else if(!_identified && _result == 0)
      _result = -1;
    }
    else
     return 1;
   }
  }
  else if(_NTIP_CheckList[i][1].length > 0)
  {
   if(eval(_NTIP_CheckList[i][1]))
    return 1;
   else if(!_identified && _result == 0)
    _result = -1;
  }
 }
 return _result;
}
// Internal function
function NTIPParseLineInt(input)
{
 var i;
 var _start, _end;
 var _section, _keyword;
 var _result;
 _end = input.indexOf("//");
 if(_end != -1)
  input = input.substring(0, _end);
 input = input.replace(/ |;/g, "").toLowerCase();
 if(input.length < 5)
  return null;
 _result = input.split("#");
 if(_result[0] && _result[0].length > 4)
 {
  _section = _result[0].split("[");
  _result[0] = _section[0];
  for(i = 1 ; i < _section.length ; i++)
  {
   _end = _section[i].indexOf("]") + 1;
   switch(_section[i][0])
   {
   case 't':
    _result[0] += "item.itemtype";
    break;
   case 'n':
    _result[0] += "item.classid";
    break;
   case 'c':
    _result[0] += "item.itemclass";
    break;
   case 'q':
    _result[0] += "item.quality";
    break;
   case 'f':
    if(_section[i][_end] == '!')
     _result[0] += "!(item.itemflag&";
    else
     _result[0] += "(item.itemflag&";
    _end += 2;
    break;
   case 'l':
    _result[0] += "item.itemlevel";
    break;
   case 'p':
    _result[0] += "item.itemprefix";
    break;
   case 's':
    _result[0] += "item.itemsuffix";
    break;
   default:
    Print("Unknown Keyword : " + input);
    break;
   }
   for(_start = _end ; _end < _section[i].length ; _end++)
   {
    if(!NTIPIsSyntaxInt(_section[i][_end]))
     break;
   }
   _result[0] += _section[i].substring(_start, _end);
   for(_start = _end ; _end < _section[i].length ; _end++)
   {
    if(NTIPIsSyntaxInt(_section[i][_end]))
     break;
   }
   _keyword = _section[i].substring(_start, _end);
   if(isNaN(_keyword))
   {
    switch(_section[i][0])
    {
    case 't':
     _result[0] += _NTIPAliasType[_keyword];
     break;
    case 'n':
     _result[0] += _NTIPAliasClassID[_keyword];
     break;
    case 'c':
     _result[0] += _NTIPAliasClass[_keyword];
     break;
    case 'q':
     _result[0] += _NTIPAliasQuality[_keyword];
     break;
    case 'f':
     _result[0] += _NTIPAliasFlag[_keyword] + ")";
     break;
    }
   }
   else
   {
    if(_section[i][0] == 'f')
     _result[0] += _keyword + ")";
    else
     _result[0] += _keyword;
   }
   _result[0] += _section[i].substring(_end);
  }
 }
 else
  _result[0] = "";
 if(_result[1] && _result[1].length > 4)
 {
  _section = _result[1].split("[");
  _result[1] = _section[0];
  for(i = 1 ; i < _section.length ; i++)
  {
   _end = _section[i].indexOf("]");
   _keyword = _section[i].substring(0, _end);
   if(isNaN(_keyword))
    _result[1] += "item.GetStat(" + _NTIPAliasStat[_keyword] + ")";
   else
    _result[1] += "item.GetStat(" + _keyword + ")";
   _result[1] += _section[i].substring(_end+1);
  }
 }
 else
  _result[1] = "";
 return _result;
}
function NTIPIsSyntaxInt(ch)
{
 return (ch == '!' || ch == '%' || ch == '&' || (ch >= '(' && ch <= '+') || ch == '-' || ch == '/' || (ch >= ':' && ch <= '?') || ch == '|');
}