ircmaxell/php-c-parser

在PHP中使用时解析C代码

v0.1.0 2019-10-24 15:56 UTC

This package is auto-updated.

Last update: 2024-09-14 18:09:50 UTC


README

这是一个将C代码解析成抽象语法树(AST)的库。使用PHP。

是的,这是一个非常糟糕的主意...

示例

$parser = new PHPCParser\CParser;

$ast = $parser->parse('path/to/file');

请注意,所有预处理器指令都正确解析。

如果您需要设置预处理器定义,可以使用上下文;

$parser = new PHPCParser\CParser;

$context = new PHPCParser\Context;
// #define A 42
$context->defineInt('A', 42);
// #define B "testing"
$context->defineString('B', "testing");
// #define C testing
$context->defineIdentifier('C', 'testing');
// etc... 

$ast = $parser->parse('path/to/file', $context);

这就是全部内容(直到它工作为止...)...

从Clang生成AST

$ clang -cc1 -ast-dump test.c