calc: C FORTRAN Pascal

 
 7.8.2 C, FORTRAN, and Pascal Modes
 ----------------------------------
 
 The ‘d C’ (‘calc-c-language’) command selects the conventions of the C
 language for display and entry of formulas.  This differs from the
 normal language mode in a variety of (mostly minor) ways.  In
 particular, C language operators and operator precedences are used in
 place of Calc’s usual ones.  For example, ‘a^b’ means ‘xor(a,b)’ in C
 mode; a value raised to a power is written as a function call,
 ‘pow(a,b)’.
 
    In C mode, vectors and matrices use curly braces instead of brackets.
 Octal and hexadecimal values are written with leading ‘0’ or ‘0x’ rather
 than using the ‘#’ symbol.  Array subscripting is translated into
 ‘subscr’ calls, so that ‘a[i]’ in C mode is the same as ‘a_i’ in Normal
 mode.  Assignments turn into the ‘assign’ function, which Calc normally
 displays using the ‘:=’ symbol.
 
    The variables ‘pi’ and ‘e’ would be displayed ‘pi’ and ‘e’ in Normal
 mode, but in C mode they are displayed as ‘M_PI’ and ‘M_E’,
 corresponding to the names of constants typically provided in the
 ‘<math.h>’ header.  Functions whose names are different in C are
 translated automatically for entry and display purposes.  For example,
 entering ‘asin(x)’ will push the formula ‘arcsin(x)’ onto the stack;
 this formula will be displayed as ‘asin(x)’ as long as C mode is in
 effect.
 
    The ‘d P’ (‘calc-pascal-language’) command selects Pascal
 conventions.  Like C mode, Pascal mode interprets array brackets and
 uses a different table of operators.  Hexadecimal numbers are entered
 and displayed with a preceding dollar sign.  (Thus the regular meaning
 of ‘$2’ during algebraic entry does not work in Pascal mode, though ‘$’
 (and ‘$$’, etc.) not followed by digits works the same as always.)  No
 special provisions are made for other non-decimal numbers, vectors, and
 so on, since there is no universally accepted standard way of handling
 these in Pascal.
 
    The ‘d F’ (‘calc-fortran-language’) command selects FORTRAN
 conventions.  Various function names are transformed into FORTRAN
 equivalents.  Vectors are written as ‘/1, 2, 3/’, and may be entered
 this way or using square brackets.  Since FORTRAN uses round parentheses
 for both function calls and array subscripts, Calc displays both in the
 same way; ‘a(i)’ is interpreted as a function call upon reading, and
 subscripts must be entered as ‘subscr(a, i)’.  If the variable ‘a’ has
 been declared to have type ‘vector’ or ‘matrix’, however, then ‘a(i)’
 will be parsed as a subscript.  (SeeDeclarations.)  Usually it
 doesn’t matter, though; if you enter the subscript expression ‘a(i)’ and
 Calc interprets it as a function call, you’ll never know the difference
 unless you switch to another language mode or replace ‘a’ with an actual
 vector (or unless ‘a’ happens to be the name of a built-in function!).
 
    Underscores are allowed in variable and function names in all of
 these language modes.  The underscore here is equivalent to the ‘#’ in
 Normal mode, or to hyphens in the underlying Emacs Lisp variable names.
 
    FORTRAN and Pascal modes normally do not adjust the case of letters
 in formulas.  Most built-in Calc names use lower-case letters.  If you
 use a positive numeric prefix argument with ‘d P’ or ‘d F’, these modes
 will use upper-case letters exclusively for display, and will convert to
 lower-case on input.  With a negative prefix, these modes convert to
 lower-case for display and input.