code: function() {
  		var tables = {};
  		curr = scanner.next();
  		while(curr.value !== 'EOF') {
  			if(groupIs(0, 'ENDSEC'))
  				break;
  
  			if(groupIs(0, 'TABLE')) {
  				curr = scanner.next();
  
  				var tableDefinition = tableDefinitions[curr.value];
  				if(tableDefinition) {
  					log.debug(curr.value + ' Table {');
  					tables[tableDefinitions[curr.value].tableName] = parseTable();
  					log.debug('}');
  				} else {
  					log.debug('Unhandled Table ' + curr.value);
  				}
  			} else {
  				// else ignored
  				curr = scanner.next();
  			}
  		}
  
  		curr = scanner.next();
  		return tables;
  	}
docs: parseTables
  @return {Object} Object representing tables