def _sym_ref() -> InvokationVariant: return invokation_variant_from_args([ a.Single(a.Multiplicity.MANDATORY, a.Constant(pgm_syntax_elements.SYMBOL_REF_PROGRAM_TOKEN)), a.Single(a.Multiplicity.MANDATORY, syntax_elements.SYMBOL_NAME_SYNTAX_ELEMENT.argument), ], _TEXT_PARSER.fnap(_SYM_REF_PROGRAM_DESCRIPTION))
def _common_initial_args__case() -> List[arg.ArgumentUsage]: return [ arg.Single(arg.Multiplicity.MANDATORY, arg.Constant(common_opts.SYMBOL_COMMAND)), arg.Single(arg.Multiplicity.ZERO_OR_MORE, CASE_OPTION_ARGUMENT), arg.Single(arg.Multiplicity.MANDATORY, instruction_arguments.FILE_ARGUMENT), ]
def _cl_arguments(self) -> List[a.ArgumentUsage]: return [ a.Single(a.Multiplicity.OPTIONAL, self._relativity_name), a.Single(a.Multiplicity.MANDATORY, self._file_name), ]
def def_instruction_argument_syntax() -> List[a.ArgumentUsage]: return [ a.Single(a.Multiplicity.MANDATORY, a.Named(TYPE_SYNTAX_ELEMENT)), a.Single(a.Multiplicity.MANDATORY, syntax_elements.SYMBOL_NAME_SYNTAX_ELEMENT.argument), a.Single(a.Multiplicity.MANDATORY, a.Constant(ASSIGNMENT_ARGUMENT)), a.Single(a.Multiplicity.MANDATORY, a.Named(VALUE_SYNTAX_ELEMENT)), ]
def _invokation_variants_parentheses(self) -> List[InvokationVariant]: arguments = [ a.Single(a.Multiplicity.MANDATORY, a.Constant('(')), self.concept_argument, a.Single(a.Multiplicity.MANDATORY, a.Constant(')')), ] iv = invokation_variant_from_args(arguments) return [iv]
def synopsis() -> cli_syntax.Synopsis: command_line = arg.CommandLine([ arg.Single(arg.Multiplicity.ZERO_OR_MORE, _OPTION_PLACEHOLDER_ARGUMENT), arg.Single(arg.Multiplicity.MANDATORY, TEST_CASE_FILE_ARGUMENT) ], prefix=program_info.PROGRAM_NAME) return cli_syntax.Synopsis(command_line, _TP.text(_DESCRIPTION_PARAGRAPH))
def text_until_end_of_line() -> InvokationVariant: return invokation_variant_from_args([ a.Single( a.Multiplicity.MANDATORY, a.Constant(pgm_syntax_elements. REMAINING_PART_OF_CURRENT_LINE_AS_LITERAL_MARKER)), a.Single(a.Multiplicity.MANDATORY, TEXT_UNTIL_END_OF_LINE_ARGUMENT) ], _TEXT_PARSER.fnap(_TEXT_UNTIL_END_OF_LINE_DESCRIPTION))
def invokation_variants(self) -> List[InvokationVariant]: return [ invokation_variant_from_args([ a.single_mandatory(self._pgm_and_args.element), a.Single(a.Multiplicity.OPTIONAL, _STDIN_ARGUMENT), a.Single(a.Multiplicity.OPTIONAL, a.Named(_OUTPUT_TRANSFORMATION)), ]), ]
def invokation_variants(self) -> List[InvokationVariant]: return [ invokation_variant_from_args([ a.Single(a.Multiplicity.OPTIONAL, a.Option(IGNORE_EXIT_CODE_OPTION_NAME)), a.Single(a.Multiplicity.MANDATORY, syntax_elements.PROGRAM_SYNTAX_ELEMENT.argument), ]), ]
def invokation_variants(self) -> List[InvokationVariant]: return [ invokation_variant_from_args([ a.Single(a.Multiplicity.MANDATORY, self._src_rel_opt_arg_conf.argument), a.Single(a.Multiplicity.OPTIONAL, REL_OPTION_ARG_CONF_FOR_DESTINATION.argument)] ), ]
def _constant_sed(name: str) -> SyntaxElementDescription: return SyntaxElementDescription(name, _TP.fnap(_LITERAL__HEADER), [ invokation_variant_from_args([ a.Single(a.Multiplicity.MANDATORY, a.Constant( syntax.LITERAL_BEGIN)), a.Single(a.Multiplicity.ONE_OR_MORE, a.Named(_FILE_CONDITION)), a.Single(a.Multiplicity.MANDATORY, a.Constant(syntax.LITERAL_END)), ], _TP.fnap(_LITERAL__DESCRIPTION_REST)), ])
def _existing_path(option: a.OptionName, description_rest: str) -> InvokationVariant: return invokation_variant_from_args([ a.Single(a.Multiplicity.MANDATORY, a.Option(option)), a.Single(a.Multiplicity.MANDATORY, PATH_OF_EXISTING_FILE_OPT_CONFIG.argument) ], _TEXT_PARSER.fnap(description_rest) )
def _here_doc() -> InvokationVariant: return invokation_variant_from_args([ a.Single( a.Multiplicity.MANDATORY, a.Constant(string.HERE_DOCUMENT_MARKER_PREFIX + _HERE_DOC_SYNTAX_MARKER)), a.Single(a.Multiplicity.ZERO_OR_MORE, a.Named(_HERE_DOC_LINE)), a.Single(a.Multiplicity.MANDATORY, a.Constant(_HERE_DOC_SYNTAX_MARKER)), ], _TEXT_PARSER.fnap(_DESCRIPTION__HERE_DOC))
def synopsis() -> cli_syntax.Synopsis: command_line = arg.CommandLine([ arg.Single(arg.Multiplicity.MANDATORY, arg.Constant(common_opts.SUITE_COMMAND)), arg.Single(arg.Multiplicity.OPTIONAL, _REPORTER_OPTION), arg.Single(arg.Multiplicity.OPTIONAL, _ACTOR_OPTION), arg.Single(arg.Multiplicity.MANDATORY, _FILE_ARGUMENT), ], prefix=program_info.PROGRAM_NAME) return cli_syntax.Synopsis(command_line, _TP.text(_DESCRIPTION_PARAGRAPH))
def initial_paragraphs(self) -> List[ParagraphItem]: command_line = arg.CommandLine([ arg.Single(arg.Multiplicity.MANDATORY, _c(clo.HELP)), arg.Single(arg.Multiplicity.ZERO_OR_MORE, _n('ARGUMENT')) ], prefix=program_info.PROGRAM_NAME) command_line_syntax_text = CommandLineSyntaxRenderer().apply( command_line) return docs.paras(command_line_syntax_text)
def synopsis_individual() -> cli_syntax.Synopsis: additional_arguments = [ arg.Single(arg.Multiplicity.MANDATORY, syntax_elements.SYMBOL_NAME_SYNTAX_ELEMENT.argument), arg.Single(arg.Multiplicity.OPTIONAL, _INDIVIDUAL_REFERENCES_OPTION), ] return cli_syntax.Synopsis( _command_line__case(additional_arguments), paragraphs=_TP.fnap(_DESCRIPTION_PARAGRAPHS_INDIVIDUAL), additional_command_lines=[_command_line__suite(additional_arguments)])
def argument_usage_list(self) -> Sequence[a.ArgumentUsage]: return [ a.Single(a.Multiplicity.OPTIONAL, self.LINES_SELECTOR), a.Single(a.Multiplicity.OPTIONAL, names.PRESERVE_NEW_LINES_OPTION), a.Single(a.Multiplicity.MANDATORY, _REGEX_ARGUMENT), a.Single(a.Multiplicity.MANDATORY, _REPLACEMENT_ARGUMENT), ]
def _file_list_sed(name: str) -> SyntaxElementDescription: return SyntaxElementDescription(name, (), [ invokation_variant_from_args([ a.Single(a.Multiplicity.MANDATORY, a.Constant(syntax.FILE_LIST_BEGIN)), a.Single(a.Multiplicity.ONE_OR_MORE, a.Named(syntax.FILE_SPEC__SE_STR)), a.Single(a.Multiplicity.MANDATORY, a.Constant( syntax.FILE_LIST_END)), ], _TP.fnap(_FILE_LIST__DESCRIPTION_REST)), ])
def argument_usage_list(self) -> Sequence[a.ArgumentUsage]: element_arg = a.Single(a.Multiplicity.MANDATORY, a.Constant(self._element_name) ) separator_arg = a.Single(a.Multiplicity.MANDATORY, a.Constant(logic.QUANTIFICATION_SEPARATOR_ARGUMENT) ) return (element_arg, separator_arg, self._element_matcher_syntax_info.single_mandatory, )
def system_program(arguments: List[a.ArgumentUsage]) -> InvokationVariant: return invokation_variant_from_args( [ a.Single(a.Multiplicity.MANDATORY, a.Constant(pgm_syntax_elements.SYSTEM_PROGRAM_TOKEN) ), a.Single(a.Multiplicity.MANDATORY, syntax_elements.STRING_SYNTAX_ELEMENT.argument ), ] + arguments, _TEXT_PARSER.paras(misc_texts.SYSTEM_PROGRAM_DESCRIPTION) )
def __init__(self, name: str): super().__init__( name, { 'checked_file': _PATH_ARGUMENT.name, 'FILES_MATCHER': syntax_elements.FILES_MATCHER_SYNTAX_ELEMENT.singular_name, 'HARD_ERROR': exit_values.EXECUTION__HARD_ERROR.exit_identifier, }) self.actual_file = a.Single(a.Multiplicity.MANDATORY, _PATH_ARGUMENT) self.relativity_of_actual_arg = instruction_arguments.RELATIVITY_ARGUMENT self.actual_file_relativity = a.Single(a.Multiplicity.OPTIONAL, self.relativity_of_actual_arg)
def invokation_variants(self) -> Sequence[InvokationVariant]: from exactly_lib.definitions.entity.actors import SOURCE_INTERPRETER_ACTOR source_interpreter_arg = a.Single(a.Multiplicity.MANDATORY, a.Named(SOURCE_INTERPRETER_NAME)) file_interpreter_arg = a.Single(a.Multiplicity.MANDATORY, a.Named(FILE_INTERPRETER_NAME)) return ( self._command_line_invokation_variant(), self._interpreter_actor_invokation_variant(FILE_INTERPRETER_ACTOR, file_interpreter_arg), self._interpreter_actor_invokation_variant( SOURCE_INTERPRETER_ACTOR, source_interpreter_arg), self._null_invokation_variant(), )
class Description(grammar.PrimitiveDescriptionWithNameAsInitialSyntaxToken): ARGUMENT_USAGE_LIST = ( a.Single(a.Multiplicity.OPTIONAL, a.Option(matcher_options.FULL_MATCH_ARGUMENT_OPTION)), syntax_elements.REGEX_SYNTAX_ELEMENT.single_mandatory, ) @property def argument_usage_list(self) -> Sequence[a.ArgumentUsage]: return self.ARGUMENT_USAGE_LIST @property def description_rest(self) -> Sequence[ParagraphItem]: tp = TextParser({ 'REGEX': syntax_elements.REGEX_SYNTAX_ELEMENT.singular_name, 'full_regex_match': option_syntax.option_syntax( matcher_options.FULL_MATCH_ARGUMENT_OPTION), 'model': matcher_model.TEXT_MODEL, }) return tp.fnap(_DESCRIPTION) @property def see_also_targets(self) -> Sequence[SeeAlsoTarget]: return syntax_elements.REGEX_SYNTAX_ELEMENT.cross_reference_target,
def _standard_type_value_args( type_info: TypeNameAndCrossReferenceId, value_multiplicity: a.Multiplicity = a.Multiplicity.MANDATORY ) -> List[a.ArgumentUsage]: return [ a.Single(value_multiplicity, a.Named(type_info.syntax_element_name)) ]
def def_instruction_arguments(self) -> List[a.ArgumentUsage]: before_value = [ a.Single(a.Multiplicity.MANDATORY, a.Constant(self.identifier)), _SYMBOL_NAME, _EQUALS, ] return before_value + self.value_arguments
def argument_usage_list(self) -> Sequence[a.ArgumentUsage]: matcher_arguments = [ a.Single( a.Multiplicity.MANDATORY, self._documentation.names. contents_matcher_syntax_element.argument) ] return list(self._documentation.options) + matcher_arguments
def invokation_variants(self) -> List[InvokationVariant]: return [ invokation_variant_from_args([ a.Single(a.Multiplicity.MANDATORY, self.command_arg)], []), ]
def invokation_variants(self) -> List[InvokationVariant]: return [ invokation_variant_from_args([ a.Single(a.Multiplicity.MANDATORY, _DIR_ARGUMENT), ]), ]
def single_eq_invokation_variants(mandatory_arg: a.Argument) -> list: args = [ MANDATORY_EQ_ARG, a.Single(a.Multiplicity.MANDATORY, mandatory_arg), ] return [ InvokationVariant(cl_syntax.cl_syntax_for_args(args)), ]
def invokation_variants(self) -> List[InvokationVariant]: executable_arg = a.Single(a.Multiplicity.MANDATORY, self.file) return [ invokation_variant_from_args([ executable_arg, syntax_elements.PROGRAM_ARGUMENT_SYNTAX_ELEMENT.zero_or_more, ]), ]