next up previous contents index
Next: 3.2 Scalars, Arrays, and Strings Up: 3 Structure and Syntax of Previous: 3 Structure and Syntax of


3.1 Commands

IFEFFIT is a command-based program, and every operation you type at the command-line or send to IFEFFIT through a script is a interpreted as a command. Most IFEFFIT commands have syntax like this:

   Ifeffit> command(argument1, argument2, ... )
   Ifeffit> command(keyword= value, keyword= value, 
                    keyword= value, ...).
That is, there is a unique command name that is given first, then a set of arguments separated by commas. Most arguments are keyword/value pairs, which have the form keyword= value, where keyword is a predefined string and value is the value you wish to assign to it. Some commands use arguments that are not keyword/value pairs, but have some or all of their arguments be lists of strings or program variables. The majority of command arguments are keyword/value pairs. We'll come back to these topics in section 3.6.

The enclosing parentheses for commands are optional, so that

   Ifeffit> command keyword= value, keyword= value
is allowed. If you use an open paren ``('', you must match it with a close paren ``)'', even if that means the command extends over several lines. That allows commands to be extended over several lines, which will be necessary in some cases. Commands are not processed until they have matching open and closing parentheses. When using the command-line program, you'll get a prompt of ...> instead of the usual Ifeffit> when a command is partially completed.

As we saw in the example of the previous chapter, and as we will see in the next few sections, much of the processing you will do with IFEFFIT is to create and define Program Variables from your data. These procedures are done with the commands def() and set() which differ slightly but which both have the effect of specifying a value for a Program Variable. That is

   Ifeffit> def(kweight = 2.0,  kmin = 2.50, kmax = 15.4)
will create and define (or redefine, if they already existed) values for the Program Variable kweight, kmin, and kmax.

But, as you have probably noticed, we didn't use the def() or set() command in the previous example, and simply said

   Ifeffit> cu.energy  = cu.1 * 1000.0
   Ifeffit> cu.xmu     = ln(cu.2 / cu.3)
This is because the default command it def(). That is, if the first word on the command line is not a known command or macro (which we'll get to eventually), the def() command is used.

An important consequence of this is that when you do really want to use the set() command, you'll need to specify it explicitly. We'll come back to this topic in section 3.3 where the difference between set() and def() are explained. For now, you can simply remember that

The default command is def().


next up previous contents index
Next: 3.2 Scalars, Arrays, and Strings Up: 3 Structure and Syntax of Previous: 3 Structure and Syntax of
Matt Newville
2004-02-09