积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部数据库(27)后端开发(25)TiDB(16)数据库中间件(10)Rust(10)前端开发(9)Python(5)Go(4)TypeScript(3)系统运维(2)

语言

全部中文(简体)(66)

格式

全部PDF文档 PDF(64)PPT文档 PPT(2)
 
本次搜索耗时 0.075 秒,为您找到相关结果约 66 个.
  • 全部
  • 数据库
  • 后端开发
  • TiDB
  • 数据库中间件
  • Rust
  • 前端开发
  • Python
  • Go
  • TypeScript
  • 系统运维
  • 全部
  • 中文(简体)
  • 全部
  • PDF文档 PDF
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 理解Python中的AST 何翔宇

    理理解 Python 中的 AST 何翔宇(正⼩小歪) 字节跳动 · 效率⼯工程 · 后端开发⼯工程师 ⽬目录 CONTENTS Intro CPython’s Compiler How to Use AST Library Use AST to Solve Problems Suggestion and Reference Intro CPython’s Compiler Intro to bytecode source code parse tree parse AST CFG transform A transform B bytecode emit source code: ⽂文本形式的 Python 源码 parser tree: 保留留具体语法信息的树 AST: 对语法的⾼高度抽象,不不会保留留细节 CFG: 记录着程序流程的有向图 bytecode: - 使⽤用 Python/ast.c 中的 PyAST_FromNode() 从解析树中读取 - 根据转换规则 Parser/Python.asdl 使⽤用 Python/python-ast.c ⽣生成 AST - PyAST_CompileObject()、PySymtable_BuildObject()、compiler_mod() - 遍历 AST 各个节点创建符号表 -
    0 码力 | 39 页 | 6.95 MB | 1 年前
    3
  • pdf文档 Candid: the interface description language of the Internet Computer smart contracts - 陈研

    trait CandidType { fn ty() -> AST } impl CandidType for u8 { fn ty() -> AST { AST::Nat8 } } impl CandidType for Option { fn ty() -> AST { AST::Opt(Box::new(T::ty())) } } impl CandidType for Box { fn ty() -> AST { T::ty() } } fn typeOf(_: &T) -> AST { T::ty() } Derive CandidType for struct/enum • Use procedure macro to derive CandidType trait fn ty() { AST::Record(vec![ field(“name”, String::ty()), ]) } } #[derive(CandidType)] struct Profile { name: String, } impl CandidType for Tree { fn ty() { AST::Variant(vec![
    0 码力 | 35 页 | 1.35 MB | 1 年前
    3
  • pdf文档 通过SSA的解释执行窥探Golang编译之一角

    Syntax Tree,AST),涉及的包: • go/token 词法单元定义 • go/scanner 词法扫描 • go/ast 抽象语法树定义 • go/parser 语法解析 Golang 编译流程简介 源代码 抽象语法树 抽象语法树 (带语义信息) 静态单赋值 目标代码 1 + 2 * 3 *ast.BinaryExpr (+) *ast.BasicLit BasicLit 1 : INT *ast.BinaryExpr (*) *ast.BasicLit 2 : INT * ast.BasicLit 3 : INT Golang 编译流程简介 01-AST 源代码 抽象语法树 抽象语法树 (带语义信息) 静态单赋值 目标代码 package main import ( "go/ast" "go/parser" "go/token" AllErrors) ast.Print(nil, f) } *ast.File *ast.GenDecl (var) *ast.Ident “answer” *ast.BinaryExpr (+) *ast.BasicLit 40 : INT *ast.BasicLit 2 : INT *ast.FuncDecl *ast.Ident “main” *ast.BlockStmt
    0 码力 | 30 页 | 1.50 MB | 1 年前
    3
  • pdf文档 2.1 gofmt 的文化演变

    1:3999/gofmt-cn.slide#1 10/34 处理源代码 使用`go/scanner`, `go/parser`及其相关的库 给每一个go文件生成一个抽象语法树 每一个语法结构都有相应的AST节点 // Syntax of an if statement. IfStmt = "if" [ SimpleStmt ";" ] Expression Block [ "else" ( IfStmt Else Stmt // else branch; or nil } AST节点有(选择性的)位置信息。 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 11/34 基本的格式化 遍历AST然后打印每个节点 case *ast.IfStmt: p.print(token.IF) p.controlClause(false nil { p.print(blank, token.ELSE, blank) switch s.Else.(type) { case *ast.BlockStmt, *ast.IfStmt: p.stmt(s.Else, nextIsRBrace) default: p.print(token
    0 码力 | 34 页 | 9.97 MB | 1 年前
    3
  • pdf文档 Programming TypeScript

    一个特殊的程序(编译器)解析,转换成抽象句法树(abstract syntax tree, AS ). AST 是去掉了空白、注释和缩进用的制表符或空格之后的数据结构。 编译器把 AST 转换成一种字节码(bytecode) 的低(底?)层表示。 字节码再传给运行时程序计算,最终得到结果。 ● 综上 1. 把程序解析成AST 2. 把AST编译成字节码 3. 运行时计算字节码 TS 的特殊之处在于,它不直接编译成字节码,而是编译成JS代码 的特殊之处在于,它不直接编译成字节码,而是编译成JS代码 ● TS 1. TS 源码 => TS AST 2. 类型检查器检查AST 3. TS AST => JS 源码 ● JS 4. JS 源码 => JS AST 5. AST => 字节码 6. 运行时计算字节码 在这个过程中,第1-2 步骤中使用程序的类型,第三步不使用。就是说 TS TS 编译成 JS 时,不会考 类型。 这意味着,程序中的类型
    0 码力 | 3 页 | 202.08 KB | 1 年前
    3
  • pdf文档 《玩转webpack》第六章 原理篇: 通过源码掌握 webpack 打包原理

    emit 初始化option 开始编译 从entry开始递归的 分析依赖,对每个 依赖模块进行build 对模块位置进行解析 将loader加载完成的 module进行编译,生成 AST树 遍历AST,当遇到 require等一些调用表 达式时,收集依赖 所有依赖build完 成,开始优化 输出到dist目录 build-module 开始构建某个模块 WebpackOptionsApply er'], function (large-number) { // ... largeNumber.add('999', '1'); }); AST 基础知识 抽象语法树(abstract syntax tree 或者缩写为 AST),或者语法树(syntax tree),是 源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都 表示源代码中的一种结构。 在线demo: 动手实现一个简易的 webpack 可以将 ES6 语法转换成 ES5 的语法 可以分析模块之间的依赖关系 生成的 JS 文件可以在浏览器中运行 ·通过 babylon 生成AST ·通过 babel-core 将AST重新生成源码 · 通过 babel-traverse 的 ImportDeclaration 方法获取依赖属性
    0 码力 | 39 页 | 3.66 MB | 1 年前
    3
  • pdf文档 Nim 2.0.2 中文手册

    "运⾏ 时"涵盖了编译期执⾏和可执⾏⽂件的代码执⾏。 编译器将 Nim 源码解析成称为 abstract syntax tree (AST) "抽象语法树"的内部数据结构,在执⾏代码或将其编译为可执⾏⽂件之 前,通过 semantic analysis "语义分析"对AST进⾏转换,增加了语义信息,如表达式类型、标识符的含义,以及在某些情况下表达 式的值。在语义分析中检测到的错误被称为 static error 符串被传递给该标识符。可调⽤标识符需要⽤特定的 ' 前缀声明。 更确切地说,⾃定义的数值字⾯值 123'custom 在解析步骤中被转换为 r"123". 'custom 。并没有对应于这种转换的 AST 节点种 类。通过这种转换,在额外参数传递给被调⽤者时,处理更合理。 echo -1 echo(-1) echo [-1] echo 3,-1 "abc";-1 echo x-1 echo 忽略过程的返回值⽽不使⽤丢弃语句将是静态错误。 如果调⽤的 proc/iterator 已使⽤ discardable "可丢弃"编译指示声明,则可以隐式忽略返回值: 但是可丢弃编译指示不适⽤于模板,因为模板会替换掉 AST。 例如: 此模板将解析为字符串字⾯值 "https://nim-lang.org (https://nim-lang.org)" ,但由于 {.discardable.} 不适⽤于字⾯值,编译器会出
    0 码力 | 127 页 | 7.05 MB | 1 年前
    3
  • pdf文档 2019-2021 美团技术年货 前端篇

    flutter build web 命令和参数并开始编译流程,同时等待处理结果回调,在回调中我 们可对编译产物进行二次加工; ● frontend_server 负责将 Dart 转换为 AST,生成 kernel 中间产物 app. dill 文件(实际上各平台的编译过程都会生成这样的中间产物),并交由各平台 Compiler 进行转译; ● Dart2JS Compiler –responsiveSystem 命令行参数; ● 我 们 在 flutter_tools 中 的 AST 分 析 阶 段 增 加 了 额 外 的 处 理:Respon- siveSystem 关键字的匹配,同时结合编译平台(PC 或 Mobile)来进行 AST 节点的改写; 前端 < 53 ● 去除无用 AST 节点后,生成各个平台的代码快照(每份快照仅包含单独平台 代码); ● 根据代码快照编译生成 -h5。 除了扩展新的容器平台,我们还可以通过继承现有的容器插件,来编写一些特殊的定 制化功能插件。 1. 对代码进行预处理 基于开放式插件能力,我们可以像 Babel 插件一样,通过对 AST 语法的修改对代码 源文件进行编译前后的修改。比如:修改文件引用路径、插入代码片段、处理本地图 片等等。 2. 对文件产物进行修改 在编译产出生成时,我们可以对编译文件的内容、文件路径、文件结构进行修改。结
    0 码力 | 738 页 | 50.29 MB | 1 年前
    3
  • pdf文档 Julia 中文文档

    . . . . . . . . . . . 1149 92.2 Julia 的 AST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149 Surface syntax AST . . . . . . . . . . . . . . . . . . . . . 工作方式类似于 eval(:x),其返回 x 的值,而 两个 $ 行为相当于 eval(eval(:x))。 194 CHAPTER 19. 元编程 QuoteNode quote 形式在 AST 中通常表示为一个 head 为 :quote 的 Expr : julia> dump(Meta.parse(":(1+2)")) Expr head: Symbol quote args: with 2 methods) julia> @m "asd" 1 arguments julia> @m 1 2 Two arguments 但是应该记住,宏派发基于传递给宏的 AST 的类型,而不是 AST 在运行时进行求值的类型: julia> macro m(::Int) println("An Integer") end 19.4. 代码生成 203 @m (macro with
    0 码力 | 1238 页 | 4.59 MB | 1 年前
    3
  • pdf文档 KCL: Rust 在编译器领域的实践与探索

    Manager 02 用 Rust 重写 KCL Python 代码翻译 栈式虚拟机 Rust 编译器 KCL 编译器架构升级 Source Code AST LLVM IR Native/WASM Source Code AST Bit code VM Source Code Python code Pros Cons 简单易上手 生态丰富 研发效率高 性能问题 友好的编译器架构 RustCodeBook: Rust源码解读 Compiler Base: 更通用的编译器组件 KCL Source Code AST LLVM IR Native/WASM Smart Contract Source Code AST LLVM IR ABI • Error • Span & SourceMap • Session • Paraller • …… IDE
    0 码力 | 25 页 | 3.50 MB | 1 年前
    3
共 66 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
前往
页
相关搜索词
理解PythonAST翔宇陈研RustConfChina2023通过SSA解释执行窥探Golang编译之一2.1gofmt文化演变ProgrammingTypeScript玩转webpack第六六章第六章Nim2.0中文手册20192021美团技术年货前端Julia文档KCLRust
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩