作者:闪亮宁(snsn1984)

一些自己的收藏LLVM/Clang代码,而他自己写一些一点点LLVM/Clang译器的代码。在这里把这些代码库分享出来,欢迎大家交流探讨。

1.crange

https://github.com/shining1984/crange

这是一个python写的调用libclang去定位和交叉检索C/C++源代码的工具。

这个工具不是我写的。我给fork过来了,方便自己加一些自己的代码。

2. libclang-examples

https://github.com/shining1984/libclang-examples

这是我自己写的使用python去调用libclang的几个简单的样例,兴许会逐渐加入。

3.screader

https://github.com/shining1984/screader

自己写的一个工具叫screader,是用C语言实现的调用libclang去实现代码交叉索引的工具。还有待进一步完好。

4.llvm-clang-samples

https://github.com/shining1984/llvm-clang-samples

Eli写的一些关于怎样使用LLVM/Clang中的库以及内部机制的一些样例。Eli对LLVM/Clang有非常深的研究,而且有着大量的博文,他的博客地址:eli.thegreenplace.net

5. compiler_exercise_code

https://github.com/shining1984/compiler_exercise_code

我自己写的简单编译器的代码。眼下已经实现了一个简单版本号的词法分析器,兴许继续实现中。

这个代码是用C++实现的,并非为了真正的实现编译器。主要是为了通过简单的代码去展示编译器的大致处理过程。

6. llvm-examples

https://github.com/shining1984/llvm-examples

该代码库也刚成立自己,只需上传样本。

在这里,我们把一些在LLVM样品或简单的项目建设,根据主要是为了演示如何LLVM建设项目,以及如何使用LLVM库和IR。

LLVM每日谈21 一些编译器和LLVM/Clang代码的更多相关文章

  1. LLVM每日谈之二十 Everything && Clang driver

    作者:史宁宁(snsn1984) 近期在读<Getting Started with LLVM Core Libraries>.这是读的第一本LLVM的书.非常多地方尽管讲的是自己知道的东 ...

  2. [置顶] LLVM每日谈之十五 LLVM自带的examples

    作者:snsn1984 在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关注这些例子,但是这些例子确实是精华中的精华,在LLVM的学习过程中不 ...

  3. LLVM每日谈之十九 LLVM的第一本系统的书&lt;Getting Started with LLVM Core Libraries&gt;

    作者:史宁宁(snsn1984) LLVM最终有了一本系统的书了--<Getting Started with LLVM Core Libraries>. 这本书号称是LLVM的第一本书, ...

  4. c 各种编译器(gcc clang)

    很多时候,出现一些类似GNU,GCC,CLANG,LLVM等与编译器有关的名词的时候,都不太清楚它到底是干嘛的,理解这些东西后, 对于xcode中很多配置型的需求修改起来都会得心应手,因此有必要了解透 ...

  5. android 中的一些资源注解,让编译器帮你检查代码

    android 中的一些资源注解,让编译器帮你检查代码 写方便的时候可以用注解来声明一些参数,以明确的指示参数的类型,让代码更安全.我们看到,在android源代码里大量使用了注解.我整理了一些注解如 ...

  6. 21 段实用便捷的 PHP 代码

    PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点.这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的 PHP 开发 ...

  7. 浅谈对JIT编译器的理解。

    1. 什么是Just In Time编译器? Hot Spot 编译 当 JVM 执行代码时,它并不立即开始编译代码.这主要有两个原因: 首先,如果这段代码本身在将来只会被执行一次,那么从本质上看,编 ...

  8. linux每日命令(21):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. 一. exec参数说明: -exec 参数后面跟的是com ...

  9. 禁用 C# 编译器对某段代码的警告

    发使用 C# 编译器编译一些项目的时候, C# 编译器可能会生成一些警告信息, 有些代码段的警告信息是程序员知道的,所以希望 C# 编译器不要对这段代码进行任何的警告. 在 VS 中的项目选项中可以对 ...

随机推荐

  1. iostat查看io情况(监控Linux的8种方式)

    查看TPS和吞吐量信息[root@controller ~]#iostat -d -k 1 10Device:         tps    kB_read/s    kB_wrtn/s    kB_ ...

  2. Python 脚本帮你找出微信上删除了你的“好友“

  3. vi/vim高级命令集粹

    vi/vim高级命令集粹 (ctrl +v过来 留着以后看) 1.交换两个字符位置 xp 2.上下两行调换 ddp 3.把文件内容反转 :g/^/m0/ (未通过) 4.上下两行合并 J 5.删除所有 ...

  4. Cocos2d-x3.0模版容器具体解释之二:cocos2d::Map&lt;K,V&gt;

    1.概述: 版本号: v3.0 beta 语言: C++ 定义在 "COCOS2DX_ROOT/cocos/base" 路径下的 "CCMap.h" 的头文件里 ...

  5. poj 3263 Tallest Cow

    一个压了很久的题目,确实很难想,看了别人的做法后总算明白了. 首先要明白一点,因为题目说明了不会有矛盾,所以题目给出来的区间是不能相交的,否则是矛盾的.(原因自己想) 然后既然区间只能是包含的,就很明 ...

  6. Swift - 使用UISearchController实现带搜索栏的表格

    我原来写过一篇文章“Swift - 带结果列表的搜索条(UISearchDisplayController)的用法”,当时是使用UISearchDisplayController来实现带有搜索功能的列 ...

  7. XML文件解析之--DOM与SAX

    xml文件又称‘可扩展性标记语言’,可以对文档和数据进行结构化处理,从而能够在部门.客户和供应商之间进行交换,实现动态内容生成,企业集成和应用开发. 我们在进行web开发的时候离不开xml文件,xml ...

  8. WCF随笔3----消息编码器

    原文:WCF随笔3----消息编码器 我们都知道,message是wcf通信框架进行通信的最基本的单位,但是wcf开发人员其实根本不需要直接与message打交道,一样能够写好wcf相关的程序.这是因 ...

  9. 设置MyEclipse中代码的换行长度

    1.打开Preferences -> Java -> Code Style -> Formatter. 2.选择Edit -> Line Wrapping  -> Max ...

  10. hdu 4691 Front compression (后缀数组)

    hdu 4691 Front compression 题意:很简单的,就是给一个字符串,然后给出n个区间,输出两个ans,一个是所有区间的长度和,另一个是区间i跟区间i-1的最长公共前缀的长度的数值的 ...