Esempio n. 1
0
 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))
Esempio n. 2
0
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),
    ]
Esempio n. 3
0
    def _cl_arguments(self) -> List[a.ArgumentUsage]:
        return [
            a.Single(a.Multiplicity.OPTIONAL,
                     self._relativity_name),
            a.Single(a.Multiplicity.MANDATORY,
                     self._file_name),

        ]
Esempio n. 4
0
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)),
    ]
Esempio n. 5
0
 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]
Esempio n. 6
0
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))
Esempio n. 7
0
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))
Esempio n. 8
0
 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)),
         ]),
     ]
Esempio n. 9
0
 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),
         ]),
     ]
Esempio n. 10
0
 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)]
         ),
     ]
Esempio n. 11
0
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)),
    ])
Esempio n. 12
0
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)
    )
Esempio n. 13
0
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))
Esempio n. 14
0
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))
Esempio n. 15
0
    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)
Esempio n. 16
0
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)])
Esempio n. 17
0
 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),
     ]
Esempio n. 18
0
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,
             )
Esempio n. 20
0
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)
    )
Esempio n. 21
0
 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)
Esempio n. 22
0
 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(),
     )
Esempio n. 23
0
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,
Esempio n. 24
0
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))
    ]
Esempio n. 25
0
 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
Esempio n. 26
0
 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
Esempio n. 27
0
 def invokation_variants(self) -> List[InvokationVariant]:
     return [
         invokation_variant_from_args([
             a.Single(a.Multiplicity.MANDATORY,
                      self.command_arg)],
             []),
     ]
Esempio n. 28
0
 def invokation_variants(self) -> List[InvokationVariant]:
     return [
         invokation_variant_from_args([
             a.Single(a.Multiplicity.MANDATORY,
                      _DIR_ARGUMENT),
         ]),
     ]
Esempio n. 29
0
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)),
    ]
Esempio n. 30
0
 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,
         ]),
     ]