+ What is Argile
----------------
Argile is an experimental, C-based, compiled programming language,
that produces C code. It is not intended for beginners, but
for experienced programmers with a good knowledge of C.
For more detailed information on the language, see file doc/Argile.txt .
For information on copyright, see the `Copying' section of this file.


+ Features of Argile
--------------------
++ Variable syntax
++ Polymorphism-oriented
++ Call guessing
++ Keyword-less
++ UTF-8 based
++ Access to low level programming
++ Parametered types
++ Object-oriented classes available
++ Implicit type casters can be defined
++ Definitions can be made after they are used
++ Subfunctions and anonymous functions
++ Both indentation-style and braces-style can be used


+ Why the name "Argile" ?
-------------------------
Argile means clay, which is often plastic and can take any shape.
Since the main feature of Argile programming language is to be
polymorphic, Clay would have been a well-suited name. However,
this word is too common, and a Clay programming language already
exists (according to web search engines).


+ Installation
--------------
First, compile by typing the following commands:

   ./configure && make

(but do NOT do a `make clean' first, otherwise it will try to
 invoke `arc' which does not exist yet)

Optionally, you can recompile the compiler with itself by typing:

   make backup && make re

Then, as administrator (super user or root), install with the command:

   make install


+ Testing compiled compiler
---------------------------
Once it is compiled, in the same build directory, type:

   ./compiler/arc --add-dir ./argrt --line "use std"

This should print the following code:

   #include "./argrt/std.h"

   int main(int argc, char **argv)
   {
     return 0;
   }

For errors about files not found, see doc/File_pathes.txt


+ Testing the installed compiler
--------------------------------
Once it is installed, try:

   arc --version
   arc --line 'use std'


+ Copying
---------
Unless otherwise stated inside it, the following files are Copyrighted
as free software by the Argile authors (see AUTHORS file distributed
along with this software). You can redistribute it and/or modify it
under the terms of the GNU General Public License, either version 3 or
(at your option) any later version published by the Free Sofrware
Foundation (see COPYING file for details on the license).

Makefile.am
Makefile.in
config.h.in
configure
configure.ac
compiler/arc.arg
compiler/arc.argl
compiler/arc.c
compiler/arc.h
compiler/arc.p
compiler/Makefile.am
compiler/Makefile.in
compiler/argile.arg
compiler/argile.argl
compiler/argile.c
compiler/argilectx.arg
compiler/argilectx.argl
compiler/argilectx.c
compiler/argilectx.h
compiler/argilectx.p
compiler/argile.h
compiler/argile.p
compiler/bind.arg
compiler/bind.argl
compiler/bind.c
compiler/bind.h
compiler/bind.p
compiler/buff.arg
compiler/buff.argl
compiler/buff.c
compiler/buff.h
compiler/buff.p
compiler/call.arg
compiler/call.argl
compiler/call.c
compiler/call.h
compiler/call.p
compiler/code.arg
compiler/code.argl
compiler/code.c
compiler/code.h
compiler/code.p
compiler/cons.arg
compiler/cons.argl
compiler/cons.c
compiler/cons.h
compiler/cons.p
compiler/dbg.arg
compiler/dbg.argl
compiler/dbg.c
compiler/dbg.h
compiler/dbg.p
compiler/def.arg
compiler/def.argl
compiler/def.c
compiler/def.h
compiler/def.p
compiler/encode.arg
compiler/encode.argl
compiler/encode.c
compiler/encode.h
compiler/encode.p
compiler/field.arg
compiler/field.argl
compiler/field.c
compiler/field.h
compiler/field.p
compiler/file.arg
compiler/file.argl
compiler/file.c
compiler/file.h
compiler/file.p
compiler/fnc.arg
compiler/fnc.argl
compiler/fnc.c
compiler/fnc.h
compiler/fnc.p
compiler/inout.arg
compiler/inout.argl
compiler/inout.c
compiler/inout.h
compiler/inout.p
compiler/lexer.c
compiler/lexer.l
compiler/list.arg
compiler/list.argl
compiler/list.c
compiler/list.h
compiler/list.p
compiler/loc.arg
compiler/loc.argl
compiler/loc.c
compiler/loc.h
compiler/loc.p
compiler/match.arg
compiler/match.argl
compiler/match.c
compiler/match.h
compiler/match.p
compiler/module.arg
compiler/module.argl
compiler/module.c
compiler/module.h
compiler/module.p
compiler/parser.c
compiler/parser.h
compiler/parser.y
compiler/pos.arg
compiler/pos.argl
compiler/pos.c
compiler/pos.h
compiler/pos.p
compiler/shovel.arg
compiler/shovel.argl
compiler/shovel.c
compiler/shovel.h
compiler/shovel.p
compiler/syntax.arg
compiler/syntax.argl
compiler/syntax.c
compiler/syntax.h
compiler/syntax.p
compiler/text.arg
compiler/text.argl
compiler/text.c
compiler/text.h
compiler/text.p
compiler/type.arg
compiler/type.argl
compiler/type.c
compiler/type.h
compiler/type.p
compiler/util.arg
compiler/util.argl
compiler/util.c
compiler/util.h
compiler/util.p
compiler/var.arg
compiler/var.argl
compiler/var.c
compiler/var.h
compiler/var.p
compiler/binds.arg
compiler/binds.argl
compiler/binds.c
compiler/binds.h
compiler/binds.p
compiler/common.arg
compiler/common.argl
compiler/common.c
compiler/common.h
compiler/common.p
compiler/std_autocast.arg
compiler/std_autocast.argl
compiler/std_autocast.c
compiler/std_autocast.h
compiler/std_autocast.p
compiler/std_bind.arg
compiler/std_bind.argl
compiler/std_bind.c
compiler/std_bind.h
compiler/std_bind.p
compiler/std_callcode.arg
compiler/std_callcode.argl
compiler/std_callcode.c
compiler/std_callcode.h
compiler/std_callcode.p
compiler/std_cdata.arg
compiler/std_cdata.argl
compiler/std_cdata.c
compiler/std_cdata.h
compiler/std_cdata.p
compiler/std_class.arg
compiler/std_class.argl
compiler/std_class.c
compiler/std_class.h
compiler/std_class.p
compiler/std_ctype.arg
compiler/std_ctype.argl
compiler/std_ctype.c
compiler/std_ctype.h
compiler/std_ctype.p
compiler/std_dig.arg
compiler/std_dig.argl
compiler/std_dig.c
compiler/std_dig.h
compiler/std_dig.p
compiler/std_dump.arg
compiler/std_dump.argl
compiler/std_dump.c
compiler/std_dump.h
compiler/std_dump.p
compiler/std_enum.arg
compiler/std_enum.argl
compiler/std_enum.c
compiler/std_enum.h
compiler/std_enum.p
compiler/std_extdef.arg
compiler/std_extdef.argl
compiler/std_extdef.c
compiler/std_extdef.h
compiler/std_extdef.p
compiler/std_extern.arg
compiler/std_extern.argl
compiler/std_extern.c
compiler/std_extern.h
compiler/std_extern.p
compiler/std_field.arg
compiler/std_field.argl
compiler/std_field.c
compiler/std_field.h
compiler/std_field.p
compiler/std_fieldset.arg
compiler/std_fieldset.argl
compiler/std_fieldset.c
compiler/std_fieldset.h
compiler/std_fieldset.p
compiler/std_fsym.arg
compiler/std_fsym.argl
compiler/std_fsym.c
compiler/std_fsym.h
compiler/std_fsym.p
compiler/std_funcdef.arg
compiler/std_funcdef.argl
compiler/std_funcdef.c
compiler/std_funcdef.h
compiler/std_funcdef.p
compiler/std_gencode.arg
compiler/std_gencode.argl
compiler/std_gencode.c
compiler/std_gencode.h
compiler/std_gencode.p
compiler/std_genlist.arg
compiler/std_genlist.argl
compiler/std_genlist.c
compiler/std_genlist.h
compiler/std_genlist.p
compiler/std_globally.arg
compiler/std_globally.argl
compiler/std_globally.c
compiler/std_globally.h
compiler/std_globally.p
compiler/std_hinclude.arg
compiler/std_hinclude.argl
compiler/std_hinclude.c
compiler/std_hinclude.h
compiler/std_hinclude.p
compiler/std_nil.arg
compiler/std_nil.argl
compiler/std_nil.c
compiler/std_nil.h
compiler/std_nil.p
compiler/std_print.arg
compiler/std_print.argl
compiler/std_print.c
compiler/std_print.h
compiler/std_print.p
compiler/std_return.arg
compiler/std_return.argl
compiler/std_return.c
compiler/std_return.h
compiler/std_return.p
compiler/std_set.arg
compiler/std_set.argl
compiler/std_set.c
compiler/std_set.h
compiler/std_set.p
compiler/std_shiftlist.arg
compiler/std_shiftlist.argl
compiler/std_shiftlist.c
compiler/std_shiftlist.h
compiler/std_shiftlist.p
compiler/std_stresc.arg
compiler/std_stresc.argl
compiler/std_stresc.c
compiler/std_stresc.h
compiler/std_stresc.p
compiler/std_strunquote.arg
compiler/std_strunquote.argl
compiler/std_strunquote.c
compiler/std_strunquote.h
compiler/std_strunquote.p
compiler/std_super.arg
compiler/std_super.argl
compiler/std_super.c
compiler/std_super.h
compiler/std_super.p
compiler/std_syntaxof.arg
compiler/std_syntaxof.argl
compiler/std_syntaxof.c
compiler/std_syntaxof.h
compiler/std_syntaxof.p
compiler/std_typeconv.arg
compiler/std_typeconv.argl
compiler/std_typeconv.c
compiler/std_typeconv.h
compiler/std_typeconv.p
compiler/std_typefix.arg
compiler/std_typefix.argl
compiler/std_typefix.c
compiler/std_typefix.h
compiler/std_typefix.p
compiler/std_typeof.arg
compiler/std_typeof.argl
compiler/std_typeof.c
compiler/std_typeof.h
compiler/std_typeof.p
compiler/std_typeparam.arg
compiler/std_typeparam.argl
compiler/std_typeparam.c
compiler/std_typeparam.h
compiler/std_typeparam.p
compiler/std_typeraw.arg
compiler/std_typeraw.argl
compiler/std_typeraw.c
compiler/std_typeraw.h
compiler/std_typeraw.p
compiler/std_typeref.arg
compiler/std_typeref.argl
compiler/std_typeref.c
compiler/std_typeref.h
compiler/std_typeref.p
compiler/std_typeselect.arg
compiler/std_typeselect.argl
compiler/std_typeselect.c
compiler/std_typeselect.h
compiler/std_typeselect.p
compiler/std_union.arg
compiler/std_union.argl
compiler/std_union.c
compiler/std_union.h
compiler/std_union.p
compiler/std_use.arg
compiler/std_use.argl
compiler/std_use.c
compiler/std_use.h
compiler/std_use.p
compiler/std_vardef.arg
compiler/std_vardef.argl
compiler/std_vardef.c
compiler/std_vardef.h
compiler/std_vardef.p
compiler/types.arg
compiler/types.argl
compiler/types.c
compiler/types.h
compiler/types.p
tools/arc-make.sh
tools/arc.sh
tools/fix-cvs-timestamps.sh
emacs-argile-mode/argile.el

Unless otherwise stated inside it, the following files are Copyrighted
as free software by the Argile authors (see AUTHORS file distributed
along with this software). You can redistribute it and/or modify it
under the terms of a permissive free software license (`zlib license')
wich is detailed in argrt/COPYING file distributed along with this software.

argrt/Makefile.am
argrt/Makefile.in
argrt/array.arg
argrt/array.argl
argrt/array.c
argrt/array.h
argrt/array.p
argrt/config.arg
argrt/config.argl
argrt/config.c
argrt/config.h
argrt/config.p
argrt/dbg.arg
argrt/dbg.argl
argrt/dbg.c
argrt/dbg.h
argrt/dbg.p
argrt/gc.arg
argrt/gc.argl
argrt/gc.h
argrt/hash.arg
argrt/hash.argl
argrt/hash.c
argrt/hash.h
argrt/hash.p
argrt/list.arg
argrt/list.argl
argrt/list.c
argrt/list.h
argrt/list.p
argrt/math.arg
argrt/math.argl
argrt/math.c
argrt/math.h
argrt/math.p
argrt/regex.arg
argrt/regex.argl
argrt/regex.c
argrt/regex.h
argrt/regex.p
argrt/SDL.arg
argrt/SDL.argl
argrt/SDL.h
argrt/std.arg
argrt/std.argl
argrt/std.c
argrt/std.h
argrt/std.p
arg-SDL/Makefile.am
arg-SDL/Makefile.in
arg-SDL/SDL.arg
arg-SDL/SDL.argl
arg-SDL/SDL.c
arg-SDL/SDL.h
arg-SDL/SDL.p
arg-SDL/SDL_gfx.arg
arg-SDL/SDL_gfx.argl
arg-SDL/SDL_gfx.c
arg-SDL/SDL_gfx.h
arg-SDL/SDL_gfx.p
arg-SDL/SDL_image.arg
arg-SDL/SDL_image.argl
arg-SDL/SDL_image.c
arg-SDL/SDL_image.h
arg-SDL/SDL_image.p
arg-SDL/SDL_mixer.arg
arg-SDL/SDL_mixer.argl
arg-SDL/SDL_mixer.c
arg-SDL/SDL_mixer.h
arg-SDL/SDL_mixer.p
arg-SDL/SDL_net.arg
arg-SDL/SDL_net.argl
arg-SDL/SDL_net.c
arg-SDL/SDL_net.h
arg-SDL/SDL_net.p
arg-SDL/SDL_ttf.arg
arg-SDL/SDL_ttf.argl
arg-SDL/SDL_ttf.c
arg-SDL/SDL_ttf.h
arg-SDL/SDL_ttf.p

Unless otherwise stated inside it, the following files are Copyrighted
as free documentation by the Argile authors (see AUTHORS file
distributed along with this software). You can redistribute it and/or
modify it under the terms of the GNU Free Documentation License, either
version 1.3 or at your option any later published by the Free Software
Foundation (see doc/COPYING file for details on the license).

doc/Argile.txt
doc/File_pathes.txt
doc/How_to_distribute_argile_sources.txt
doc/Known_bugs.txt
doc/std_doc.txt
doc/Using_std.txt
emacs-argile-mode/home_dot_emacs_addon.txt

