             compileCommands[arg.split(":")[1]] = args[i + 1]
             i += 2
         else if arg == "-d"
-            assert(args[i + 1].search(/^(\/|\.\/|\.\.\/)/) == -1)
+            assert(
+                args[i + 1].search(/^(\/|\.\/|\.\.\/)/) == -1,
+                "Dummy can't start with `/`, `./` or `../`."
+            )
             dummies.push(args[i + 1])
             i += 2
         else if arg == "-i"

    negations.forEach (m) ->
        if m[1] == ""
            if m[3] == ""
                assert(relativeFilePath != m[2], "Negation violated.")
            else
                assert(not relativeFilePath.startsWith(m[2]), "Negation violated.")
        else
            if m[3] == ""
                assert(not (
                    relativeFilePath.endsWith("/" + m[2]) or
                    relativeFilePath == m[2]
                ), "Negation violated.")
            else
                assert(not (
                    relativeFilePath.includes("/" + m[2]) or
                    relativeFilePath.startsWith(m[2])
                ), "Negation violated.")
    rawCodeType = path.extname(filePath).substr(1) # strip the leading "."
    rawCode = fs.readFileSync(filePath, {encoding: "utf8"})
    baseDirectory = path.dirname(filePath)

            i++
        else if arg == "-n"
            negation = args[i + 1].match(/^((?:\*\/)?)([^*]+)(\*?)$/)
            assert(negation != null, "Invalid negation pattern.")
            negations.push(negation)
            i += 2
        else if arg in ["--version", "-v"]
