GNU Data Language

Category:Book:GNU Data Language#%20

GNU Data Language (GDL) is a free software project hosted at Source Forge (GDL - GNU Data Language).

A free IDL (Interactive Data Language) compatible incremental compiler (i. e. runs IDL programs). IDL is a registered trademark of ITT Visual Information Solutions.

Features

Full syntax compatibility with IDL up to version 7.1 (for 8.0 and later see below).

ALL IDL language elements up to IDL version 7.1 are supported, including:

  • objects, pointers, structs and arrays,
  • system, common block and assoc variables,
  • all operators and datatypes,
  • _EXTRA, _STRICT_EXTRA and _REF_EXTRA keywords...

Supported IDL 8.0 language elements:

  • FOREACH loop
  • negative array indices
  • garbage collection pointers and objects
  • call methods on an object using "." (e. g. object.aMemberProcedure,arg1)

The file input output system is fully implemented (Exception: For formatted I/O the C() sub-codes are not supported yet)

netCDF files are fully supported.

HDF files are partially supported.

Basic support for HDF5 files.

Overall more than 400 library routines are implemented.

SAVE and RESTORE are supported through Craig Markwardt's CMSVLIB library.

Graphical output is partially implemented. The PLOT, OPLOT, CONTOUR, PLOTS, XYOUTS, SURFACE, TVRD and TV commands (along with WINDOW, WDELETE, SET_PLOT, WSET, TVLCT, CURSOR) work (important keywords, some !P system variable tags and multi-plots are supported) for X windows, z-buffer and postscript output.

GDL has an interface to python (python routines can be called from GDL).

GDL can be build as a python module (GDL subroutines can be called from python).

GUI support (widgets) is officially provided since the 0.9 version (but it's not complete yet).

GDL is free software licensed under the GPL.

History

Language Syntax

Data Structures

Operators

Control structures

  • 3.1 Compound statements
  • 3.2 Selection statements
  • 3.3 Iteration statements
  • 3.4 Jump statements
    • 3.4.1 Storing the address of a label

Functions

  • 4.1 Syntax
    • 4.1.1 Function Pointers
  • 4.2 Global structure
  • 4.3 Argument passing
    • 4.3.1 Array parameters

Miscellaneous

  • 5.1 Reserved keywords
  • 5.2 Case sensitivity
  • 5.3 Comments
  • 5.4 Command-line arguments
  • 5.5 Evaluation order
  • 5.6 Undefined behavior

Interpreter Operation

Function List

Library procedures

Total number of library procedures available from the GDL base system (>400) is dependent on compile-time configuration (see the GDL documentation draft for a list) .

Category:Subject:Computer programming/all books Category:Subject:Computer science/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Book:GNU Data Language#%20 Category:Book:Wikibooks Stacks/Books#GNU%20Data%20LanguageCategory:Shelf:Computer programming Category:Shelf:Computer programming/all books Category:Shelf:Computer science/all books#Computer%20science Category:Department:Computing/all books#Computing Category:Alphabetical/G Category:Freshly started booksCategory:Books by completion status/all books
Category:Alphabetical/G Category:Book:GNU Data Language Category:Book:Wikibooks Stacks/Books Category:Books by completion status/all books Category:Department:Computing/all books Category:Freshly started books Category:Shelf:Computer programming Category:Shelf:Computer programming/all books Category:Shelf:Computer science/all books Category:Subject:Books by subject/all books Category:Subject:Computer programming Category:Subject:Computer programming/all books Category:Subject:Computer science/all books Category:Subject:Computing/all books