1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package main
import (
"encoding/json"
"fmt"
"os"
"regexp"
"github.com/tarekwasfy01/Code-Transpiler/v2/internal/backend"
)
func main() {
code, _ := os.ReadFile(os.Args[2])
p, err := backend.ParseSemantic(os.Args[1], string(code))
fmt.Println("err:", err)
if p == nil || p.UniversalAST == nil {
return
}
b, _ := json.Marshal(p.UniversalAST)
re := regexp.MustCompile(`"kind":"([A-Za-z]+)"`)
counts := map[string]int{}
for _, m := range re.FindAllStringSubmatch(string(b), -1) {
counts[m[1]]++
}
fmt.Println("node kinds:", counts)
}
|