Commit bf4652d7 authored by Erwan Auer's avatar Erwan Auer

assignments: fixed multiple errors

* source/compiler_stages/tc_1/code_to_write.rst,
* source/compiler_stages/tc_1/given_code.rst,
* source/compiler_stages/tc_2/given_code.rst,
* source/compiler_stages/tc_3/given_code.rst,
* source/compiler_stages/tc_4/given_code.rst,
* source/compiler_stages/tc_5/given_code.rst,
* source/compiler_stages/tc_6/samples/canonicalization_samples.rst,
* source/compiler_stages/tc_7/given_code.rst,
* source/compiler_stages/tc_8/given_code.rst,
* source/compiler_stages/tc_9/given_code.rst,
* source/compiler_stages/tc_a/improvements.rst,
* source/compiler_stages/tc_a/samples.rst,
* source/compiler_stages/tc_r/given_code.rst,
* source/instructions/coding_style/documentation_style.rst,
* source/instructions/coding_style/use_of_stl.rst,
* source/instructions/tests/generating_the_test_driver.rst,
* source/intro/history/tiger_2002.rst,
* source/intro/history/tiger_2005.rst,
* source/intro/history/tiger_2006.rst,
* source/intro/history/tiger_2007.rst,
* source/intro/history/tiger_2015.rst,
* source/intro/history/tiger_2018.rst,
* source/intro/what_the_tiger_project_is_not.rst,
* source/intro/why_the_tiger_project.rst,
* source/source_code/given_code.rst,
* source/tools/gnu_build_system/package_name_version.rst,
* source/tools/gnu_build_system/setting_defaults.rst,
* source/tools/valgrind.rst: here.
parent 76a446c4
Pipeline #6083 passed with stage
in 1 minute and 25 seconds
......@@ -49,9 +49,9 @@ and the :code:`yylex` prologue:
...
%%
%@{
%{
// Everything here is run each time :code:`yylex` is *invoked*.
%@}
%}
"if" return TOKEN(IF);
...
%%
......
......@@ -4,7 +4,7 @@ TC-1 Given Code
---------------
Some code is provided through the :code:`tc-base` repository; use tags
:code:`2020-tc-base-1.0` to integrate it with your existing code base.
:code:`2021-tc-base-1.0` to integrate it with your existing code base.
See :ref:`Given Code` for more information on using the :code:`tc-base` Git
repository.
......
......@@ -3,6 +3,6 @@
TC-2 Given Code
---------------
Code is provided through the ':code:`tc-base`' repository, using tag ':code:`2020-tc-base-2.0`'.
Code is provided through the ':code:`tc-base`' repository, using tag ':code:`2021-tc-base-2.0`'.
For a description of the new modules, see :ref`lib/misc`, and :ref:`src/ast`.
For a description of the new modules, see :ref:`lib/misc`, and :ref:`src/ast`.
......@@ -3,5 +3,5 @@
TC-3 Given Code
---------------
Code is provided through the ':code:`tc-base`' repository, using tag ':code:`2020-tc-base-3.0`'. For a description of
Code is provided through the ':code:`tc-base`' repository, using tag ':code:`2021-tc-base-3.0`'. For a description of
the new module, see :ref:`src/bind`.
......@@ -3,5 +3,5 @@
TC-4 Given Code
---------------
Some code is provided through the ':code:`tc-base`' repository, using tag ':code:`2020-tc-base-4.0`'. For a
Some code is provided through the ':code:`tc-base`' repository, using tag ':code:`2021-tc-base-4.0`'. For a
description of the new module, see :ref:`src/type`.
......@@ -3,5 +3,5 @@
TC-5 Given Code
----------------------
Some code is provided through the ‘:code:`tc-base`’ repository, using tag ‘:code:`2020-tc-base-5.0`’. For a description of the new modules, see :ref:`src/temp`, :ref:`src/tree`,
Some code is provided through the ‘:code:`tc-base`’ repository, using tag ‘:code:`2021-tc-base-5.0`’. For a description of the new modules, see :ref:`src/temp`, :ref:`src/tree`,
:ref:`src/frame`, :ref:`src/translate`.
......@@ -112,20 +112,20 @@ Another danger is the handling of :code:`move(mem, )`. For instance:
.. code::
move(mem @var{foo}, x)
move(mem foo, x)
must be rewritten into:
.. code::
move(temp t, @var{foo})
move(temp t, foo)
move(mem(temp t), x)
*not* as:
.. code::
move(temp t, mem(@var{foo}))
move(temp t, mem(foo))
move(temp t, x)
In other words, the first subexpression of :code:`move(mem(foo), )` is
......
......@@ -4,6 +4,6 @@ TC-7 Given Code
---------------
Some code is provided through the :code:`tc-base` repository, using tag
:code:`|class|-tc-base-7.0`.
:code:`2021-tc-base-7.0`.
For more information about the |COMPILER|-7 code delivered see
:ref:`src/target`, :ref:`src/assem`.
......@@ -4,6 +4,6 @@ TC-8 Given Code
---------------
Some code is provided through the :code:`tc-base` repository, using tag
:code:`2020-tc-base-8.0`.
:code:`2021-tc-base-8.0`.
To read the description of the new modules,
see :ref:`lib/misc`, :ref:`src/liveness`.
......@@ -4,5 +4,5 @@ TC-9 Given Code
---------------
Some code is provided through the :code:`tc-base` repository, using tag
:code:`2020-tc-base-9.0`.
:code:`2021-tc-base-9.0`.
To read the description of the new module, see :ref:`src/regalloc`.
.. _TC-A Improvements:
TC-A Improvements
-----------------
......
......@@ -93,13 +93,13 @@ There can be ambiguous (overloaded) calls.
$ tc -XO over-amb.tig
error->over-amb.tig:9.3-12: nil ambiguity calling `empty'
error->matching declarations:
error-> empty @
error-> empty
error-> {
error-> f : foo =
error-> {
error-> }
error-> }
error-> empty @
error-> empty
error-> {
error-> b : bar =
error-> {
......
......@@ -3,5 +3,5 @@
TC-R Given Code
---------------
No additional code is provided, see TC-3 Given Code.
No additional code is provided, see :ref:`TC-3 Given Code`.
......@@ -128,9 +128,8 @@ Rule: Write Documentation in Doxygen
Of course, Doxygen documentation is not appropriate everywhere.
Rule: Document namespaces in :file:`lib*.hh` files
Rule: Document classes in their :file:`*.hh` file
| **Rule: Document namespaces in :file:`lib*.hh` files**
| **Rule: Document classes in their :file:`*.hh` file**
There must be a single location, that's our standard.
......
......@@ -46,8 +46,8 @@ Use of STL
important one: if you don't, since the outputs will be based on the
order of the pointers in memory, and since (i) this order may change if
your allocation pattern changes and (ii) this order depends of the
environment you run, then @emph{you cannot compare outputs (including
traces)}. Needless to say that, at least during development, this is a
environment you run, then **you cannot compare outputs (including
traces)**. Needless to say that, at least during development, this is a
serious misfeature.
**Rule: Prefer standard algorithms to hand-written loops (ES43)**
......
......@@ -19,7 +19,7 @@ The simplest way to generate a script is to rely on
:code:`configure`. For instance, the following line in
:file:`configure.ac` generates a script :file:`tests/testsuite` from the
input :file:`tests/testsuite.in`, while performing variables
substitutions (in particular :code:`@srcdir@` and similar variables):
substitutions (in particular :code:`srcdir` and similar variables):
.. code:: c++
......@@ -33,10 +33,10 @@ the beginning of :file:`tests/testsuite.in` might look like this:
.. code:: sh
#! /bin/sh
# @configure_input@
# configure_input
# Where the tests can be found.
testdir="@abs_top_srcdir@/tests"
testdir="abs_top_srcdir/tests"
# ...
......
......@@ -12,7 +12,7 @@ This is not standard C++
to upgrade the programming style.
Wrapping a tarball is impossible
During the first edition of the @value{Project} Compiler project,
During the first edition of the |project| Compiler project,
students had to write their own Makefiles --- after all, knowing Make is
considered mandatory for an Epitean. This had the most dramatic
effects, with a wide range of creative and imaginative ways to have your
......@@ -21,7 +21,7 @@ Wrapping a tarball is impossible
Forget to ship some files
Ship object files, or even the executable itself. Needless to say that
NetBSD executables did not run properly on Akim's @acro{gnu}/Linux box.
NetBSD executables did not run properly on Akim's gnu/Linux box.
Ship temporary files (`*~`, `#*#`, etc.).
......
......@@ -8,7 +8,7 @@ people, including, but not limited to [#forgot]_
Comaintainers
Benoît Perrot,
Rapha@"el Poss,
Raphaël Poss,
Assistants
Alexis Brouard,
......
......@@ -42,7 +42,7 @@ The interface of :code:`symbol::Table` should be provided
rest of the (provided) code expects a well defined interface, so we
should publish it! The result was confusion and loss of time.
The problem actually disappeared: @value{Project} 2007 no longer depends so
The problem actually disappeared: |project| 2007 no longer depends so
heavily on scoped symbol tables.
Some examples are incorrectly rejected by the reference compiler
......
......@@ -59,7 +59,7 @@ Debriefing
Design of the compiler
More justification of the overall design is demanded. Some selected
parts, typically TC-5, should have a @acro{uml} presentation.
parts, typically TC-5, should have a uml presentation.
Tarball
Keep the tarball simple to use. We have to improve the case of tcsh.
......
......@@ -72,8 +72,8 @@ Extension of the mandatory assignment to TC-5
on the Tiger project up to TC-5. Subsequent steps remain optional.
Use of more C++ 2011 features
This year, explicit template instantiation declarations (@code{extern
template} clauses) are introduced in the project to control template
This year, explicit template instantiation declarations (:code:`extern template`
clauses) are introduced in the project to control template
instantiations in lieu of :file:`*.hcc` files. The set of C++ features
used in the Tiger compiler is still supported by both GCC 4.6 and
Clang 3.0.
......@@ -50,7 +50,7 @@ Some of the noteworthy changes compared to :ref:`Tiger 2017`:
Make the :code:`type::Type` class visitable.
:code:`#pragma once`
Remove the :code:`cpp` guards and replace them with @code{#pragma once}
Remove the :code:`cpp` guards and replace them with :code:`#pragma once`
directives.
Use of C++14
......
......@@ -21,7 +21,7 @@ and weaknesses.
And by the way, of course C++ sucks++.
Another common rumor in @acro{epita} has it that "C/Unix programming does not
Another common rumor in EPITA has it that "C/Unix programming does not
deserve attention after the first period". Wrong again. First of all its words
are wrong: it is a legacy belief that C and Unix require each other: *you can
implement advanced system features using other languages than C* (starting with
......
......@@ -78,10 +78,10 @@ English
Style`.
Compiler
The project aims at the implementation of a compiler, but @emph{this is
a minor issue}. The field of compilers is a wonderful place where most
The project aims at the implementation of a compiler, but **this is
a minor issue**. The field of compilers is a wonderful place where most
of computer science is concentrated, that's why this topic is extremely
convenient as long term project. But @emph{it is not the major goal},
convenient as long term project. But **it is not the major goal**,
the full list of all these items is.
The |project| project is not unique in these regards, see
......
......@@ -15,14 +15,14 @@ contents of a new stage is labeled with a :code:`class-tc-base-x.y` tag.
Here is the recommended strategy to use this repository.
1) At TC-1, subscribe to the repository, fetch its contents and integrate the given
code using :code:`git merge` with the commit labeled ':code:`2020-tc-base-1.0`'
code using :code:`git merge` with the commit labeled ':code:`2021-tc-base-1.0`'
into your ':code:`master`' branch:
.. code::
$ git remote add tc-base https://gitlab.lrde.epita.fr/tiger/tc-base.git
$ git fetch
$ git merge 2020-tc-base-1.0
$ git merge 2021-tc-base-1.0
Fix the conflicts and record the merge commit:
......@@ -38,5 +38,5 @@ Here is the recommended strategy to use this repository.
.. code::
$ git fetch tc-base
$ git merge 2020-tc-base-m.0
$ git merge 2021-tc-base-m.0
......@@ -9,5 +9,5 @@ group gives:
.. code::
AC_INIT([Bardeche Group |Project| Compiler], 4, [bardec_f@@epita.fr],
AC_INIT([Bardeche Group |Project| Compiler], 4, [bardec_f@epita.fr],
[bardec_f-tc])
......@@ -30,8 +30,8 @@ First, write a :file:`config.site` file:
# (the build dir must have ``debug'' in its name).
case `pwd` in
*debug*) :
: $@{CFLAGS="-ggdb -O0"@}
: $@{CXXFLAGS="-ggdb -O0 -D_GLIBCXX_DEBUG"@}
: ${CFLAGS="-ggdb -O0"}
: ${CXXFLAGS="-ggdb -O0 -D_GLIBCXX_DEBUG"}
;;
esac
# Help configure to find the Boost libraries on NetBSD.
......@@ -40,10 +40,10 @@ First, write a :file:`config.site` file:
fi
# Set CC, CXX, BISON, MONOBURG, and other programs as well.
: $@{CC=/u/prof/acu/pub/NetBSD/bin/gcc@}
: $@{CXX=/u/prof/acu/pub/NetBSD/bin/g++@}
: $@{BISON=/u/prof/yaka/bin/bison@}
: $@{MONOBURG=/u/prof/yaka/bin/monoburg@}
: ${CC=/u/prof/acu/pub/NetBSD/bin/gcc}
: ${CXX=/u/prof/acu/pub/NetBSD/bin/g++}
: ${BISON=/u/prof/yaka/bin/bison}
: ${MONOBURG=/u/prof/yaka/bin/monoburg}
# ...
;;
esac
......
......@@ -34,7 +34,7 @@ I (Akim) personally use the following shell script to track memory leaks:
--leak-check=yes \
--leak-resolution=high \
--show-reachable=yes \
"$@@" 2>&1 1>&3 3>&- |
"$@" 2>&1 1>&3 3>&- |
sed 's/^==[0-9]*==/==/' >&2 1>&2 3>&-
**File 5.1**: v
......
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