
clang-tidy
文章平均质量分 92
或许对了
我曾七次鄙视自己的灵魂
展开
-
Clang ASTMatcher 学习
Clang ASTMatcher 学习前言在上一章中介绍了一个通过递归遍历整个 AST 树的方法 RecursiveASTVisitor ,但当我们开始使用它来实现一些功能时发现可能由于代码结构比较复杂,想要找到我们需要的目标代码节点需要编写大量的代码来实现。本章介绍一个新的功能 clang ASTMatcher ,它提供了给我们一些语法、接口可以通过类似命令行的方式来实现快速匹配我们需要的节点,并且配合 clang-query 来快速验证查询语法的正确性,大大提高效率。ASTMatcher 介转载 2020-11-03 12:22:56 · 1382 阅读 · 0 评论 -
clang-tidy——静态代码分析框架
clang-tidy——静态代码分析框架clang-tidy介绍clang-tidy是一个基于clang的静态代码分析框架,支持C++/C/Objective-C。它是一个功能更强大的lint工具。绝大部分lint工具只能在出现问题的代码地方给出提示,之后需要人为修改,而clang-tidy则能够自动修复功能(当然这个如何修复需要该check作者提供);并且clang-tidy采用模块化设计,非常容易扩展。如果用户想往clang-tidy添加一个新的检测功能,只需要编写一个clang-tidy che转载 2020-09-14 12:02:18 · 9696 阅读 · 0 评论 -
使用LibTooling和LibASTMatchers构建工具的教程
使用LibTooling和LibASTMatchers构建工具的教程本文档旨在说明如何基于Clang的LibTooling构建有用的源到源翻译工具。它专门针对刚接触Clang的人员,因此您所需要的只是对C ++和命令行的了解。为了在编译器上工作,您需要一些抽象语法树(AST)的基础知识。为此,鼓励读者略读Clang AST简介步骤0:获取clang由于Clang是LLVM项目的一部分,因此您需要首先下载LLVM的源代码。Clang和LLVM都在同一个git仓库中,位于不同目录下。有关更多信息,请参见翻译 2020-08-17 15:33:38 · 1172 阅读 · 0 评论 -
深入研究Clang(十三) clang-tidy简介
深入研究Clang(十三) clang-tidy简介最近几天在关注clang-tidy,有一些体会,简单做一些笔记。分享给感兴趣的朋友们,也是给将来的自己看。1、clang-tidy是基于AST的静态检查工具。因为它基于AST,所以要比基于正则表达式的静态检查工具更为精准,但是带来的缺点就是要比基于正则表达式的静态检查工具慢一点。也是因为它基于AST,所以clang-tidy运行的时候需要知道编译命令。2、clang-tidy不仅仅可以做静态检查,还可以做一些修复工作。3、clang-tidy是基于转载 2020-08-14 17:00:12 · 1569 阅读 · 1 评论 -
微软技术博客:扩展Clang-Tidy
探索Clang工具第1部分:扩展Clang-TidyExploring Clang Tooling Part 1: Extending Clang-TidyStephenOctober 19th, 2018This post is part of a regular series of posts where the C++ product team and other guests answer questions we have received from customers. The que转载 2020-08-13 16:02:07 · 760 阅读 · 0 评论 -
大佬博客作品目录
[置顶]个人作品目录转自:http://www.cppblog.com/vczh自我感觉良好系列代码:GacUI官网[http://www.gaclib.net/]讨论群[231200072]项目主页[https://github.com/vczh-libraries/Release]编程相关讨论1000人群:点击进入IDE实验项目Release提供下载!Cppblog博客下载小程序:点击进入语法分析推荐书籍:我推荐的书:《Parsing Techniques》,还有它转载 2020-08-13 15:32:17 · 167 阅读 · 0 评论 -
Clang 使用学习系列
Clang 使用学习系列文章推荐Clang ASTMatcher基础学习Clang AST 基础学习构建Clang libTooling 工具Windows 下通过 CMAKE 搭建 LLVM 环境转载 2020-08-13 15:14:16 · 319 阅读 · 0 评论 -
AST Matcher语法树实战工具之clang-query
AST Matcher语法树实战工具之clang-query开发过程中,写完一个matcher如何检验是否合理正确有效?如果每次都是写完之后去工程跑plugin校验,那是相当烦的。有什么快捷的办法吗?clang-query了解一下?clang-query作用:test matchers :交互式检验explore AST:探索AST 结构&关系使用:首先通过make clang-query 编译获取tool(详细步骤看上篇)然后准备好你的Test project &am转载 2020-08-13 15:08:02 · 1766 阅读 · 0 评论 -
编译原理--语法分析技术简介
语法分析技术简介语法分析(parsing or syntax analysis)最常用于实现编程语言的编译器,它的作用是输入一串词法单元,验证这些词法单元组成句子的语法是否正确,并输出语法分析树。这就好比假如词法单元是单词,语法分析就是分析一串单词组成的句子能否套入某类语法句型,并确定每个单词的词性,以便于进一步分析句子的语义。然而语法分析不仅仅适用于编译器实现,它是一项类似正则表达式般通用的技术。如《Parsing Techniques》介绍,语法分析广泛应用于数据库接口、自描述数据、人工智能等领域转载 2020-08-13 15:02:15 · 3431 阅读 · 0 评论 -
如何给 clang-tidy 写新 checker
如何给 clang-tidy 写新 checkerI’M TWICE[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PSsxCzHe-1597289292780)(https://imtwice.cn/images/write-new-checker-for-clang-tidy/clang-tidy-in-clion.png)]clang-tidy-in-clionclang-tidy 里的 checker 起着着怎样的作用clang-tidy 作为 c++ 中少数几转载 2020-08-13 11:28:53 · 1840 阅读 · 0 评论