⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpptokenizer.java

📁 检查Java程序漏洞
💻 JAVA
字号:
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package net.sourceforge.pmd.cpd;import net.sourceforge.pmd.cpd.cppast.CPPParser;import net.sourceforge.pmd.cpd.cppast.CPPParserTokenManager;import net.sourceforge.pmd.cpd.cppast.Token;import net.sourceforge.pmd.cpd.cppast.TokenMgrError;import java.io.StringReader;import java.util.ArrayList;import java.util.List;public class CPPTokenizer implements Tokenizer {    protected String EOL = System.getProperty("line.separator", "\n");    private static boolean initted;    public void tokenize(SourceCode sourceCode, Tokens tokenEntries) {        StringBuffer sb = sourceCode.getCodeBuffer();        try {            // now tokenize it            if (!initted) {                new CPPParser(new StringReader(sb.toString()));                initted = true;            }            CPPParser.ReInit(new StringReader(sb.toString()));            Token currToken = CPPParserTokenManager.getNextToken();            int count = 0;            while (currToken.image != "") {                count++;                tokenEntries.add(new TokenEntry(currToken.image, sourceCode.getFileName(), currToken.beginLine));                currToken = CPPParserTokenManager.getNextToken();            }            tokenEntries.add(TokenEntry.getEOF());            System.out.println("Added " + sourceCode.getFileName());        } catch (TokenMgrError err) {            System.out.println("Skipping " + sourceCode.getFileName() + " due to parse error");            List emptyCode = new ArrayList();            emptyCode.add("");            tokenEntries.add(TokenEntry.getEOF());        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -