写点什么

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

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

关注

评论

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

审计在等保测评中的重要性

黑龙江陆陆信息测评部

一文读懂天猫商品详情 API 接口:功能、调用与实战攻略

tbapi

天猫商品详情接口 天猫API 天猫商品数据采集 天猫数据采集

Omnissa Dynamic Environment Manager 2503 - 个性化动态 Windows 桌面环境管理

sysin

horizon

LangChain案例实战:顺序链、分支链、循环链

AI时代的一滴水

Python AI agent #LangChain

大语言模型助力 Support Case 分析,提升云服务效率

亚马逊云科技 (Amazon Web Services)

AI 教育软件的开发

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

AI教育 软件外包公司 AI技术外包公司

Omnissa ThinApp 2503 - 应用虚拟化软件

sysin

horizon

不用写代码!2个小时,我自己搭了一套进销存系统,业务效率翻倍!

中烟创新

贝尔金在范围一和范围二排放中实现碳中和

财见

哈佛最新研究:比特币挖矿造成环境污染,190万人受影响

PowerVerse

比特币 挖矿

电竞新时代:ToDesk/网易云/START三大云游戏平台深度横评,谁是真王者?

小喵子

云计算 云电脑 ToDesk 云电竞 网易云游戏电脑

AI智上 | 数智预算:一级央企集中化预算应用领先实践

用友智能财务

Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具

sysin

horizon

APSEZ收购NQXT Australia

财见

人工智能与预测性维护:AI如何帮助企业降低设备故障风险?

天津汇柏科技有限公司

人工智能 预测性维护

Omnissa App Volumes 4, version 2503 - 实时应用程序交付系统

sysin

horizon

Easysearch Rollup 相比 OpenSearch Rollup 的优势分析

极限实验室

Rollup Performance easysearch OpenSearch

企业AI转型遇算力瓶颈?苏州TOP3机房服务器托管方案实测报告

苏州服务器托管

苏州服务器托管 苏州IDC

北京邮电大学鲲鹏昇腾科教创新孵化中心成立 为ICT创新突破再“聚能赋力”

极客天地

深度解析!淘宝商品详情 API 接口的高效调用与实战应用

tbapi

淘宝数据采集 淘宝API 天猫商品详情接口 淘宝商品详情API 淘宝数据分析

手把手教你酒店LED显示屏该怎么选!

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

CST干货:移动电子设备的射频干扰和接收灵敏度分析

思茂信息

cst CST软件 CST Studio Suite

AI英语能力评估APP的核心功能

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

AI教育 软件外包公司 AI技术应用

AI狂飙时代,我们测试工程师会被"优化"吗?

测试人

人工智能

得物增长兑换商城的构架演进

得物技术

#算法 游戏架构

人工智能 (AI) 技术在英语教育中的应用

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

AI教育 软件外包公司 AI技术应用

与地球和鸣:华为音乐以空间音频为桥连接自然之声

最新动态

VMware ESXi 8.0U3e macOS Unlocker & OEM BIOS Lenovo (联想) 定制版

sysin

esxi

寻找AI大模型时代的存力破壁人:华为的行与思

脑极体

软件

docker镜像仓库

不在线第一只蜗牛

Docker

SvelteKit 最新中文文档教程(23)—— CLI 使用指南

冴羽

前端 前端框架 React Svelte SvelteKit

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