static String readAndValidate(File file) {
        StringBuilder source = new StringBuilder();

        try {
            int lineNumber = 1;
            String line;
            int nestedLoops = 0;

            BufferedReader reader = new BufferedReader(new FileReader(file));
            while ((line = reader.readLine()) != null) {
                int symbolNumber = 1;

                for (char c : line.toCharArray()) {
                    if (TERMINAL_SYMBOLS.contains(c + "")) {
                        source.append(c);

                        if (c == '[') nestedLoops++;
                        if (c == ']') nestedLoops--;

     /*                   if (nestedLoops < 0)
                            throw new FuckedException("Unexpected ']' at line " + lineNumber + ", symbol " + symbolNumber);*/
                    }

                    symbolNumber++;
                }

                lineNumber++;
            }

            /*if (nestedLoops != 0)
                throw new FuckedException("Unexpected EOF. No matching ']' found.");*/

        } catch (FileNotFoundException e) {
            throw new FuckedException("File " + file.getName() + " not found");
        } catch (IOException e) {
            throw new FuckedException("Error reading file " + file.getName());
        }

        return source.toString();
    }