水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:请问下有对LLVM熟悉的大佬吗,想了解下LLVM的几个步骤
楼主
|
chuandeng
|
2023-05-13 08:56:48
|
展开
最近搞其他东西,需要依赖编译器大概看了下LLVM,有几个问题没找到答案:
1、在哪里实现的读取待编译的目录、文件(比如:C文件和头文件);
2、在哪里实现的词法分析;
3、在哪里实现的语法分析;
4、在哪里实现的语义分析;
谢谢
--
FROM 112.20.92.*
1楼
|
chuandeng
|
2023-05-13 09:03:50
|
展开
找到这往篇文章,感觉还可以:
https://blog.csdn.net/qq_42633819/article/details/106988948
--
FROM 112.20.92.*
3楼
|
chuandeng
|
2023-05-13 10:37:22
|
展开
感谢大佬,我自己也找了下,位置没有找对,找到LLVM目录里边去了。
【 在 BigCarrot 的大作中提到: 】
: 你要的东西基本上都在llvm-project/clang/下
: lib/Lex
: lib/Parse
: ...................
--
修改:chuandeng FROM 117.136.45.*
FROM 117.136.45.*
5楼
|
chuandeng
|
2023-05-13 21:13:53
|
展开
个人比较喜欢C代码,其实是想开发一个类似 SourceInsight这样的代码阅读神器。
现在是处于读入待编译的C项目,解析C源文件、头文件的步骤中。
你这项目估计看不太懂啊
【 在 zhimin 的大作中提到: 】
:
https://github.com/matazure/prajna
可以看下我的项目, 里面有parser可以看下. LLVM是编译器后端, 你说的那几个是编译器前端, 不在llvm的范畴里.
: 也可以看下clang项目和rust项目的代码, 他两就是编译器前端
--
FROM 112.20.92.*
8楼
|
chuandeng
|
2023-05-14 07:25:33
|
展开
是的,代码比较复杂,昨天看了下代码,还未找到入口,另外自己水平也比较菜估计有十多年没搞过C++了
看了下,很多语法很是陌生
有点尴尬
【 在 zhimin 的大作中提到: 】
:
: vscode的c++插件解析C代码挺好用的, 你可以先参考下那个.
: clang的代码解析本身还是比较复杂的, c++插件里的那个应该更容易上手
--
FROM 112.20.92.*
9楼
|
chuandeng
|
2023-05-14 07:29:24
|
展开
SourceInsight看觉阅读代码,简直牛B的不行
看代码只需要一个鼠标,吊打一切代码阅读工具。。。。。
感觉这个Context和Relation这两个窗口简直爽歪歪。。。。。
不过代码编译,调试这块感觉不太好,不知道是不是用得不太熟悉导致的
【 在 BigCarrot 的大作中提到: 】
: 这个要顶
: 能给vsc加一个context window就很好了
:
--
FROM 112.20.92.*
13楼
|
chuandeng
|
2023-05-14 14:39:12
|
展开
谢谢大佬,感觉自己写的话太难,水平有限搞不出来。
使用的群体确实有限,如果是靠这个赚钱更是无从说起。
这几天看clang的源码,眼睛都看花了,进展非常缓慢。
也不知道能不能写,也不知道能写成啥样
【 在 hgoldfish 的大作中提到: 】
: 解析代码的话,现在已经有很多现成的项目搞好了。最常用的就是楼上说的 libclang,KDE 家的 crazymodel,我记得以前还见过 python 写的解析 c 语法树的项目。如果只是 c 语言自己写个语法解析也不难,足够拿来做代码分析了。
: 但是,这种工具的客户群太小了。做出来也没人用。还得花费你巨多时间。你深思一下啊。
:
--
FROM 112.20.92.*
16楼
|
chuandeng
|
2023-05-14 19:43:59
|
展开
我也在想,如果一般的菜鸟轻意就搞出来了,国外也就没有那么快卡脖子了。。。。
【 在 zhimin 的大作中提到: 】
: 难度远大于clang的解析器, 因为要解释代码存在一定错误的情况。 clang的解析器事代码完全正确的场景
: - 来自 水木社区APP v3.5.7
--
FROM 112.20.92.*
18楼
|
chuandeng
|
2023-05-14 21:50:47
|
展开
感觉现在学习能力下降非常得快。
心有余而力不足,蛋疼。。
【 在 zhimin 的大作中提到: 】
: 你要是想专注搞个几年, 应该是可以有所突破的, 到时候来帮我把prajna的智能提示支持了.
: 可以多看看智能提示插件实现的资料, 那里会提到一些相关的东西, clang的其实没必要看了, 里面的内容大部分不是代码解析相关的
--
FROM 112.20.92.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版