@c intro.texi, , Top, Top

@c This file is part of the 3DLDF User Manual.
@c Copyright (C) 2013 The Free Software Foundation
@c See the section "GNU Free Documentation License" in the file 
@c fdl.texi for copying conditions.

@c * (1) Introduction

@node  Introduction, Installation, , Top
@chapter Introduction

@cindex interactive program
@cindex program, interactive
@c
This manual documents 3DLDF 2.0.  The most important difference between release 2.0 and 
previous releases is that 3DLDF 2.0 is an @dfn{interactive} program, whereas in previous 
releases, 3DLDF was more like a @dfn{library} of @cpp{} functions that users could use 
in their own programs to make drawings.

@cindex language
@c
Now, 3DLDF implements a @dfn{language} similar to the @MF{} language, and in particular
the @MP{} language derived from it.

For several years, interactive versions of 3DLDF have been available for downloading from the
Savannah website:  @uref{https://savannah.gnu.org/projects/3dldf/}.  However, 2.0 is 
the first release that includes this feature.

@cindex scanning
@cindex parsing
@cindex interpreter
@c
One result of this is that the old manual for releases through 1.1.5.1
is largely obsolete, as far as the usage of 3DLDF is concerned.  The
reference sections, documenting the classes, functions, etc., are
still usable for those who want to know the details of how the program
works, though many descriptions may be out-of-date because of changes
made in the meantime.  On the other hand, the reference sections are longer 
needed for just using the program.  The old manual is included in the distribution
in the directory @file{3DLDF-2.0/doc/old_doc/}.

The code for @dfn{scanning} and @dfn{parsing}, i.e., that
which implements the @dfn{interpreter} that makes the program interactive, 
is of course not documented in the old manual at all.

To document the new, interactive version of 3DLDF, it would therefore be necessary to write a 
completely new manual.  Unfortunately, it has not been possible for the author to do this, which 
is the main reason that there has been no new release for so many years.  In order not to delay it 
any longer, he has decided to make a release without rewriting the manual, although this is clearly 
not ideal.

As a partial substitute, release 2.0 contains the directory 
@file{3DLDF-2.0/examples/} with many examples which can used to 
learn how to use the 3DLDF language.  In addition, the directory
@file{3DLDF-2.0/src/} contains the files @file{sample.ldf}, 
@file{sample.ldf}, @file{sample0.ldf}, @file{sample1.ldf} 
and @file{sample2.ldf}.

@c ** (2)

@c * (1)

@c Local Variables:
@c mode:Texinfo
@c abbrev-mode:t
@c eval:(outline-minor-mode t)
@c outline-regexp:"@c *\\*+"
@c eval:(set (make-local-variable 'run-texi2dvi-on-file) "3dldf.texi")
@c End:
