Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tiger
assignments
Commits
9f5874d3
Commit
9f5874d3
authored
Dec 28, 2021
by
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
Changes
1
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
source/compiler_stages/tc_3/faq.rst
View file @
9f5874d3
...
...
@@ -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-binding
s-compute`
"or") of the :code:`bindings-compute`, :code:`object-bindings-compute` and :code:`
combine-type
s-compute`
tasks, the first one being the default binding strategy.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment