[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Side-effects during variable assignments?
From: |
Sébastien Hinderer |
Subject: |
Side-effects during variable assignments? |
Date: |
Thu, 8 Jun 2023 14:42:28 +0200 |
Dear all,
Assume the following macros that define different categories of
OCaml-related source files:
define OCAML_MODULE
$(1).mli $(1).ml
endef
define OCAML_CONFIGURED_MODULE
$(1).mli $(1).ml.in
endef
define OCAML_LEXER_MODULE
$(1).mli $(1).mll
endef
define OCAML_PARSER_MODULE
$(1).mly
endef
Such macros can then be used to list source files of one given program,
here ocamltest, say:
ocamltest_SOURCES = \
$(call OCAML_CONFIGURED_MODULE, ocamltest_config) \
$(call OCAML_MODULE, ocamltest_unix) \
$(call OCAML_PARSER_MODULE, tsl_parser) \
$(call OCAML_LEXER_MODULE, tsl_lexer) \
...
It is possible to define other variables similar to ocamltest_SOURCES,
ocamldoc_SOURCES, say.
As such variables are defined, I would like to accumulate, in LEXERS and
PARSERS vairables, say, the names of modules of each category so that I
can then use the LEXERS and PARSERS variable to specify dependencies,
say.
Is there a way to achieve this by somehow extending the macros so that
they modifiy the LEXERS & co varialbes each time they are called before
returning the string they currently return? If not, as I suspect, can
anybody think aobut an alternative way to reach the expected feature?
Many thanks in advnace for any hint,
Sébastien.
- Side-effects during variable assignments?,
Sébastien Hinderer <=