ARTS
2.3.1285(git:92a29ea9-dirty)
|
#include <parser.h>
Classes | |
struct | NamedArgument |
Public Member Functions | |
ArtsParser (Agenda &tasklist, String controlfile, const Verbosity &verbosity) | |
Constructs a new parser. More... | |
void | parse_tasklist () |
Public interface to the main function of the parser. More... | |
Private Types | |
typedef vector< NamedArgument > | NamedArguments |
Private Member Functions | |
void | find_named_arguments (vector< NamedArgument > &named_args) |
Find named arguments. More... | |
void | skip_to_next_argument () |
Skips forward to the next argument. More... | |
void | at_end_of_argument (const String &argname) |
Check if current position in controlfile is at the end of an argument. More... | |
void | get_argument_index_by_name (Index &arg_index, NamedArguments &named_args, String name) |
Return the index of the argument with the given name. More... | |
void | parse_main () |
The main function of the parser. More... | |
void | parse_agenda (Agenda &tasklist, const String &agenda_name) |
Parse the Contents of text as ARTS control input. More... | |
void | parse_method (Index &id, ArrayOfIndex &output, ArrayOfIndex &input, Agenda &tasks, ArrayOfIndex &auto_vars, Array< TokVal > &auto_vars_values, String &include_file, bool no_eot=false) |
Parse the Contents of text as ARTS control input. More... | |
void | parse_generic_input (const MdRecord *&mdd, Index &id, String &methodname, ArrayOfIndex &input, ArrayOfIndex &auto_vars, Array< TokVal > &auto_vars_values, bool &first, bool &still_supergeneric, String &supergeneric_args, Index &supergeneric_index, NamedArguments &named_args, bool call_by_name) |
Parse the generic input WSVs for current method from the controlfile. More... | |
void | parse_generic_output (const MdRecord *&mdd, Index &id, String &methodname, ArrayOfIndex &output, bool &first, bool &still_supergeneric, String &supergeneric_args, Index &supergeneric_index, NamedArguments &named_args, bool call_by_name) |
Parse the generic output WSVs for current method from the controlfile. More... | |
void | parse_specific_input (const MdRecord *mdd, ArrayOfIndex &input, ArrayOfIndex &auto_vars, Array< TokVal > &auto_vars_values, bool &first, NamedArguments &named_args, bool call_by_name) |
Parse the specific input WSVs for current method from the controlfile. More... | |
void | parse_specific_output (const MdRecord *mdd, ArrayOfIndex &output, bool &first, NamedArguments &named_args, bool call_by_name) |
Parse the output WSVs for current method from the controlfile. More... | |
void | parse_method_args (const MdRecord *&mdd, Index &id, String &methodname, ArrayOfIndex &output, ArrayOfIndex &input, ArrayOfIndex &auto_vars, Array< TokVal > &auto_vars_values) |
Parse method's argument list. More... | |
String | set_gin_to_default (const MdRecord *mdd, ArrayOfIndex &auto_vars, Array< TokVal > &auto_vars_values, Index keyword_index) |
Set generic input to default value. More... | |
void | tasklist_insert_set_delete (const ArrayOfIndex &auto_vars, const Array< TokVal > &auto_vars_values, const Index method_type, Agenda &tasklist) |
Insert Set and Delete methods for automatically allocated output WSVs. More... | |
bool | is_whitespace (const char c) |
Returns true if this character is considered whitespace. More... | |
void | eat_whitespace () |
Eats whitespace. More... | |
void | eat_whitespace_from_string (String &str, size_t &pos) |
Eats whitespace from a String. More... | |
void | read_name (String &name) |
Reads name of method, keyword, or workspace variable. More... | |
Index | read_name_or_value (String &name, ArrayOfIndex &auto_vars, Array< TokVal > &auto_vars_values, const String &default_name, const MdRecord *mdd, const Index group) |
Reads name of a workspace variable or a value. More... | |
void | assertain_character (char c) |
Make sure that the current character is equal to c and go to the next character. More... | |
void | parse_String (String &res) |
Reads a String, complete with quotation marks. More... | |
void | read_integer (String &res) |
Reads an integer. More... | |
void | read_numeric (String &res) |
Reads a floating point number. More... | |
void | parse_integer (Index &n) |
Use a String stream to parse an integer number. More... | |
void | parse_numeric (Numeric &n) |
Use a String stream to parse a floating point number. More... | |
void | parse_Stringvector (ArrayOfString &res) |
Read a vector of Strings. More... | |
void | parse_intvector (ArrayOfIndex &res) |
Read a vector of integers. More... | |
void | parse_numvector (Vector &res) |
Read a vector of Numerics. More... | |
void | parse_matrix (Matrix &res) |
Read a Matrix. More... | |
bool | parse_intvector_from_string (ArrayOfIndex &res, String &str) |
Read an array of integers from a String. More... | |
bool | parse_numvector_from_string (Vector &res, String &str) |
Read a vector of Numerics from a String. More... | |
bool | parse_stringarray_from_string (ArrayOfString &res, String &str) |
Read an Array of Strings from a String. More... | |
Private Attributes | |
Agenda & | mtasklist |
String | mcfile |
SourceText | msource |
Index | mcfile_version |
const Verbosity & | verbosity |
|
private |
|
private |
Make sure that the current character is equal to c and go to the next character.
[in] | c | Expected character. |
UnexpectedChar | The character is not right. |
Definition at line 1838 of file parser.cc.
Referenced by parse_generic_input(), parse_generic_output(), parse_intvector(), parse_matrix(), parse_method(), parse_method_args(), parse_numvector(), parse_specific_input(), parse_specific_output(), parse_String(), and parse_Stringvector().
|
private |
Check if current position in controlfile is at the end of an argument.
Throws an UnexpectedChar exception if condition is not met.
[in] | argname | Name of argument for error message |
UnexpectedChar |
Definition at line 154 of file parser.cc.
References SourceText::Column(), SourceText::Current(), eat_whitespace(), SourceText::File(), SourceText::Line(), msource, and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by parse_generic_input(), parse_generic_output(), parse_specific_input(), and parse_specific_output().
|
private |
Eats whitespace.
Comments are a special case of whitespace. Everything from the `#' to the end of the line is eaten.
The whitespace cases implemented here must be consistent with is_whitespace!
UnexpectedChar | Non-whitespace character encountered. |
Definition at line 1665 of file parser.cc.
References SourceText::AdvanceChar(), SourceText::AdvanceLine(), SourceText::Column(), SourceText::Current(), SourceText::File(), is_whitespace(), SourceText::Line(), msource, and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by at_end_of_argument(), find_named_arguments(), parse_agenda(), parse_generic_input(), parse_generic_output(), parse_intvector(), parse_main(), parse_matrix(), parse_method(), parse_method_args(), parse_numvector(), parse_specific_input(), parse_specific_output(), parse_Stringvector(), and skip_to_next_argument().
|
private |
Eats whitespace from a String.
[in] | str | String. |
[in,out] | pos | Current position in the String. |
Definition at line 1694 of file parser.cc.
References is_whitespace().
Referenced by parse_intvector_from_string(), parse_numvector_from_string(), and parse_stringarray_from_string().
|
private |
Find named arguments.
This method is used to determine the position and the names of named arguments.
[out] | named_args | List of named arguments. |
Definition at line 60 of file parser.cc.
References SourceText::AdvanceChar(), ArtsParser::NamedArgument::column, SourceText::Column(), SourceText::ColumnRaw(), SourceText::Current(), eat_whitespace(), SourceText::File(), ArtsParser::NamedArgument::line, SourceText::Line(), SourceText::LineRaw(), msource, ArtsParser::NamedArgument::name, read_name(), skip_to_next_argument(), and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by parse_method_args().
|
private |
Return the index of the argument with the given name.
Definition at line 169 of file parser.cc.
Referenced by parse_generic_input(), parse_generic_output(), parse_specific_input(), and parse_specific_output().
|
private |
Returns true if this character is considered whitespace.
This includes the comment sign `#'. This function is used by other functions to test for delimiting whitespace.
The whitespace cases implemented here must be consistent with eat_whitespace!
[in] | c | Character to test. |
Definition at line 1643 of file parser.cc.
Referenced by eat_whitespace(), and eat_whitespace_from_string().
Parse the Contents of text as ARTS control input.
This method is used to parse the list of methods given in the curly braces of an agenda method. So the end is marked by a closing curly brace ahead.
[out] | tasklist | The method ids. |
Definition at line 333 of file parser.cc.
References SourceText::Column(), CREATE_OUT2, CREATE_OUT3, SourceText::Current(), Parameters::datapath, eat_whitespace(), SourceText::File(), find_file(), get_dirname(), get_wsv_group_id(), i, Parameters::includepath, SourceText::Line(), global_data::md_data, global_data::MdMap, Agenda::Methods(), msource, Agenda::nelem(), my_basic_string< charT >::nelem(), Array< base >::nelem(), Absorption::nelem(), parameters, parse_method(), parse_tasklist(), Agenda::push_back(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), tasklist_insert_set_delete(), verbosity, Workspace::wsv_data, and global_data::wsv_group_names.
Referenced by parse_method().
|
private |
Parse the generic input WSVs for current method from the controlfile.
[in] | mdd | Pointer to the current WSM |
[out] | id | Method index in md_data. |
[out] | methodname | Name of the WSM |
[out] | input | Input WSVs |
[out] | auto_vars | Indexes of automatically created variables. |
[out] | auto_vars_values | Values of automatically created variables. |
[in,out] | first | If set to false, there must be a comma before the first WSV in the controlfile |
[in,out] | still_supergeneric | True if the supergeneric method has not been expanded for the different types yet. |
Definition at line 977 of file parser.cc.
References assertain_character(), at_end_of_argument(), SourceText::Column(), SourceText::Current(), eat_whitespace(), Zeeman::end(), SourceText::File(), get_argument_index_by_name(), get_wsv_group_id(), MdRecord::GIn(), MdRecord::GInSpecType(), MdRecord::GInType(), i, SourceText::Line(), global_data::md_data, global_data::MdMap, msource, MdRecord::Name(), Array< base >::nelem(), read_name_or_value(), set_gin_to_default(), MdRecord::SetMethod(), SourceText::SetPosition(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), Workspace::wsv_data, global_data::wsv_group_names, and Workspace::WsvMap.
Referenced by parse_method_args().
|
private |
Parse the generic output WSVs for current method from the controlfile.
[in] | mdd | Pointer to the current WSM |
[out] | id | Method index in md_data. |
[out] | methodname | Name of the WSM |
[out] | output | Output WSVs |
[in,out] | first | If set to false, there must be a comma before the first WSV in the controlfile |
[in,out] | still_supergeneric | True if the supergeneric method has not been expanded for the different types yet. |
Definition at line 1163 of file parser.cc.
References Workspace::add_wsv(), assertain_character(), at_end_of_argument(), SourceText::Column(), eat_whitespace(), Zeeman::end(), SourceText::File(), get_argument_index_by_name(), get_wsv_group_id(), MdRecord::GOut(), MdRecord::GOutSpecType(), MdRecord::GOutType(), i, SourceText::Line(), global_data::md_data, global_data::MdMap, msource, MdRecord::Name(), Array< base >::nelem(), read_name(), SourceText::SetPosition(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), Workspace::wsv_data, global_data::wsv_group_names, and Workspace::WsvMap.
Referenced by parse_method_args().
|
private |
Use a String stream to parse an integer number.
[out] | n | Parsed integer. |
Definition at line 2052 of file parser.cc.
References n, and read_integer().
Referenced by parse_intvector(), and read_name_or_value().
|
private |
Read a vector of integers.
This looks as follows in the control file: [123,5,334] Whitespace has to have been eaten before, that is, the current character must be `['.
The empty vector is allowed.
Line breaks are allowed before and after each number. Line breaks inside numbers are not allowed.
Definition at line 2125 of file parser.cc.
References SourceText::AdvanceChar(), assertain_character(), SourceText::Current(), eat_whitespace(), msource, and parse_integer().
Referenced by read_name_or_value().
|
private |
Read an array of integers from a String.
This looks as follows: [1, 5] Whitespace has to have been eaten before, that is, the current character must be `['.
The empty vector is allowed.
Definition at line 2308 of file parser.cc.
References SourceText::Column(), eat_whitespace_from_string(), SourceText::File(), i, SourceText::Line(), msource, and Array< base >::nelem().
Referenced by set_gin_to_default().
|
private |
The main function of the parser.
This will parse the entire text.
Definition at line 184 of file parser.cc.
References ParseError::column(), SourceText::Column(), CREATE_OUT0, CREATE_OUT3, eat_whitespace(), ParseError::file(), SourceText::File(), SourceText::Init(), ParseError::line(), SourceText::Line(), global_data::md_data, msource, mtasklist, parse_method(), SourceText::reachedEot(), and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by parse_tasklist().
|
private |
Read a Matrix.
This looks as follows in the control file: [1, 2, 3; 4, 5, 6] Whitespace has to have been eaten before, that is, the current character must be `['.
The empty matrix is allowed.
Line breaks are allowed before and after each number. Line breaks inside numbers are not allowed.
Definition at line 2217 of file parser.cc.
References SourceText::AdvanceChar(), assertain_character(), SourceText::Column(), SourceText::Current(), eat_whitespace(), SourceText::File(), SourceText::Line(), msource, and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by read_name_or_value().
|
private |
Parse the Contents of text as ARTS control input.
Either values or tasks will be empty.
[out] | id | Method id. |
[out] | output | Output workspace variables (for generic methods). |
[out] | input | Input workspace variables (for generic methods). |
[out] | tasks | A list of other methods. |
[out] | auto_vars | Indexes of automatically created variables. |
[out] | auto_vars_values | Values of automatically created variables. |
[out] | include_file | The input to parse. |
[in] | no_eot | Suppress throwing an error on EOT after the closing curly brace. |
UnknownMethod | |
UnknownWsv | |
WrongWsvGroup |
Definition at line 496 of file parser.cc.
References SourceText::AdvanceChar(), MdRecord::AgendaMethod(), assertain_character(), SourceText::Column(), CREATE_OUT3, SourceText::Current(), eat_whitespace(), SourceText::File(), SourceText::Line(), mcfile_version, msource, MdRecord::Name(), parse_agenda(), parse_method_args(), parse_String(), read_name(), Agenda::resize(), SourceText::SetMark(), and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by parse_agenda(), and parse_main().
|
private |
Parse method's argument list.
This function parses a method's argument list.
[in] | mdd | Method |
[out] | id | Method index in md_data. |
[out] | methodname | Name of the WSM |
[out] | output | Output WSVs |
[out] | input | Input WSVs |
[out] | auto_vars | Indexes of automatically created variables. |
[out] | auto_vars_values | Values of automatically created variables. |
Definition at line 746 of file parser.cc.
References SourceText::AdvanceChar(), assertain_character(), SourceText::Column(), SourceText::ColumnRaw(), SourceText::Current(), eat_whitespace(), Zeeman::end(), SourceText::File(), find_named_arguments(), MdRecord::GIn(), MdRecord::GInDefault(), MdRecord::GOut(), MdRecord::InOnly(), SourceText::Line(), SourceText::LineRaw(), SourceText::MarkedColumn(), SourceText::MarkedLine(), global_data::md_data, global_data::md_data_raw, global_data::MdMap, global_data::MdRawMap, msource, MdRecord::Name(), Array< base >::nelem(), NODEF, MdRecord::Out(), parse_generic_input(), parse_generic_output(), parse_specific_input(), parse_specific_output(), read_name(), set_gin_to_default(), SourceText::SetPosition(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), MdRecord::Supergeneric(), and Workspace::WsvMap.
Referenced by parse_method().
|
private |
Use a String stream to parse a floating point number.
[out] | n | Parsed numeric. |
Definition at line 2063 of file parser.cc.
References n, and read_numeric().
Referenced by parse_numvector(), and read_name_or_value().
|
private |
Read a vector of Numerics.
This looks as follows in the control file: [1.3, 5, 3.4] Whitespace has to have been eaten before, that is, the current character must be `['.
The empty vector is allowed.
Line breaks are allowed before and after each number. Line breaks inside numbers are not allowed.
Definition at line 2166 of file parser.cc.
References SourceText::AdvanceChar(), assertain_character(), SourceText::Current(), eat_whitespace(), i, msource, Array< base >::nelem(), parse_numeric(), and Vector::resize().
Referenced by read_name_or_value().
Read a vector of Numerics from a String.
This looks as follows: [1.3, 5] Whitespace has to have been eaten before, that is, the current character must be `['.
The empty vector is allowed.
Definition at line 2370 of file parser.cc.
References SourceText::Column(), eat_whitespace_from_string(), SourceText::File(), i, SourceText::Line(), msource, Array< base >::nelem(), and Vector::resize().
Referenced by set_gin_to_default().
|
private |
Parse the specific input WSVs for current method from the controlfile.
[in] | mdd | Pointer to the current WSM |
[out] | input | Indexes of input variables for the WSM |
[out] | auto_vars | Indexes of automatically created variables. |
[out] | auto_vars_values | Values of automatically created variables. |
[in] | first | If set to false, there must be a comma before the first WSV in the controlfile |
Definition at line 1358 of file parser.cc.
References assertain_character(), at_end_of_argument(), SourceText::Column(), eat_whitespace(), Zeeman::end(), SourceText::File(), get_argument_index_by_name(), MdRecord::InOnly(), SourceText::Line(), msource, MdRecord::Out(), read_name_or_value(), SourceText::SetPosition(), Workspace::wsv_data, global_data::wsv_group_names, and Workspace::WsvMap.
Referenced by parse_method_args().
|
private |
Parse the output WSVs for current method from the controlfile.
[in] | mdd | Pointer to the current WSM |
[out] | output | Indexes of output variables for the WSM |
[in] | first | If set to false, there must be a comma before the first WSV in the controlfile |
Definition at line 1458 of file parser.cc.
References Workspace::add_wsv(), assertain_character(), at_end_of_argument(), SourceText::Column(), eat_whitespace(), Zeeman::end(), SourceText::File(), get_argument_index_by_name(), SourceText::Line(), msource, MdRecord::Name(), MdRecord::Out(), read_name(), SourceText::SetPosition(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), Workspace::wsv_data, global_data::wsv_group_names, and Workspace::WsvMap.
Referenced by parse_method_args().
|
private |
Reads a String, complete with quotation marks.
Whitespace has to have been eaten before, that is, the current character must be the quotation mark ("). Quotation marks inside Strings are currently not possible.
Line breaks inside Strings are not allowed.
[out] | res | Output string. |
IllegalLinebreak | An illegal linebreak has occured. |
Definition at line 1859 of file parser.cc.
References SourceText::AdvanceChar(), assertain_character(), SourceText::Column(), SourceText::Current(), SourceText::File(), SourceText::Line(), SourceText::LineBreak(), and msource.
Referenced by parse_method(), parse_Stringvector(), and read_name_or_value().
|
private |
Read an Array of Strings from a String.
This looks as follows: [ "String1", "String2"] Whitespace has to have been eaten before, that is, the current character must be `['.
The empty vector is allowed.
Definition at line 2437 of file parser.cc.
References SourceText::Column(), eat_whitespace_from_string(), SourceText::File(), i, SourceText::Line(), msource, and Array< base >::nelem().
Referenced by set_gin_to_default().
|
private |
Read a vector of Strings.
This looks as follows in the control file: ["String1","String2"]
Whitespace has to have been eaten before, that is, the current character must be `['.
The empty vector is allowed.
Quotation marks inside Strings are currently not possible.
Line breaks are allowed before and after each String. Line breaks inside Strings are not allowed.
Definition at line 2084 of file parser.cc.
References SourceText::AdvanceChar(), assertain_character(), SourceText::Current(), eat_whitespace(), msource, and parse_String().
Referenced by read_name_or_value().
void ArtsParser::parse_tasklist | ( | ) |
Public interface to the main function of the parser.
Definition at line 50 of file parser.cc.
References parse_main().
Referenced by main(), parse_agenda(), and parse_agenda().
|
private |
Reads an integer.
Whitespace has to have been eaten before, that is, the current character must be a number or `+' or `-'.
Whitespace or line breaks terminate the scanning! There are no whitespaces allowed anywhere, consisten with ANSI C scanf.
[out] | res | Output string containing the integer. |
IllegalLinebreak | An illegal linebreak has occured. |
UnexpectedChar | Unexpected character encountered. |
Definition at line 1901 of file parser.cc.
References SourceText::AdvanceChar(), SourceText::Column(), SourceText::Current(), SourceText::File(), SourceText::Line(), SourceText::LineBreak(), msource, and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by parse_integer(), and read_numeric().
|
private |
Reads name of method, keyword, or workspace variable.
These names may consist only of letters (case matters!), numbers, and underscores. Line break or any other character ends the name.
Whitespace has to have been eaten before. Scanns source for the name, starting at position specified by line and column.
[out] | name | Method, keyword or WSV name |
Definition at line 1709 of file parser.cc.
References SourceText::AdvanceChar(), SourceText::Column(), SourceText::Current(), SourceText::File(), SourceText::Line(), SourceText::LineBreak(), msource, and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().
Referenced by find_named_arguments(), parse_generic_output(), parse_method(), parse_method_args(), parse_specific_output(), and read_name_or_value().
|
private |
Reads name of a workspace variable or a value.
These names may consist only of letters (case matters!), numbers, and underscores. Line break or any other character ends the name.
Whitespace has to have been eaten before. Scanns source for the name, starting at position specified by line and column.
[out] | name | WSV name or value |
[in,out] | auto_vars | Indexes of automatically created variables. |
[in,out] | auto_vars_values | Values of automatically created variables. |
[in] | default_name | Default WSV name. |
[in] | mdd | Pointer to the current WSM |
[in] | group | Expected WSV group index |
Definition at line 1754 of file parser.cc.
References Workspace::add_wsv(), SourceText::Column(), SourceText::Current(), Zeeman::end(), SourceText::File(), get_wsv_group_id(), SourceText::Line(), msource, n, MdRecord::Name(), parse_integer(), parse_intvector(), parse_matrix(), parse_numeric(), parse_numvector(), parse_String(), parse_Stringvector(), read_name(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), global_data::wsv_group_names, and Workspace::WsvMap.
Referenced by parse_generic_input(), and parse_specific_input().
|
private |
Reads a floating point number.
Whitespace has to have been eaten before, that is, the current character must be a number or `+' or `-'.
Example numbers: 23., 1.0, -.3, -3.3e5, +3e8, 1.0E-9
Illegal numbers: ., 3e, e3, 2e-
Whitespace is not allowed inside the number. Line breaks or whitespace terminates the scanning.
[out] | res | Output string containing the numeric. |
IllegalLinebreak | Illegal line break. |
ParseError | Cannot parse this as a number. |
Definition at line 1953 of file parser.cc.
References SourceText::AdvanceChar(), SourceText::Column(), SourceText::Current(), SourceText::File(), SourceText::Line(), SourceText::LineBreak(), msource, and read_integer().
Referenced by parse_numeric().
|
private |
Set generic input to default value.
Sets the value of the generic input with the given index to its default value.
[in] | mdd | Method object. |
[out] | auto_vars | Indexes of automatically created variables. |
[out] | auto_vars_values | Values of automatically created variables. |
[in] | gin_index | Index of the generic input which should be set to its default value. |
Definition at line 603 of file parser.cc.
References Workspace::add_wsv(), ParseError::column(), SourceText::Column(), Zeeman::end(), ParseError::file(), SourceText::File(), get_wsv_group_id(), MdRecord::GIn(), MdRecord::GInDefault(), MdRecord::GInType(), ParseError::line(), SourceText::Line(), msource, n, MdRecord::Name(), NODEF, parse_intvector_from_string(), parse_numvector_from_string(), parse_stringarray_from_string(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), global_data::wsv_group_names, and Workspace::WsvMap.
Referenced by parse_generic_input(), and parse_method_args().
|
private |
Skips forward to the next argument.
Definition at line 91 of file parser.cc.
References SourceText::AdvanceChar(), SourceText::AdvanceLine(), SourceText::Column(), SourceText::ColumnRaw(), SourceText::Current(), eat_whitespace(), SourceText::File(), SourceText::Line(), SourceText::LineRaw(), msource, and SourceText::SetPosition().
Referenced by find_named_arguments().
|
private |
Insert Set and Delete methods for automatically allocated output WSVs.
This function inserts either a bunch of Set or Delete methods for implicitly allocated output WSVs. This needs to be done if the controlfile contains a value instead of an output variable name.
[in] | auto_vars | Indexes of automatically created variables. |
[in] | auto_vars_values | Values of automatically created variables. |
[in] | method_type | 0 = insert Set method, 1 = insert Delete method. |
[out] | tasklist | Agenda to which the methods should be appended. |
Definition at line 1567 of file parser.cc.
References SourceText::Column(), SourceText::File(), get_wsv_group_id(), i, SourceText::Line(), global_data::MdMap, msource, Array< base >::nelem(), Agenda::push_back(), _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str(), Workspace::wsv_data, and global_data::wsv_group_names.
Referenced by parse_agenda().
|
private |
Definition at line 163 of file parser.h.
Referenced by ArtsParser().
|
private |
Definition at line 167 of file parser.h.
Referenced by parse_method().
|
private |
Definition at line 165 of file parser.h.
Referenced by ArtsParser(), at_end_of_argument(), eat_whitespace(), find_named_arguments(), parse_agenda(), parse_generic_input(), parse_generic_output(), parse_intvector(), parse_intvector_from_string(), parse_main(), parse_matrix(), parse_method(), parse_method_args(), parse_numvector(), parse_numvector_from_string(), parse_specific_input(), parse_specific_output(), parse_String(), parse_stringarray_from_string(), parse_Stringvector(), read_integer(), read_name(), read_name_or_value(), read_numeric(), set_gin_to_default(), skip_to_next_argument(), and tasklist_insert_set_delete().
|
private |
Definition at line 161 of file parser.h.
Referenced by parse_main().
|
private |
Definition at line 169 of file parser.h.
Referenced by parse_agenda().