{ "__schema" : "4.1", "__type" : "page", "children" : { "__type" : "snippets", "items" : [ { "__type" : "textSnippet", "children" : { "__type" : "snippets", "items" : [ ] }, "createEmail" : { "__type" : "email", "emailString" : "" }, "createTime" : { "__type" : "time", "time" : { "__type" : "dateAndTime", "dateAndTimeString" : "2022-04-17T18:15:34.71835+02:00" } }, "editEmail" : { "__type" : "email", "emailString" : "" }, "editTime" : { "__type" : "time", "time" : { "__type" : "dateAndTime", "dateAndTimeString" : "2022-04-17T18:18:43.697823+02:00" } }, "uid" : { "__type" : "uid", "uidString" : "ZjeOsD2ZDQCcs7yADqn2mw==" }, "paragraphStyle" : { "__type" : "textStyle" }, "string" : "In this bonus chapter, we are going to learn how to visualize code using just the AST. While you cannot expect the highest level of semantic insight from analyses that purely focus on the AST, it can be a fun and interesting challenge, and give you some ideas on how to work with ASTs." } ] }, "createEmail" : { "__type" : "email", "emailString" : "" }, "createTime" : { "__type" : "time", "time" : { "__type" : "dateAndTime", "dateAndTimeString" : "2022-04-17T18:15:31.357765+02:00" } }, "editEmail" : { "__type" : "email", "emailString" : "" }, "editTime" : { "__type" : "time", "time" : { "__type" : "dateAndTime", "dateAndTimeString" : "2022-04-17T18:15:31.357765+02:00" } }, "pageType" : { "__type" : "namedPage", "title" : "Visualizing code using our AST" }, "uid" : { "__type" : "uuid", "uuid" : "e0838db0-3d99-0d00-9cb2-a5f20ea9f69b" } }