tenntenn posted at Dec 31, 2016

抽象構文木(AST)をトラバースする #golang

この記事では、go/astパッケージに用意されている、ast.Inspect関数やast.Walk関数を使って、ASTを ...
  • 33
tenntenn posted at Jan 03, 2017

Goの抽象構文木(AST)を手入力してHello, Worldを作る #golang

体的には、関数名を表す*ast.Ident型やパッケージ関数やメソッドを表す*ast.SelectorExpr、関数リテラルを表す*ast ...
  • 97
tenntenn posted at Dec 31, 2016

抽象構文木(AST)をいじってフォーマットをかける #golang

また、go/formatパッケージを使うと、ASTについても整形することがきます。 この記事では、ASTのノードをいじって、整形する方法について説明します。
  • 12
tenntenn posted at Dec 16, 2018

モジュール化された静的解析の実装を追ってみよう #golang

(*ast.CallExpr); ok { var id *ast.Ident switch fun := call.Fun.(type) { case *
  • 16
  • 1
tenntenn posted at Dec 28, 2016

コメントに関連付けられたコードを取得する #golang

に go/astパッケージには、コメントとそれに関連付けられたAST上のノードを取得できるCommentMapという機能があります。ast ...
  • 24
tenntenn posted at Dec 12, 2016

簡単な式の評価機を作ってみる #golang

l { panic(err) } ast.Inspect(expr, func(n ast.Node) bool { if n !*ast ...
  • 54
tenntenn posted at Dec 25, 2016

ASTを取得する方法を調べる #golang

ノード go/parserパッケージでは、いくつかのParseと名前のついた関数でAST(抽象構文木)を取得することができます。ASTの各ノードを表す型は、go/
  • 52
tenntenn posted at Dec 02, 2017

astutil.Applyで抽象構文木を置き換える #golang

*ast.BinaryExpr (+) ├── *ast.Ident (x) └── *ast.Ident (y) これを10+20に変更 ...
  • 26
tenntenn posted at Jan 05, 2017

go/typesパッケージを使い変数名をリネームしてみる #golang

さて、ソースコードから抽象構文木(AST)を取得し、指定した位置(ファイルの先頭からのオフセット)のノードを取得することを考えてみましょう。 まずは、AST ...
  • 22
tenntenn posted at Dec 30, 2016

【実践goパッケージ】文字列から複素数型の値をパースする #golang

まず、parser.ParseExprを使って式をパースしてast.Exprを取得しています。go/astパッケージを使って、ASTのノー ...
  • 8

Related tag
AST
43 posts6 followers
Following

Search syntax
title:Git
Containing "Git" in title
body:Ruby
Containing "Ruby" in body
code:function
Containing "function" in code
tag:Rails
Tagged with "Rails"
user:qiita
Created by qiita
stocks:>3
more than 3 stocked
created:>2020-09-22
Created after 2020-09-22
updated:>2020-09
Updated after 2020-09-01
-tag:Ruby
Not containing "tag:Ruby"
Ruby OR Rails
Containing "Ruby" or "Rails"