Node:Directory structure,
Next:X Language classes,
Previous:Introduction,
Up:Top
2 Directory structure
The X Language package comes with many files and directories. Here is the description
of the structure used :
- /
- root directory
- /doc/
- X Language documentation
- /src/
- Sources
- /test/
- Test bench
Next sections contains details informations about each sub-directories.
2.1 / directory
The root directory contains many files usefull to developers.
- README
- Overview of X Language
- TODO
- What should be done
- INSTALL
- How to install X Language
- ROADMAP
- Development planification
- AUTHORS
- Contributors to X Language
- NEWS
- What's new in major releases
- ChangeLog
- Changes on day basis
- xlang-test
- A script to automate tests
2.2 /doc/ directory
The documentation directory contains developer's and user's informations.
Texinfo is used to create those documents. Those guides are also generally
available via HTML or PDF.
- xlang-user.texi
- X Language User guide
- xlang-develop.texi
- X Language Developer guide
- xlang-api.texi
- X Language API reference guide
2.3 /src/ directory
The source files directory contains all (.c & .h) C language files.
Since X Language is a medium-size project, those files are divided
into sub-directories :
- /src/xlib/
- Basic utilities (XString, XList, ...)
- /src/xapi/
- APIs source files
- /src/xlang/
- Core of the X Language
2.3.1 /src/xlib/ directory
This directory contains basic files for X Language C development :
- xdefs.h
- Contains all usefull definition (xbool, xu32, ...)
- xmem.c/.h
- Module to manage memory stuff
- xdynamic.c/.h
- Module to connect to dynamic libraries
- xobject.c/.h
- Basic class (the mother of all classes)
- xstring.c/.h
- Class to manage strings
- xlist.c/.h
- Class to manage lists
2.3.2 /src/xapi/ directory
This directory contains source files to APIs packages :
- lang.c/.h
- LANG package (e.g. itostr, ...)
- sys.c/.h
- SYS package (e.g. sys_exit, ...)
- io.c/.h
- IO package
- net.c/.h
- NET package
- wnd/*.*
- WND package (it's a direct binding of GTK+)
2.3.3 /src/xlang/ directory
This directory contains the core X Language source files :
- xlmain.c/.h
- This class contains a X Language environment
- xlexpr.c/.h
- This class describe an expression (fnct, type, variable, ...)
- xldata.c/.h
- This class describes the internal data at memory level
- xltype.c/.h
- This class describes a specific type (native or class)
- xlfnct.c/.h
- This class describe an X Langauge function
- xlclass.c/.h
- This class contains the description of X Language classes
- xlfield.c/.h
- This class describe a field of a class
- xlvar.c/.h
- This class contains the description of X Language variables
- xlbuiltin.c/.h
- This module contains all built-in functions (e.g. +, -, *, =, ...)
- xlapi.c/.h
- This module registers all APIs
- xllang.c/.h
- This class contains tools usefull to parsers and a parser chooser
- xllangc.c/.h/.l/.y
- C-like language (lexical analyzer & parser)
- xllangbasic.c/.h/.l/.y
- Basic-like language (lexical analyzer & parser)
- xllanglisp.c/.h/.l./.y
- LISP-like language (lexical analyzer & parser)
2.4 /test/ directory
This directory contains all tests that must be passed prior to any releases.
Tests are composed of two files : test-XX.xc (the X Language source file)
and test-XX.tst (the output that must be generated). By comparing the real
output to the attended output, we know if the test passed.