コード例 #1
0
ファイル: ScanParameters.cs プロジェクト: npsavin/nsudotnet
        private static Dictionary<string, ScanParameters> initETNDictionary()
        {
            Dictionary<string, ScanParameters> res = new Dictionary<string, ScanParameters>();

            scanParameters = new ScanParameters();
            scanParameters.setUselessChars(new char[] { '\t', ' ', '\n', '{', '}', '(', ')', ';', '\r' });
            scanParameters.setCommentRegex("(/\\*[^\\*]*[^/]*/|\\/\\/[^\\n]*)");

            TEXT = new ScanParameters();
            TEXT.setUselessChars(new char[]{});

            res.Add("*", TEXT);

            res.Add(".java", scanParameters);
            res.Add(".cs", scanParameters);
            res.Add(".as", scanParameters);
            res.Add(".cpp", scanParameters);
            res.Add(".h", scanParameters);
            res.Add(".c", scanParameters);

            return res;
        }
コード例 #2
0
ファイル: Scanner.cs プロジェクト: npsavin/nsudotnet
        public static ScanInfo scan(FileConteiner file, ScanParameters param)
        {
            ScanInfo info = new ScanInfo();
            info.path = file.path;
            info.fileName = file.fileName;

            string[] rawLines = file.raw.Split('\n');
            string[] cuttedLines = GetContentWithoutComments(file.raw, param.getCommentRegex()).Split('\n');

            info.rawLinesCount = rawLines.Length;
            info.cuttedLinesCount = cuttedLines.Length;

            int usefullLinesCount = 0;

            foreach (string line in cuttedLines) {
                if (isUsefulLine(line, param.getUselessChars())) {
                    usefullLinesCount++;
                }
            }

            info.usefullLineCount = usefullLinesCount;

            return info;
        }