class GET_OPTIONS < $GET_OPTIONS
****
This is the standard options module for the Sather compiler. It is meant to be included in classes which specialize for a particular configuration; for example, there is a special version for the C back-end that handles any options it needs.


Flattened version is here

Ancestors
$GET_OPTIONS CS_COMPONENT

Descendants
CODE_OPTIONS CS_OPTIONS



Public


Readable Attributes
attr module_inclusion:FMAP{STR,STR};

Writable Attributes
attr module_inclusion:FMAP{STR,STR};

Features
create(p:PROG):SAME
expand_env_var(fname:STR, arg_str:$STR, inout pos:INT):STR
**** convert env var starting in position pos in arg_str, coming from file fname.
expand_str(fname:STR, arg_str:$STR):STR
**** expand all env vars in arg_str
interpret(a:ARRAY{STR})
**** interpret command lines.
read_env
rewind
str:STR
**** diagnostic for printing the state of a command line parse


Private

attr all:BOOL;
attr all:BOOL;
attr arg_locations:ARRAY{STR};
attr arg_locations:ARRAY{STR};
attr args:ARRAY{STR};
attr args:ARRAY{STR};
args_from_file(name:STR):FLIST{STR}
**** #OUT+"reading module "+name+"\n";
barf(msg:STR)
attr classes:FSET{STR};
attr classes:FSET{STR};
directory(nm:STR):STR
**** The directory in which nm resides
files:FSET{STR}
**** get a list of files from the command line
get_classes
**** get a list of classes from the argument list
get_files
**** get list of files from the command line and put in appropriate set
attr got_libs:BOOL;
attr got_libs:BOOL;
handle_files(s:STR)
handle_other_file_suffix(arg,suf:STR)
**** Meant to be overridden
handle_other_options(s:STR)
**** This is meant to be overridden in classes which include GET_OPTIONS, for other command lines options.
home_expand(s:STR):STR
**** Expand any occurances of '%' with the Sather home directory.
insert_here(cl:FLIST{STR},filename: STR)
**** insert a list of args so it will be read next
is_class_name(nm:STR):BOOL
**** is this string a viable class name?
is_filename(fn:STR):BOOL
mention(name,s1,s2:STR):STR
more_args:BOOL
attr next:INT;
attr next:INT;
next_arg:STR
attr paths:FSET{STR};
**** Resolved Sather source paths (to allow redundancy in on command line)
attr paths:FSET{STR};
**** Resolved Sather source paths (to allow redundancy in on command line)
suffix(a:STR):STR
usage