Grammar
*******

Someday I hope to expand this to include a semi-formal description of Octave's language.

Keywords
========

The following identifiers are keywords, and may not be used as variable or function names:

     all_va_args             endwhile
     break                   for
     case                    function
     catch                   global
     continue                gplot
     else                    gsplot
     elseif                  if
     end                     otherwise
     end_try_catch           return
     end_unwind_protect      switch
     endfor                  try
     endfunction             unwind_protect
     endif                   unwind_protect_cleanup
     endswitch               while

The following command-like functions are also speical.  They may be used as simple variable names, but not as formal parameters for functions, or as the names of structure variables.  Failed assignments leave them undefined (you can recover the orginal definition as a function using clear).

     casesen       echo          load          show
     cd            edit_history  ls            type
     chdir         format        more          which
     clear         help          run_history   who
     diary         history       save          whos
     dir           hold          set