小编Ira*_*ter的帖子

什么是帮助浏览/遵循C代码的好工具?

我有时需要修改OSS代码或其他人的代码(通常是基于C的,但有时候是C++/Java)并找到自己的"grep"类型,函数声明等标题,因为我遵循代码流并尝试理解系统.是否有一个很好的工具可以帮助代码浏览.我希望能够点击一个类型并被带到声明或点击一个函数名称并被带到它的实现.我在Linux机器上,所以像"只使用Visual Studio"这样的回复不一定适合我.谢谢!

c browser code-search-engine

12
推荐指数
5
解决办法
1万
查看次数

日语COBOL代码:G文字和标识符的规则?

我们正在处理IBMEnterprise日语COBOL源代码.

准确描述G类型文字中允许的内容以及标识符允许的内容的规则尚不清楚.

IBM手册指出G'....'文字必须有SHIFT-OUT作为引号内的第一个字符,SHIFT-IN作为结束引号前的最后一个字符.我们的COBOL词法分析器"知道"这个,但在实际代码中找到G字符的对象.结论:IBM手册错了,或者我们误解了它.客户不会让我们看到代码,因此诊断问题非常困难.

编辑:为了清楚起见,修改/扩展到文本下方:

有谁知道G字形的确切规则,以及它们(不)与IBM参考手册所说的相符?理想的答案是G字面的正则表达式.这就是我们现在使用的(由另一位作者编码,叹息):

#token non_numeric_literal_quote_g [STRING]
  "<G><squote><ShiftOut> (  
     (<NotLineOrParagraphSeparatorNorShiftInNorShiftOut>|<squote><squote>|<ShiftOut>)  
     (<NotLineOrParagraphSeparator>|<squote><squote>)

     | <ShiftIn> ( <NotLineOrParagraphSeparatorNorApostropheNorShiftInNorShiftOut>|
                   <ShiftIn>|<ShiftOut>)

     | <squote><squote>

 )* <ShiftIn><squote>"
Run Code Online (Sandbox Code Playgroud)

其中<name>是另一个正则表达式的宏.据推测,它们的名字足够好,所以你可以猜出它们包含的内容.

这是IBM Enterprise COBOL Reference.第3章"字符串",副标题"DBCS文字"第32页是相关阅读.我希望通过提供准确的参考,经验丰富的IBM员工可以告诉我们我们如何误读它: - {我特别不清楚"DBCS-characters"这个短语在什么时候表示" 该范围内有一个或多个字符 "对于任一字节,X'00 ...... X'FF"除了8位字符代码对之外,DBCS字符怎么样?如果你检查它,现有的RE匹配3种类型的字符对.

下面的一个答案表明<squote> <squote>配对是错误的.好吧,我可能会相信,但这意味着RE只会拒绝包含单个<squote>的文字字符串.我不相信这是我们遇到的问题,因为我们似乎绊倒了G字面的每个实例.

类似地,COBOL标识符可以用DBCS字符组成.究竟是什么允许标识符?同样,正则表达式将是理想的.

编辑2:我开始认为问题可能不是RE.我们正在阅读Shift-JIS编码的文本.我们的读者将该文本转换为Unicode.但是DBCS字符实际上不是Shift-JIS; 相反,它们是二进制编码数据.可能正在发生的事情是DBCS数据被翻译为就像它是Shift-JIS一样,这会破坏将"两个字节"识别为DBCS元素的能力.例如,如果DBCS字符对是:81:1F,则ShiftJIS读取器会将此对转换为单个Unicode字符,然后丢失其双字节性质.如果您不能计算对,则无法找到最终报价.如果找不到最终引用,则无法识别文字.所以问题似乎是我们需要在lexing过程中切换输入编码模式.育.

unicode cobol literals

11
推荐指数
1
解决办法
1420
查看次数

Google Code Search一样的源代码索引器和可视化工具

我正在寻找一种方法来搜索我们的subversion存储库或只是打包的源代码.

是否有可下载的服务器/工具(如Google Code Search)来索引源代码(最好支持svn等版本控制系统)并允许我们在其中进行搜索?

是否有任何工具可以索引文档?

language-agnostic search indexer code-search-engine

10
推荐指数
2
解决办法
5610
查看次数

Javascript重复代码检测器?

我正在寻找一个识别重复/冗余Javascript代码的软件.我发现了一个名为CloneDR的工具,但不知道它有多好.

我一直在寻找类似的开源工具.请指导.

javascript dry

10
推荐指数
1
解决办法
2743
查看次数

FxCop - 在适当的地方使用属性

我在服务层有接口,有几个方法,从Get和FxCop的Use属性开始,适当的规则抱怨我应该考虑使用属性.

我尝试使用SuppressMessageAttribute,但是当它在接口上定义时,它对成员方法没有影响.我是否需要将SuppressMessageAttribute放到每个方法中,还是有办法抑制整个类型的CA1024?

[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate"]
public interface IProjectService
{
    // Information and statistics about projects
    IList<ProjectInfo> GetProjects();
    ProjectsDashboard GetProjectsDashboard();

    // Project's settings
    ProjectSettings GetProjectSettings(Guid id);

    void SaveProjectSettings(ProjectSettings settings);
}
Run Code Online (Sandbox Code Playgroud)

c# code-analysis fxcop

9
推荐指数
1
解决办法
5570
查看次数

是否有适用于C++的工作语义差异工具?

我发现只有废弃的项目,理论和功能列表.但我找不到可以比较两个C++源文件并显示语义差异的工具.

当然,我不会比较两个不相关的文件,或者在10年的开发和维护期间积累的变化.但是,通常在代码审查中讨论的更改将更容易理解,如果与正确的含义一起呈现,而不是在字符/字/行级别进行文本更改

c++ diff semantics

9
推荐指数
1
解决办法
2513
查看次数

从大项目中获取代码统计信息

我对代码统计工具感兴趣.具体来说,我需要获得有关Java EE代码的统计信息,但任何代码分析器都可以.我应该开始创建自己的一个还是有一些你用过的项目?

恩.LOC,班级数量,库...

你有什么经历?

java statistics evaluation metrics code-analysis

9
推荐指数
2
解决办法
7744
查看次数

我们可以衡量网站的复杂性吗?

我熟悉使用圈复杂度来测量软件.但是,就网站而言,我们是否有一种衡量网站复杂性的指标?

website-metrics code-metrics

8
推荐指数
1
解决办法
1671
查看次数

AST翻译?

我有一个AST(抽象语法树),现在我想测试我的编译器,给它2个或更多的数字,并期望输出与数学运算的结果(如计算器).

我的问题是,构建解释器的最佳方法是什么?访问AST节点是递归的,所以我不知道有多少封装计算存在,直到我到达树的末尾.但由于这是通过迭代迭代完成的,我怎样才能最终完成所有操作?

谢谢

interpreter abstract-syntax-tree

8
推荐指数
1
解决办法
5282
查看次数

是否有c ++的非模板元语言?

我正在阅读boost :: MPL作者的c ++模板元编程书.我是精神/凤凰图书馆的忠实粉丝.

但是我很想知道.使用c ++元编程模板是一件麻烦事.它不是用于那种用途.模板和宏都不支持循环.在模板中,您基本上必须通过递归.

据我了解,c ++编译过程大致如下:

  1. 扩展/评估宏
  2. 实例化模板(代码生成)
  3. 然后实际的其他编译步骤(词法分析,解析,中间代码生成,机器独立优化,生成程序集/目标文件/链接......)

模板元编程是对第1步和第2步的攻击,20年前被错误地发现了.

使用实际语言不是更简单吗?我的意思是一些语言可以访问c ++语法树并操纵它,以及良好的文本处理能力.

我正在考虑像twig/django这样的模板语言,以及g ++ AST的相应钩子,以及type_traits和pod类型的原生定义.

这存在吗?我在网上找不到这样的东西.它可以实现与c ++模板元编程相同的结果(以及更多),但编译速度更快,代码更清晰,更易读.

c++ metaprogramming

8
推荐指数
1
解决办法
833
查看次数