写点什么

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:073529
用户头像

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

关注

评论

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

QT跨平台系统的开发及特点

北京木奇移动技术有限公司

软件外包公司 QT外包开发 QT开发

LED显示屏生产中的技术控制要点

Dylan

数字化 LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家

通往强人工智能的道路:挑战与可能的突破点

天津汇柏科技有限公司

AI 人工智能

AI智能体(AI Agent)开发的技术难点

北京木奇移动技术有限公司

AI教育 AI智能体 软件外包公司

AIP智能体平台:重塑日常工作流程,提升团队效率

大东(AIP智能体运营专员)

人工智能

腾讯二面:Redis与MySQL双写一致性如何保证?

王中阳Go

MySQL 高可用 面试问题 redis 底层原理

焱融存储增速 No.1丨业界顶级性能领跑 AI 存储赛道

焱融科技

人工智能 IDC AI存储 焱融存储

低代码,帮你解决80%重复开发工作!

秃头小帅oi

一款好的低代码开发平台应该是什么样?

伤感汤姆布利柏

信息安全运维审计系统是什么?英文怎么翻译?

行云管家

信息安全 运维审计 运维审计系统

京东商品视频API接口系列(京东API)

tbapi

京东API接口 京东商品视频接口

1月15日直播预告丨AI赋能指标管理分析 开启企业数智领航时代

袋鼠云数栈

CAP:Serverless + AI 让应用开发更简单

阿里巴巴云原生

阿里云 云原生 CAP

探秘淘宝商品SKU信息API接口

科普小能手

数据挖掘 数据分析 淘宝 电商 API 接口

中药熬制机械加工MES系统

万界星空科技

mes 制造业工厂 机械加工mes 中药加工 中药罐机械加工

JimuBI 积木大屏 v1.9.3 发布,免费可视化大屏

JEECG低代码

大屏设计器 免费大屏 开源大屏

AIP智能体平台:重塑微服务治理的新时代

大东(AIP智能体运营专员)

人工智能

为什么软件测试开发需要智能体(AI Agent)?

测试人

软件测试

AI智能体在自动化测试中的应用

测吧(北京)科技有限公司

测试

清华大学AutoDroid-V2,软件测试行业将如何发展

测吧(北京)科技有限公司

测试

函数计算助您 7 分钟极速部署开源对话大模型

阿里巴巴云原生

阿里云 云原生

MortiseAI : AI 驱动的工程生产力, 面向 AGI 编程之路

MortiseAI@HugoHu

开发工具 大模型 AI智能体 大模型应用 #AI编程

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