Commit a23d9859 authored by Akim Demaille's avatar Akim Demaille

2003-06-02 Akim Demaille <akim@epita.fr>

	* reports.texi (HAVM, SPIM): New.
	(Glossary)/ build, host, target, havm, spim.
	* AUTHORS, README, NEWS: Help Emacs understanding this is text.
	* AUTHORS: Copyright notice.
parent 04bb7231
-*- text -*-
This package was written by Akim Demaille <akim@epita.fr>, based on
the work of several different people.
......@@ -13,4 +15,27 @@ therefore contributing to this package:
- tc
Written by a group at EPITA, see tc --version for more information.
texi-caption.el is based on original work by Gary Vaughan.
\ No newline at end of file
texi-caption.el is based on original work by Gary Vaughan.
-----
Copyright (C) 2003 Akim Demaille
This file is part of the Tiger Project.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
2003-06-02 Akim Demaille <akim@epita.fr>
* reports.texi (HAVM, SPIM): New.
(Glossary)/ build, host, target, havm, spim.
* AUTHORS, README, NEWS: Help Emacs understanding this is text.
* AUTHORS: Copyright notice.
2003-06-02 Akim Demaille <akim@epita.fr>
* Makefile.am: Don't use lisp_LISP, as it wants to install the
......
-*- text -*-
New in 0.9:
* Autoconfiscated to ease the distribution and collaborative work.
......
-*- text -*-
This package contains the specifications of the Tiger Project as done
at EPITA, Ecole Pour l'Informatique et les Techniques Avancées.
......
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 2)
(Project-Description "Tiger Project Subject")
(Project-Version tiger-subject 0 122)
(Parent-Version tiger-subject 0 121)
(Project-Version tiger-subject 0 123)
(Parent-Version tiger-subject 0 122)
(Version-Log "2003-06-02 Akim Demaille <akim@epita.fr>
* Makefile.am: Don't use lisp_LISP, as it wants to install the
file.
(BUILT_SOURCES): reports.ext and tiger.ext.
* reports.texi (@spimcaption): New.
(T9) Some samples.
* extexi.pl: Support @spimcaption.")
* reports.texi (HAVM, SPIM): New.
(Glossary)/ build, host, target, havm, spim.
* AUTHORS, README, NEWS: Help Emacs understanding this is text.
* AUTHORS: Copyright notice.")
(New-Version-Log "")
(Checkin-Time "Mon, 02 Jun 2003 10:28:50 +0200")
(Checkin-Time "Mon, 02 Jun 2003 10:29:21 +0200")
(Checkin-Login akim)
(Populate-Ignore
(
......@@ -36,17 +34,17 @@
)
)
(Files
(ChangeLog (tiger-subject/3_ChangeLog 1.110 644))
(ChangeLog (tiger-subject/3_ChangeLog 1.111 644))
(.project (tiger-subject/12_.project 1.1 644))
(AUTHORS (tiger-subject/13_AUTHORS 1.1 644))
(README (tiger-subject/14_README 1.1 644))
(NEWS (tiger-subject/15_NEWS 1.1 644))
(AUTHORS (tiger-subject/13_AUTHORS 1.2 644))
(README (tiger-subject/14_README 1.2 644))
(NEWS (tiger-subject/15_NEWS 1.2 644))
(configure.ac (tiger-subject/16_configure. 1.1 644))
(prj (tiger-subject.prj) :symlink)
(Makefile.am (tiger-subject/0_Makefile 1.19 644))
(texi-caption.el (tiger-subject/5_texi-capti 1.2 644))
(tiger.texi (tiger-subject/1_tiger.texi 1.25 644))
(reports.texi (tiger-subject/2_reports.te 1.110 644))
(reports.texi (tiger-subject/2_reports.te 1.111 644))
(extexi.pl (tiger-subject/4_extexi.pl 1.15 755))
(extexi.mk (tiger-subject/6_extexi.mk 1.1 644))
)
......
......@@ -261,6 +261,8 @@ Tools
* Modern Compiler Implementation:: The Tiger Bible
* The GNU Build System:: Creating packages
* Flex & Bison:: Scanning and Parsing
* HAVM:: A @code{Tree} Interpreter
* SPIM:: A @acronym{MIPS} R2000 Simulator
* Doxygen:: Generating Developer Documentation
The @acronym{GNU} Build System
......@@ -2813,7 +2815,8 @@ This section was last updated for EPITA-2004 on 2003-05-21.
@cindex @sc{instr}
At the end of this stage, the compiler produces the very low level
intermediate representation: @sc{assem}. This output is target
dependent, and we aim at @sc{mips}, as we use @sc{spim} to run it.
dependent, and we aim at @acronym{MIPS}, as we use @acronym{SPIM} to
run it.
@menu
* T7 Samples:: See T7 work
......@@ -2942,9 +2945,9 @@ following files:
@item @file{src/codegen/mips/asm-fragments.hh}
@itemx @file{src/codegen/mips/asm-fragments.cc}
How @sc{mips} (and @sc{spim}) fragments are to be displayed. In other
words, that's where the (global) syntax of the target assembly file is
selected.
How @acronym{MIPS} (and @acronym{SPIM}) fragments are to be displayed.
In other words, that's where the (global) syntax of the target
assembly file is selected.
@item @file{src/codegen/asm-visitor.hh}
Fragments will require polymorphism.
......@@ -3166,6 +3169,8 @@ helpful tips are given. Feel free to contribute additional information.
* Modern Compiler Implementation:: The Tiger Bible
* The GNU Build System:: Creating packages
* Flex & Bison:: Scanning and Parsing
* HAVM:: A @code{Tree} Interpreter
* SPIM:: A @acronym{MIPS} R2000 Simulator
* Doxygen:: Generating Developer Documentation
@end menu
......@@ -3416,6 +3421,71 @@ documentation}, and the
@href{http://www.lrde.epita.fr/~akim/doc/flex.html, Flex documentation}
are available for browsing.
@node HAVM
@section @acronym{HAVM}
@cindex @acronym{HAVM}
@acronym{HAVM} is a @code{Tree} (@acronym{hir} or @acronym{lir})
programs interpreter. It was written by Robert Anisko so that
@acronym{EPITA} students could exercise their compiler projects before
the final jump to assembly code. It is implemented in Haskell, a pure
non strict functional language very well suited for this kind of
symbolic processing. @acronym{HAVM} was coined on both Haskell, and
@acronym{vm} standing for Virtual Machine.
Information about @acronym{HAVM} can be found on
@href{http://www.lrde.epita.fr/cgi-bin/twiki/view/Projects/Havm,
@acronym{HAVM} Home Page}, and feedback can be sent to
@href{projects@@lrde.epita.fr, @acronym{lrde}'s Projects Address}.
@node SPIM
@section @acronym{SPIM}
@cindex @acronym{spim}
The following is taken from the @acronym{SPIM} documentation itself.
@quotation
@acronym{SPIM} S20 is a simulator that runs programs for the
@acronym{MIPS} R2R3000 @acronym{RISC} computers. @acronym{SPIM}
can read and immediately execute files containing assembly language.
@acronym{SPIM} is a self-contained system for running these programs
and contains a debugger and interface to a few operating system
services.
The architecture of the @acronym{MIPS} computers is simple and
regular, which makes it easy to learn and understand. The processor
contains 32 general-purpose 32-bit registers and a well-designed
instruction set that make it a propitious target for generating code
in a compiler.
However, the obvious question is: why use a simulator when many people
have workstations that contain a hardware, and hence significantly
faster, implementation of this computer? One reason is that these
workstations are not generally available. Another reason is that
these machine will not persist for many years because of the rapid
progress leading to new and faster computers. Unfortunately, the
trend is to make computers faster by executing several instructions
concurrently, which makes their architecture more difficult to
understand and program. The @acronym{MIPS} architecture may be the
epitome of a simple, clean @acronym{RISC} machine.
In addition, simulators can provide a better environment for low-level
programming than an actual machine because they can detect more errors
and provide more features than an actual computer. For example,
@acronym{SPIM} has a X-window interface that is better than most
debuggers for the actual machines.
Finally, simulators are an useful tool for studying computers and the
programs that run on them. Because they are implemented in software,
not silicon, they can be easily modified to add new instructions,
build new systems such as multiprocessors, or simply to collect data.
@end quotation
@acronym{SPIM} is written and maintained by @email{larus@@cs.wisc.edu,
James R. Larus}.
@node Doxygen
@section Doxygen
......@@ -3446,6 +3516,9 @@ target @code{html} must produce the @acronym{html} documentation in the
@node Glossary
@appendixsec Glossary
Contributions to this section (as for the rest of this documentation)
will be greatly appreciated.
@table @dfn
@item activation block
@cindex activation block
......@@ -3454,8 +3527,34 @@ Portion of dynamically allocated memory holding all the information a
automatic local variables etc. Implemented by the class
@code{frame::Frame} (@pxref{T5}).
@item build
@cindex build
The machine/architecture on which the program is being built. For
instance, @acronym{EPITA} students typically @emph{build} their
compiler on NetBSD. Contrast with ``target'' and ``host''.
@item @acronym{HAVM}
@acronym{HAVM} is a @code{Tree} (@acronym{hir} or @acronym{lir})
programs interpreter. @xref{HAVM}.
@item host
@cindex host
The machine/architecture on which the program is run. For instance,
@acronym{EPITA} students typically run their Tiger Compiler on NetBSD.
Contrast with ``build and ``target''.
@item stack frame
See ``activation block''.
Synonym for ``activation block''.
@item @acronym{SPIM}
@acronym{SPIM} S20 is a simulator that runs programs for the
@acronym{MIPS} R2R3000 @acronym{RISC} computers. @xref{SPIM}.
@item target
@cindex target
The machine (or language) aimed at by a compiling tool. For instance,
our target is principally @acronym{mips}. Compare with ``build'' and
``host''.
@end table
@include fdl.texi
......
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