软件开发 Skill技能列表
解析器生成器Skill parser-generator
解析器生成器是一种关键技能,用于从上下文无关语法自动生成解析器,支持LALR(1)和递归下降算法。它广泛应用于编译器开发、领域特定语言设计、配置解析等场景,帮助开发者高效处理结构化文本和数据。关键词:解析器生成,语法分析,编译器构建,LALR解析,递归下降,AST生成。
所有权和借用类型系统Skill ownership-type-system
该技能实现了Rust风格的所有权和借用类型系统,用于验证内存安全、预防数据竞争和生命周期分析。关键词:所有权、借用、内存安全、数据竞争、生命周期、Rust、类型系统、编程语言。
操作语义定义器Skill operational-semantics-definer
操作语义定义器是一种用于定义编程语言的操作语义的技能,包括小步和大步语义。它支持语言设计、语义形式化、证明程序属性以及从规范生成可执行解释器。关键词:操作语义,编程语言,语义定义,证明,解释器,语言设计,形式化方法,计算机科学理论。
多阶段编程Skill multi-stage-programming
多阶段编程是一种编程技术,通过在编译时或运行时生成和优化代码来提升程序性能,常用于领域特定语言(DSL)实现、解释器加速和高效代码生成。关键词:多阶段编程,代码生成,性能优化,DSL,元编程,运行时计算。
单子变换器Skill monad-transformer
单子变换器是一种在函数式编程中实现效果组合的技能。它通过提供可重用的变换器层,允许开发者组合多个单子效果,如状态管理、错误处理和IO操作。关键词包括:单子、变换器、函数式编程、效果组合、Haskell、Scala、可组合性、架构设计。
模块系统Skill module-system
模块系统是实现代码组织、封装和命名空间管理的关键技能,适用于大型软件开发、架构设计和编程语言设计,提升代码可维护性和扩展性,涵盖模块、签名、函子、依赖管理等核心概念。关键词:模块系统、代码组织、封装、命名空间管理、软件开发、架构设计、编程语言设计。
模型检查器Skill model-checker
实现有限状态系统的有界模型检查,用于验证并发程序、硬件和协议。关键词包括模型检查、SAT/SMT求解器、验证、并发程序、硬件验证、协议验证、时态逻辑、状态空间、错误检测、反例生成。
MLIR方言设计Skill mlir-dialect-designer
MLIR方言设计技能用于设计MLIR(多级中间表示)的方言和变换,支持编译器开发、IR抽象和多级降低,适用于编译器优化和LLVM生态系统集成,关键词包括MLIR、编译器、方言、变换、LLVM。
消息传递系统Skill message-passing-system
该技能专注于实现消息传递并发模型,如演员模型和CSP通道,用于构建分布式系统、避免共享状态并发错误,并支持微服务通信、事件驱动架构和管道处理。关键词:消息传递、并发模型、演员模型、CSP通道、分布式系统、微服务通信、背压处理、消息排序。
宏扩展器Skill macro-expander
宏扩展器是一种编程技能,用于在编译时实现宏系统,进行语法抽象和代码生成。关键词包括宏系统、编译时、代码生成、语法抽象、元编程。
循环终止证明器Skill loop-termination-prover
循环终止证明器是一种用于程序验证的技能,通过分析循环结构和发现排名函数来证明循环的终止性。适用于验证程序总正确性、分析程序循环行为,并使用形式方法确保软件可靠性。关键词:循环终止、排名函数、程序验证、终止证明、形式验证、软件测试。
循环优化器Skill loop-optimizer
循环优化器是一种编译器和性能优化技能,通过循环展开、融合、平铺和向量化等变换,提升程序性能,减少开销,增加并行性,改善缓存局部性。适用于编译优化、数值计算、机器学习、图像处理等场景,关键词包括循环优化、编译器、性能提升、SIMD、缓存优化。