{"title":"Clang\u3067AST\u3092\u51fa\u529b\u3059\u308b","url":"https://blog.hamayanhamayan.com/entry/2017/06/05/152925","blog_title":"\u306f\u307e\u3084\u3093\u306f\u307e\u3084\u3093\u306f\u307e\u3084\u3093","published":"2017-06-05 15:29:25","author_url":"https://blog.hatena.ne.jp/hamayanhamayan/","type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fblog.hamayanhamayan.com%2Fentry%2F2017%2F06%2F05%2F152925\" title=\"Clang\u3067AST\u3092\u51fa\u529b\u3059\u308b - \u306f\u307e\u3084\u3093\u306f\u307e\u3084\u3093\u306f\u307e\u3084\u3093\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","height":"190","blog_url":"https://blog.hamayanhamayan.com/","description":"\u6982\u8981 Clang\u3067\u306fC\u3084C++\u306e\u30b3\u30fc\u30c9\u3092AST\u3068\u3057\u3066\u51fa\u529b\u3057\u3066\u304f\u308c\u308b\u6a5f\u80fd\u304c\u3042\u308b AST: Abstract Syntax Tree, \u62bd\u8c61\u69cb\u6587\u6728 \u8cc7\u65991 \u8cc7\u65992 \u8cc7\u65993 2017/06/05\u6642\u70b9\u3067\u306e\u60c5\u5831\u3067\u3059 Clang\u3067AST\u3092\u51fa\u529b\u3059\u308b\u306b\u306f clang -Xclang -ast-dump -fsyntax-only sample.c\u3068\u3059\u308c\u3070\u51fa\u308b\u3002 Clang3.5\u304f\u3089\u3044\u304b\u3089\u3001\u6728\u69cb\u9020\u3092\u30ad\u30ec\u30a4\u306b\u8868\u793a\u3057\u3066\u304f\u308c\u308b(\u8272\u4ed8\u304d) python\u304b\u3089AST\u304c\u53d6\u5f97\u3067\u304d\u308b AST\u306e\u69cb\u6210\u8981\u7d20 Decl : Declare, \u5ba3\u8a00 FunctionDecl : \u95a2\u6570\u5ba3\u8a00 ParamVarDecl : \u95a2\u6570\u306e\u5f15\u6570\u306e\u5ba3\u8a00 V\u2026","categories":["\u7814\u7a76"],"version":"1.0","image_url":null,"provider_url":"https://hatena.blog","provider_name":"Hatena Blog","author_name":"hamayanhamayan"}