{"id":13416864,"url":"https://github.com/chai2010/go-ast-book","last_synced_at":"2025-05-14T07:08:27.789Z","repository":{"id":37395316,"uuid":"160272948","full_name":"chai2010/go-ast-book","owner":"chai2010","description":":books: 《Go语言定制指南》(原名：Go语法树入门/开源免费图书/Go语言进阶/掌握抽象语法树/Go语言AST)","archived":false,"fork":false,"pushed_at":"2024-09-26T00:50:40.000Z","size":4667,"stargazers_count":5436,"open_issues_count":8,"forks_count":653,"subscribers_count":134,"default_branch":"master","last_synced_at":"2025-05-12T05:57:30.632Z","etag":null,"topics":["ast","bison","book","flex","go","golang","goyacc","lex","llir","llvm","programming-language","wa","yacc"],"latest_commit_sha":null,"homepage":"https://chai2010.cn/go-ast-book","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chai2010.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-04T00:38:23.000Z","updated_at":"2025-05-12T03:15:09.000Z","dependencies_parsed_at":"2024-09-30T03:40:35.490Z","dependency_job_id":"c0fdf7ad-f0e9-4375-82e3-80b7eef0b7c9","html_url":"https://github.com/chai2010/go-ast-book","commit_stats":{"total_commits":91,"total_committers":21,"mean_commits":4.333333333333333,"dds":"0.41758241758241754","last_synced_commit":"5b998c7453f02226066839fdd19171de6eeaee6a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chai2010%2Fgo-ast-book","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chai2010%2Fgo-ast-book/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chai2010%2Fgo-ast-book/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chai2010%2Fgo-ast-book/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chai2010","download_url":"https://codeload.github.com/chai2010/go-ast-book/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092776,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ast","bison","book","flex","go","golang","goyacc","lex","llir","llvm","programming-language","wa","yacc"],"created_at":"2024-07-30T22:00:24.157Z","updated_at":"2025-05-14T07:08:27.766Z","avatar_url":"https://github.com/chai2010.png","language":"Go","funding_links":[],"categories":["Popular","Conferences","文档","Go","Documentation","Go (531)","E-Books","Repositories"],"sub_categories":["Free e-books","组织","To Organize","免费电子书"],"readme":"# 《Go语言定制指南》（原名：Go语法树入门）\n\n- *凹语言(专为 WebAssembly 设计): https://github.com/wa-lang/wa*\n- *WaBook(Go语言实现的MD电子书构建工具): https://github.com/wa-lang/wabook*\n\n----\n\nGo语法树是Go语言源文件的另一种语义等价的表现形式。而Go语言自带的`go fmt`和`go doc`等命令都是在Go语法树的基础之上分析工具。因此将Go语言程序作为输入数据，让我们语法树这个维度重新审视Go语言程序，我们将得到创建Go语言本身的技术。Go语法树由标准库的`go/ast`包定义，它是在`go/token`包定义的词法基础之上抽象的语法树结构。本书简单介绍语法树相关包的使用。如果想从头实现一个玩具Go语言可以参考[《从头实现µGo语言》](https://github.com/chai2010/ugo-compiler-book)。\n\n![](cover.jpg)\n\n- 作者：柴树杉，Github [@chai2010](https://github.com/chai2010)，Twitter [@chaishushan](https://twitter.com/chaishushan)\n- 作者：史斌，Github [@benshi001](https://github.com/benshi001)\n- 作者：丁尔男，Github [@3dgen](https://github.com/3dgen)\n- 主页：https://github.com/chai2010/go-ast-book\n- 阅读：https://chai2010.cn/go-ast-book\n\n\n## 购买链接：\n\n- 京东：https://item.jd.com/13698866.html\n- 当当：https://product.dangdang.com/29388202.html\n- 异步：https://www.epubit.com/bookDetails?id=UBc86f749c1eb7\n\n如果你喜欢本书，欢迎到豆瓣评论：\n\n- https://book.douban.com/subject/35852237\n\n# waBook 构建(纯Go语言实现)\n\n增加了基于 Github 的 [留言功能](https://giscus.app) 构建:\n\n- https://github.com/wa-lang/waBook\n\n然后执行 `wabook serve` 本地打开服务，或者 `wabook build` 构建。\n\n# 微信公众号\n\n![](weixin-guanggu-coder.jpeg)\n\n\n# 版权\n\n版权 [柴树杉](https://github.com/chai2010)、[史斌](https://github.com/benshi001)和[丁尔男](https://github.com/3dgen)，保留相关权力。此内容仅针对Github平台用户免费在线阅读。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchai2010%2Fgo-ast-book","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchai2010%2Fgo-ast-book","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchai2010%2Fgo-ast-book/lists"}