Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

nextcmd.f

Go to the documentation of this file.
00001 
00002 c
00003 c       Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993,
00004 c       by Steve McMillan, Drexel University, Philadelphia, PA.
00005 c
00006 c       All rights reserved.
00007 c
00008 c       Redistribution and use in source and binary forms are permitted
00009 c       provided that the above copyright notice and this paragraph are
00010 c       duplicated in all such forms and that any documentation,
00011 c       advertising materials, and other materials related to such
00012 c       distribution and use acknowledge that the software was developed
00013 c       by the author named above.
00014 c
00015 c       THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00016 c       IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00017 c       WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00018 c
00019 
00020         subroutine nextcmd(string,istart,ns,prompt)
00021         save
00022 c
00023 c       Simple parser. Return in string(1:ns) the next input command.
00024 c       Commands may be issued several to a line, delimited with a semicolon.
00025 c       If no commands are left in the current line, prompt for and read in
00026 c       a new command line.
00027 c
00028 c       This routine is used by the "2dplot" subpackage.
00029 c
00030         save
00031         character*(*) string,prompt
00032         character*200 line
00033 c
00034         data iscolon/0/nl/-1/line/' '/
00035 c
00036         if (ns.lt.0) line = ' '
00037 c
00038 10      if (iscolon.gt.nl) then
00039 c
00040             call devoff
00041             call getstring(prompt,1,len(prompt),line)
00042 c
00043 c           Strip off trailing blanks and non-significant semicolons.
00044 c
00045             nl = len(line)
00046             iscolon = nl+1
00047             call stripbl(line,nl,*10,*10)
00048             iscolon = 0
00049 c
00050         end if
00051 c
00052 c       Split the line into individual commands.
00053 c
00054         string = ' '
00055         call getnext(line,nl,iscolon,ic0,ic1,string,ns)
00056 c
00057 c       Strip leading blanks, convert the current command to lowercase,
00058 c       and locate the start of the argument list.
00059 c
00060         call cleanup(string,ns,istart,*10)
00061 c
00062 c       Note:   The entire command is string(1:ns)
00063 c               The argument list is string(istart:ns)
00064 c
00065         end

Generated at Sun Feb 24 09:57:10 2002 for STARLAB by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001