Commit 9f5874d3 authored by Pierre Brandone's avatar Pierre Brandone
Browse files

TC-3 FAQ: update deprecated reference to overfun task

* source/compiler_stages/tc_3/faq.rst: Here.
parent be0fbf76
Pipeline #32376 passed with stage
in 42 seconds
......@@ -25,13 +25,17 @@ Ambiguous resolution of operator<< for ast::VarDec
ostr << static_cast<const ast::Escapable&>(vardec);
What is the purpose of the 'bound' task?
The computation of name bindings can be carried out in different ways, depending on the input language: Tiger
without object constructs ("Panther"), Tiger with object constructs and Tiger with support for function overloading.
These different flavors of the binding computation are performed by options :code:`--bindings-compute`,
:code:`--object-bindings-compute` and :code:`--overfun-bindings-compute` respectively (see :ref:`Invoking tc`).
The computation of name bindings can be carried out in different ways,
depending on the input language: Tiger without object constructs ("Panther"),
Tiger with object constructs and Tiger with support for function overloading.
These different flavors of the binding computation are performed respectively
by options :code:`--bindings-compute`, :code:`--object-bindings-compute` and
:code:`--combine-types-compute` (not :code:`combine-bind` because the binding
of overloaded functions is actually done during the type checking). See
:ref:`Invoking tc`.
However, some subsequent task may later just require that an AST is annotated with bindings ("bound") regardless
of the technique used to compute these bindings. The purpose of the :code:`bound` task is to address this need:
ensuring that one of the bindings task has been executed. This task can be considered as a disjunction (logical
"or") of the :code:`bindings-compute`, :code:`object-bindings-compute` and :code:`overfun-bindings-compute`
"or") of the :code:`bindings-compute`, :code:`object-bindings-compute` and :code:`combine-types-compute`
tasks, the first one being the default binding strategy.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment