INCLAN Reference Manual: Difference between revisions

From CYANA Wiki
Jump to navigation Jump to search
 
(20 intermediate revisions by 4 users not shown)
Line 3: Line 3:
INCLAN separates the user interface from the specific functions of the underlying program. It allows new commands to be implemented quickly, either in the compiled source code of the program or as interpreted INCLAN scripts (macros). In both cases the command line syntax follows the same, uniform rules, and is automatically checked by INCLAN for consistency and correct data typing. The output of the program is controlled and formatted by INCLAN, which allows the amount and destination of informative output to be defined in a uniform way. The INCLAN command language is an interpreted language that combines features of Unix shell scripts, e.g. the use variable substitutions in the command line, with those of high-level programming languages, e.g. sophisticated mathematical functions and expressions.
INCLAN separates the user interface from the specific functions of the underlying program. It allows new commands to be implemented quickly, either in the compiled source code of the program or as interpreted INCLAN scripts (macros). In both cases the command line syntax follows the same, uniform rules, and is automatically checked by INCLAN for consistency and correct data typing. The output of the program is controlled and formatted by INCLAN, which allows the amount and destination of informative output to be defined in a uniform way. The INCLAN command language is an interpreted language that combines features of Unix shell scripts, e.g. the use variable substitutions in the command line, with those of high-level programming languages, e.g. sophisticated mathematical functions and expressions.


The current version of INCLAN is implemented in Fortran-95, and is used as the command interpreter of several program packages written in Fortran and C++, including CYANA, DYANA, GARANT, OPALp, and PROSA.
The current version of INCLAN is implemented in Fortran-95, and is used as the command interpreter of several program packages written in Fortran and C++, including [[Main Page|CYANA]], [http://www.bpc.uni-frankfurt.de/guentert/wiki/index.php/DYANA DYANA], [http://www.bpc.uni-frankfurt.de/guentert/wiki/index.php/GARANT, GARANT], [http://www.bpc.uni-frankfurt.de/guentert/wiki/index.php/OPALp OPALp], and [http://www.bpc.uni-frankfurt.de/guentert/wiki/index.php/PROSA PROSA].


In the following, literal INCLAN input and output is shown in Courier font. Non-literal input is shown in italics. Optional arguments are enclosed in square brackets “[…]”. In an argument list the ellipsis “…” indicates that the preceding parameter can be repeated.
In the following, literal INCLAN input and output is shown in Courier font. Non-literal input is shown in italics. Optional arguments are enclosed in square brackets “[…]”. In an argument list the ellipsis “…” indicates that the preceding parameter can be repeated.
Line 15: Line 15:
</div>
</div>
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
* [[INCLAN: abort|abort]]
* [[INCLAN: alias|alias]]
* [[INCLAN: alias|alias]]
* [[INCLAN: ask|ask]]
* [[INCLAN: ask|ask]]
* [[INCLAN: break|break]]
* [[INCLAN: break|break]]
* [[INCLAN: cd, chdir|cd, chdir]]
* [[INCLAN: command|command]]
* [[INCLAN: do|do]]
* [[INCLAN: do|do]]
* [[INCLAN: else|else]]
* [[INCLAN: else if|else if]]
* [[INCLAN: end|end]]
* [[INCLAN: end do|end do]]
* [[INCLAN: end if|end if]]
* [[INCLAN: error|error]]
* [[INCLAN: eval|eval]]
* [[INCLAN: external|external]]
* [[INCLAN: eval, show, set, unset, external|eval, show, set, unset, external]]
* [[INCLAN: eval, show, set, unset, external|eval, show, set, unset, external]]
* [[INCLAN: exit|exit]]
* [[INCLAN: exit|exit]]
* [[INCLAN: goto, go to|goto, go to]]
* [[INCLAN: goto, go to|goto, go to]]
* [[INCLAN: help|help]]
* [[INCLAN: if|if]]
* [[INCLAN: if|if]]
* [[INCLAN: label|label]]
* [[INCLAN: label|label]]
* [[INCLAN: parameter|parameter]]
* [[INCLAN: parameter|parameter]]
* [[INCLAN: plot|plot]]
* [[INCLAN: print|print]]
* [[INCLAN: print, error|print, error]]
* [[INCLAN: print, error|print, error]]
* [[INCLAN: quit|quit]]
* [[INCLAN: quit|quit]]
Line 30: Line 44:
* [[INCLAN: remove|remove]]
* [[INCLAN: remove|remove]]
* [[INCLAN: return|return]]
* [[INCLAN: return|return]]
* [[INCLAN: safe|safe]]
* [[INCLAN: set|set]]
* [[INCLAN: show|show]]
* [[INCLAN: sleep|sleep]]
* [[INCLAN: sleep|sleep]]
* [[INCLAN: special characters|special characters]]
* [[INCLAN: special characters|special characters]]
* [[INCLAN: subroutine|subroutine]]
* [[INCLAN: subroutine, command|subroutine, command]]
* [[INCLAN: subroutine, command|subroutine, command]]
* [[INCLAN: synchronize|synchronize]]
* [[INCLAN: syntax|syntax]]
* [[INCLAN: syntax|syntax]]
* [[INCLAN: system|system]]
* [[INCLAN: system|system]]
* [[INCLAN: type|type]]
* [[INCLAN: type|type]]
* [[INCLAN: unset|unset]]
* [[INCLAN: var|var]]
* [[INCLAN: var|var]]
</div>
</div>
Line 49: Line 69:
* [[INCLAN: erract|erract]]
* [[INCLAN: erract|erract]]
* [[INCLAN: info|info]]
* [[INCLAN: info|info]]
* [[INCLAN: intrinsics|intrinsics]]
* [[INCLAN: label|label]]
* [[INCLAN: label|label]]
* [[INCLAN: nparam|nparam]]
* [[INCLAN: nparam|nparam]]
* [[INCLAN: nproc|nproc]]
* [[INCLAN: nproc|nproc]]
* [[INCLAN: p1, p2,...|p1, p2,...]]
* [[INCLAN: path|path]]
* [[INCLAN: path|path]]
* [[INCLAN: prompt|prompt]]
* [[INCLAN: prompt|prompt]]
* [[INCLAN: protocol|protocol]]
* [[INCLAN: protocol|protocol]]
* [[INCLAN: timing|timing]]
* [[INCLAN: timing|timing]]
</div>
== Expressions and functions ==
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
* [[INCLAN: Expressions|Expressions]]
* [[INCLAN: intrinsics|Intrinsic functions]]
</div>
</div>


== INCLAN Graphics ==
== INCLAN Graphics ==


<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
* [[INCLAN: Graphics|Introduction]]
</div>
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
* [[INCLAN Graphics: plot arc|plot arc]]
* [[INCLAN Graphics: plot arc|plot arc]]
* [[INCLAN Graphics: plot caro, plot cross, plot dot, plot plus, plot square, plot triangle|plot caro, plot cross, plot dot, plot plus, plot square, plot triangle]]
* [[INCLAN Graphics: plot caro|plot caro]]
* [[INCLAN Graphics: plot clip|plot clip]]
* [[INCLAN Graphics: plot clip|plot clip]]
* [[INCLAN Graphics: plot close|plot close]]
* [[INCLAN Graphics: plot close|plot close]]
* [[INCLAN Graphics: plot comment|plot comment]]
* [[INCLAN Graphics: plot comment|plot comment]]
* [[INCLAN Graphics: plot cross|plot cross]]
* [[INCLAN Graphics: plot curve|plot curve]]
* [[INCLAN Graphics: plot curve|plot curve]]
* [[INCLAN Graphics: plot dot|plot dot]]
* [[INCLAN Graphics: plot errorbar|plot errorbar]]
* [[INCLAN Graphics: plot errorbar|plot errorbar]]
* [[INCLAN Graphics: plot file|plot file]]
* [[INCLAN Graphics: plot file|plot file]]
Line 74: Line 106:
* [[INCLAN Graphics: plot function|plot function]]
* [[INCLAN Graphics: plot function|plot function]]
* [[INCLAN Graphics: plot label|plot label]]
* [[INCLAN Graphics: plot label|plot label]]
* [[INCLAN Graphics: plot layout|plot layout]]
* [[INCLAN Graphics: plot line|plot line]]
* [[INCLAN Graphics: plot line|plot line]]
* [[INCLAN Graphics: plot mif, plot ps|plot mif, plot ps]]
* [[INCLAN Graphics: plot plus|plot plus]]
* [[INCLAN Graphics: plot polygon|plot polygon]]
* [[INCLAN Graphics: plot polygon|plot polygon]]
* [[INCLAN Graphics: plot ps|plot ps]]
* [[INCLAN Graphics: plot rectangle|plot rectangle]]
* [[INCLAN Graphics: plot rectangle|plot rectangle]]
* [[INCLAN Graphics: plot scale|plot scale]]
* [[INCLAN Graphics: plot scale|plot scale]]
Line 82: Line 116:
* [[INCLAN Graphics: plot shape|plot shape]]
* [[INCLAN Graphics: plot shape|plot shape]]
* [[INCLAN Graphics: plot spline|plot spline]]
* [[INCLAN Graphics: plot spline|plot spline]]
* [[INCLAN Graphics: plot square|plot square]]
* [[INCLAN Graphics: plot text|plot text]]
* [[INCLAN Graphics: plot text|plot text]]
* [[INCLAN Graphics: plot triangle|plot triangle]]
* [[INCLAN Graphics: plot write|plot write]]
* [[INCLAN Graphics: plot write|plot write]]
</div>
== INCLAN Plot Parameters ==
<div style="column-count:4;-moz-column-count:4;-webkit-column-count:4">
* [[INCLAN: align|align]]
* [[INCLAN: angle|angle]]
* [[INCLAN: autoscale|autoscale]]
* [[INCLAN: border|border]]
* [[INCLAN: color|color]]
* [[INCLAN: dash|dash]]
* [[INCLAN: fill|fill]]
* [[INCLAN: font|font]]
* [[INCLAN: linewidth|linewidth]]
* [[INCLAN: marksize|marksize]]
* [[INCLAN: mode|mode]]
* [[INCLAN: rotate|rotate]]
* [[INCLAN: textsize|textsize]]
* [[INCLAN: weight|weight]]
* [[INCLAN: x0, y0, x1, y1|x0, y0, x1, y1]]
* [[INCLAN: X0, Y0, X1, Y1|X0, Y0, X1, Y1]]
</div>
</div>

Latest revision as of 18:22, 9 September 2009

The user interface of the program CYANA is based on INCLAN, a powerful interactive command language that allows the use of variables, mathematical and character expressions, macros, flow control (loops, conditional statements, jumps), parallelization on shared-memory and distributed-memory systems, and the production of graphics.

INCLAN separates the user interface from the specific functions of the underlying program. It allows new commands to be implemented quickly, either in the compiled source code of the program or as interpreted INCLAN scripts (macros). In both cases the command line syntax follows the same, uniform rules, and is automatically checked by INCLAN for consistency and correct data typing. The output of the program is controlled and formatted by INCLAN, which allows the amount and destination of informative output to be defined in a uniform way. The INCLAN command language is an interpreted language that combines features of Unix shell scripts, e.g. the use variable substitutions in the command line, with those of high-level programming languages, e.g. sophisticated mathematical functions and expressions.

The current version of INCLAN is implemented in Fortran-95, and is used as the command interpreter of several program packages written in Fortran and C++, including CYANA, DYANA, GARANT, OPALp, and PROSA.

In the following, literal INCLAN input and output is shown in Courier font. Non-literal input is shown in italics. Optional arguments are enclosed in square brackets “[…]”. In an argument list the ellipsis “…” indicates that the preceding parameter can be repeated.

INCLAN Commands

INCLAN Variables

Expressions and functions

INCLAN Graphics

INCLAN Plot Parameters