写点什么

Colm 语言简介

  • 2011-05-30
  • 本文字数:849 字

    阅读完需:约 3 分钟

编程语言最近(再次)成为研究的主要题目,并且,这次人们仔细地关注它们的语义基础:

程序就是带有语义的结构化对象。结构让我们可以对程序做转换。而语义则为我们提供了比较程序以及推断转换有效性的方法。语义包括程序的外延和内涵行为。

程序转换(Program Transformation)也得益于这种新的研究浪潮,并且已经有公司成功发布了商业化的产品

程序转换是把一种程序转换为另一种的操作。而术语“程序转换”也被用于描述实现程序转换的算法。程序中被转换的语言和编写得到的程序所用的语言分别被叫做源语言和目标语言。

Adrian Thurston最近发布了 Colm(计算机语言处理)的第一个版本,这种语言被设计用来对计算机语言进行分析和转换。Adrian 是在皇后大学(ON,Canada)读博士期间开发了 Colm。他解释说:

一种转换语言会拥有基于正规语言的类型系统。它不会定义类或是数据结构,而是会定义语法。根据语法会自动构造解析器,而这个解析器会用于两种目的: 解析输入语言,并解析执行分析的程序中的结构模式。在这种设定中,基于语法的解析非常重要,因为它确保输入和结构化模式都从同样的类型系列解析为树状结构,从而让我们可以进行比较。

Colm 的主要贡献在于解析方法。

Colm 的解析引擎是广义上的,但是它也考虑到了对二进制全局数据结构的构建,那种结构可以在解析过程中查询。在其它广义的方法中,对全局数据的构建需要慎重的考虑,因为在解析方法中会存在固有的并发操作。这是一种非常巧妙的方法,经常可以在总体上避免问题的发生,并把问题延迟到对解析森林在解析之后的后续处理中。

使用 Colm,我们可以在对输入的第一次遍历过程中就获得正确的解析树,并确保某些回溯操作是可接受的。Colm 让我们不需要推断对全局数据的并发更新,也不需要获取很多可能的解析树,只是把错误的抛弃即可。

元编程(也叫做面向元模型的编程)取得了很大进展,这多亏有了对语言工作台和像Colm 这样强大的转换技术的开发。你可能会使用一种吗? 你已经使用一种了吗?你选择的是哪种呢?

查看英文原文: Introducing the Colm Programming Language

2011-05-30 09:073476
用户头像

发布了 340 篇内容, 共 140.1 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

教育行业内卷,技术降本增效是否去内卷化效应?

Speedoooo

小程序生态 降本增效 小程序容器 小程序技术 教育内卷

解锁 ElasticJob 云原生实践的难题

宋小生

京东商品详情 API 接口深度解析与应用

tbapi

京东技术 京东商品详情数据接口 京东API接口

企业为什么需要进行敏捷开发培训?有哪些好处?

顿顿顿

敏捷开发 敏捷项目管理 scrum培训 敏捷培训

新形势下,2024年企业数字化转型该如何进行?

优秀

数字化转型 企业数字化转型

芯片国产替代发展得怎么样了?

IC男奋斗史

华为 芯片 校园招聘 国产替代 中芯国际

SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析

小万哥

MySQL 数据库 程序员 sql 后端开发

编程太难学?你可能还没试过这个神器

代码生成器研究

卓越性能下的华为云耀云服务器L实例:小程序竞争中的利器

轶天下事

不是编程太难学,而是信息差要人命

代码生成器研究

编程 赚钱 可视化

打造有效安全闭环,天翼云MDR来了!

天翼云开发者社区

云计算 网络安全

华为云耀云服务器L实例助力小程序开发的成本与效率之选

轶天下事

在校大学生如何用编程赚钱?

代码生成器研究

Redis - AOF 日志

zurhan

华为云耀云服务器L实例助你轻松搭建个人网站

轶天下事

数字经济时代:城市到底如何演绎?产业将何去何从?

平平无奇爱好科技

SocialFi 和 GameFi 的碰撞 — Socrates 构建新的 Web3 流量入口

股市老人

你的编程能力从什么时候开始突飞猛进?

代码生成器研究

学习 编程 编程语言 可视化

性能调优五步法

天翼云开发者社区

Linux 性能优化

Java 对象的内存布局

zurhan

RWA+AI 叙事下的 ProsperEx,对 Web3 时代交易的重新定义

股市老人

轻松搭建,轻松上云——华为云耀云服务器L实例助力小程序开发

轶天下事

编程太难学?你可能还没试过这个神器

代码生成器研究

编程

竞放数字力量,释放无限潜能!

天翼云开发者社区

云计算 大数据 IDC

CORS跨域问题

zurhan

企业数字化浪潮来袭,华为云耀云服务器L实例打造中小企业

轶天下事

华为云助力中小企业应对挑战:云耀L实例在跨境电商的应用探析

轶天下事

聊聊如何进行代码混淆

凯叔讲故事如何把好内容传递给千万儿童?

最新动态

数据同步:主从如何实现数据一致性

zurhan

Redis 慢操作

zurhan

Colm语言简介_架构_Jean-Jacques Dubray_InfoQ精选文章