         if firstDotIndex isnt -1
             extension = name[firstDotIndex...] + extension
             name = name[0...firstDotIndex]
+
+        # TODO: Maybe exit and print error if isn't executable??
 
         execStat = if utils.isBinaryExecutable execFile then getFileInfo(execFile) else null
         { name: path.join(dir, name), extension, execFileStat: execStat }


# Testing code
###
timer = new Program "/home/albert/Dropbox/UPC/FIB/6eQuatri/PCA/Lab/sessio3/lab3_session/pi/pi.3gStaTicPg"
console.log timer
timer = new Program "/home/albert/Dropbox/UPC/FIB/6eQuatri/PCA/Lab/sessio3/lab3_session/pi/pi.3gspg"
console.log timer


        ext = ext[1..].toLowerCase() # Get rid of the dot and put to lowercase

        flagString = new ListString()
        for flagName in ext.split('.')
            initialMatching = _.size(COMPILER_FLAGS)
            currentMatchingFlags = {}
            i = longestMatchingFlag = nMatching = undefined

            do resetInfo = ->
