GNU 数据语言
外观
GNU 数据语言 (GDL) 是一个 自由软件 项目,托管在 Source Forge (GDL - GNU 数据语言)。
一个免费的 IDL (交互式数据语言) 兼容的增量编译器(即运行 IDL 程序)。IDL 是 ITT Visual Information Solutions 的注册商标。
特性
与 IDL 版本 7.1 之前的版本完全语法兼容(对于 8.0 及更高版本,请参见下文)。
所有 IDL 语言元素(直到 IDL 版本 7.1)都支持,包括
- 对象、指针、结构和数组,
- 系统、公用块和关联变量,
- 所有运算符和数据类型,
- _EXTRA、_STRICT_EXTRA 和 _REF_EXTRA 关键字...
支持的 IDL 8.0 语言元素
- FOREACH 循环
- 负数组索引
- 垃圾收集指针和对象
- 使用“.”(例如 object.aMemberProcedure,arg1)在对象上调用方法
文件输入输出系统已完全实现(例外:对于格式化 I/O,目前不支持 C() 子代码)
完全支持 netCDF 文件。
部分支持 HDF 文件。
对 HDF5 文件的基本支持。
总共实现了 400 多个库例程。
SAVE 和 RESTORE 通过 Craig Markwardt 的 CMSVLIB 库支持。
图形输出已部分实现。PLOT、OPLOT、CONTOUR、PLOTS、XYOUTS、SURFACE、TVRD 和 TV 命令(以及 WINDOW、WDELETE、SET_PLOT、WSET、TVLCT、CURSOR)适用于 X 窗口、z 缓冲区和 PostScript 输出(支持重要关键字、某些 !P 系统变量标签和多图)。
GDL 具有与 python 的接口(可以从 GDL 调用 python 例程)。
GDL 可以构建为 python 模块(可以从 python 调用 GDL 子例程)。
从 0.9 版本开始正式提供 GUI 支持(小部件)(但尚未完成)。
GDL 是在 GPL 下许可的自由软件。
- 3.1 复合语句
- 3.2 选择语句
- 3.3 迭代语句
- 3.4 跳转语句
- 3.4.1 存储标签的地址
- 4.1 语法
- 4.1.1 函数指针
- 4.2 全局结构
- 4.3 参数传递
- 4.3.1 数组参数
- 5.1 保留关键字
- 5.2 区分大小写
- 5.3 注释
- 5.4 命令行参数
- 5.5 求值顺序
- 5.6 未定义的行为
从 GDL 基础系统提供的库过程总数(>400)取决于编译时配置(请参见 GDL 文档草案 获取列表)。