文件名称:quala:C语的自定义类型系统
文件大小:130KB
文件格式:ZIP
更新时间:2024-06-01 00:54:58
C++
Quala:LLVM / Clang的类型限定符 这是一个受Java 8的和启发而在LLVM和Clang中添加覆盖类型系统的实验。 用户可自定义的类型系统使添加可选检查到一种语言成为可能,而不会破坏编译器。 这个世界充满了关于一次性类型系统的好主意,这些系统可以帮助识别特定的问题(例如SQL注入),但是要把所有这些问题都集成到语言规范或编译器中是不可行的。 谁愿意处理他们实际上没有使用的数百种类型系统扩展? Java的JSR-308为这个问题发明了一个聪明的解决方案:使类型系统可插入。 为该语言添加对任意类型注释的支持,然后让用户加载库,这些库为他们可以梦想的任何系统提供键入规则。 我想把这个想法移植到C和C ++上:我需要自定义类型限定符在中间表示中可见,以便重量级编译器可以使用它们。 这是尝试允许Clang中的类型限定符和自定义类型检查器将其类型记录为结果LLVM IR中的元数
【文件预览】:
quala-master
----.gitignore(40B)
----common.mk(1KB)
----Makefile(921B)
----bin()
--------cc(853B)
--------c++(2B)
----TypeAnnotations.h(11KB)
----LICENSE(1KB)
----.gitmodules(152B)
----qτ.jpeg(108KB)
----examples()
--------tainting()
--------nullness()
----.syntastic_cpp_config(84B)
----AnnotationInfo.h(369B)
----README.md(6KB)
----clang()
----cchelper.sh(258B)
----llvm()
----AnnotationInfo.cpp(1KB)