pike.git / src / MANIFEST

version» Context lines:

pike.git/src/MANIFEST:1: + File overview + -------------    -  + System interface glue +  +  alloca.c +  Emulation of alloca(3) if it doesn't exist. +  +  crypt.c +  Implementation of BSD style crypt(3) if it doesn't exist. +  +  dlopen.c +  dlopen(3) implementation for NT. +  +  fd_control.c +  fd_control.h +  Support for setting fd modes (blocking, nonblocking, close-on-exec). +  +  fdlib.c +  fdlib.h +  NT emulation of libc style I/O on fd's. +  +  pike_cpulib.c +  pike_cpulib.h +  CPU specific code for implementing atomic locks. Used only when +  running without the interpreter lock. +  +  pike_dlfcn.h +  dlfcn.h replacement for the dlopen(3) implementation in dlopen.c. +  +  pike_float.h +  Support stuff for dealing with floats on different systems. +  +  pike_netlib.h +  Support stuff for dealing with ip addresses on different systems. +  +  pike_rusage.h +  rusage.c +  Support for getrusage(2) and look-alikes on different systems, and +  support for querying virtual cpu time. +  +  port.c +  port.h +  Glue for various stuff that doesn't work quite the same on +  different systems. +  + Tools +  +  block_alloc.h +  block_alloc_h.h +  Macro package for defining an allocator that lumps together fixed +  size structs into larger blocks. Also contains a simple hash table +  implementation for lookup of the structs. +  +  callback.c +  callback.h +  Tool for handling lists of functions to call at specific times. +  Callbacks may be added and removed at runtime. +  +  cyclic.c +  cyclic.h +  Support for detecting and breaking cyclic call chains. +  +  dmalloc.h +  Functions for dmalloc (DEBUG_MALLOC). The code is in +  pike_memory.c. +  +  dynamic_buffer.c +  dynamic_buffer.h +  Tool for building strings in streaming fashion. +  +  fsort.c +  fsort.h +  A generic sort implementation using fsort_template.h. +  +  fsort_template.h +  Macro package for defining a sort function for an arbitrary data +  type using an arbitrary compare test. +  +  global.h +  Included initially in just about every file. Contains macros for +  the chosen Pike integer and float types, and various other basic +  macros. +  +  hashtable.c +  hashtable.h +  A simple hash table for pike strings. Used by cpp.c. +  +  pike_macros.h +  Miscellaneous support macros. +  +  pike_memory.c +  pike_memory.h +  The wrappers for malloc(3) etc and the dmalloc implementation. +  Also contain some utility functions for handling of generic memory +  blocks, e.g. hashing and some wide string tools. +  +  pike_search.c +  pike_search.h +  A memory search implementation that handles wide strings. It's +  used by search() and others. +  +  pike_search_engine.c +  Contains the needle specific parts of the memory searcher. +  Included by pike_search.c once for each string width of the +  needle. +  +  pike_search_engine2.c +  Contains the haystack specific parts of the memory searcher. +  Included by pike_search_engine.c once for each string width of the +  haystack. +  +  queue.c +  queue.h +  FIFO and LIFO queues for functions to call. The difference from +  callback.* is that the queue is emptied when the callbacks have +  been called, and that it's designed for large amounts of +  callbacks. Used primarily by the gc. +  +  rbtree.c +  rbtree.h +  rbtree_low.h +  Red/black tree implementation. Used to implement the multisets. +  +  stuff.c +  stuff.h +  Miscellaneous smaller utility functions, primarily numerical. +  +  time_stuff.h +  Some tools to handle timeval structs. +  + Compiler +  +  cpp.c +  cpp.h +  Wrap together the preprocessor from preprocessor.h. +  +  compilation.h +  Macros for the fields in the program_state struct. Used to unify +  code that does operations uniformly across all of them. +  +  docode.c +  docode.h +  Convert node trees to opcode sequences. Also call assemble in +  peep.c to convert it to byte/machine code. +  +  language.c (autogenerated) +  language.h (autogenerated) +  language.yacc +  The yacc/bison language productions. These primarily build node +  trees (i.e. abstract syntax trees) from the language constructs. +  +  las.c +  las.h +  Node tree handling. Wrap together the tree optimizer. Also contain +  an evaluator for constant expressions and dooptcode which wraps +  together the conversion of a node tree for a function body to +  optimized byte code. +  +  lex.c +  lex.h +  Wrap together the lexer. +  +  lexer.h +  The actual lexer. Included by lex.c for different string widths. +  +  opcodes.c +  opcodes.h +  Opcode lookup tables and primitives for them. The opcode enums +  also double as token ids in many cases. +  +  peep.c +  peep.h +  Wrap together the peephole optimizer, handle the conversion of +  labels from opcodes to offsets, and the conversion from opcode +  sequences to machine code. Also have some primitives for opcodes +  and insertion into the opcode list. +  +  peep.in +  peep_engine.c (autogenerated) +  The core of the peephole optimizer. peep_engine.c is generated +  from transformation rules for opcode sequences in peep.in. +  peep_engine.c is included by peep.c. +  +  preprocessor.h +  The bulk of the preprocessor. Included by cpp.c once for each +  string width. +  +  program.c +  program.h +  Implement the data type for programs (aka classes). The compiler +  is wrapped together here. Also contain the lfun support, the C +  level parts of the resolver, and the trampoline program. +  +  program_areas.h +  Macros for the different areas in the program struct. Used to +  unify code that does operations uniformly across all of them. +  +  treeopt.h (autogenerated) +  treeopt.in +  The node tree optimizer. treeopt.h is generated from tree +  transformation rules in treeopt.in. treeopt.h is included by +  las.c. +  + Interpreter +  +  apply_low.h +  The deeper parts of the apply function. Included by interpret.c to +  make different apply variants. +  +  code/ +  Contains the different byte code formats, e.g. machine code for +  some architectures. +  +  interpret.c +  interpret.h +  The core interpreter, i.e. apply and eval functions and runtime +  scope handling. Also has tools to handle the pike stack, e.g. +  pushing and popping of various data types. +  +  interpret_functions.h +  Implements all the opcodes. Included by interpret.c and +  interpreter.h. +  +  interpret_protos.h (autogenerated) +  Macros for the opcode prototypes. Extracted from +  interpret_functions.h. +  +  interpreter.h +  Wraps up the opcodes in interpret_functions.h into an eval +  functions with a loop and a gigantic switch. This is only used +  when machine code isn't enabled. The opcodes become separate +  functions otherwise. Included by interpret.c. +  +  pikecode.c +  pikecode.h +  Import the chosen byte code format from the code subdirectory. +  + Built-in data types +  +  array.c +  array.h +  Implement arrays. Also contain the compare functions for some +  orders used in the core. +  +  bignum.c +  bignum.h +  The magic to hook in Gmp integers as bignums and to convert +  between 64 bit ints and bignums on systems where the int type is +  shorter. +  +  iterators.cmod +  The interface class for iterators, the built-in iterators, and the +  bulk of the foreach opcode. +  +  mapping.c +  mapping.h +  Implement mappings. +  +  multiset.c +  multiset.h +  Implement multisets. +  +  object.c +  object.h +  Implement objects. Contain the code that initializes and destruct +  objects, the implementations of the "magically inherited" lfuns, +  and the code that compiles and instantiates the master. +  +  stralloc.c +  stralloc.h +  Implement pike strings. +  + Module system +  +  dynamic_load.c +  dynamic_load.h +  Implement the loading of dynamic modules (the load_module +  function). +  +  modules/ +  Standard modules that don't need the recently built pike in order +  to be built. +  +  module.c +  module.h +  Maintain the entry and exit hooks for the statically compiled +  modules. +  +  module_magic.h +  Compatibility header for old modules that don't use +  PIKE_MODULE_INIT and PIKE_MODULE_EXIT. +  +  module_support.c +  module_support.h +  Tools for importing and exporting symbols between modules. Also +  contain helpers for checking arguments on the pike stack. +  +  post_modules/ +  Standard modules that are built after the pike binary. These need +  the recently built pike in order to be built. +  + Core runtime support +  +  backend.cmod +  backend.h +  Implement Pike.Backend, i.e. callback driven I/O and call outs. +  +  builtin.cmod +  builtin_functions.c +  builtin_functions.h +  Implement various core functions (mostly efuns). +  builtin_functions.c primarily contains the functions that predate +  the precompile system. +  +  case_info.h (autogenerated) +  Case tables for lower_case and upper_case in builtin_functions.c. +  +  whitespace.h (autogenerated) +  Unicode whitespace characters used in builtin.cmod. +  +  combine_path.h +  Template for combine_path in builtin_functions.c. +  +  constants.c +  constants.h +  The global constants mapping, along with the support for efuns. +  +  encode.c +  encode.h +  Implement encode_value and decode_value. Contain low-level +  compile/resolve stuff to decode dumped programs. +  +  error.c +  pike_error.h +  Exception handling and debug style fatal exit. +  +  errors.h +  Built-in exception objects. Included by error.c. +  +  gc.c +  gc.h +  The garbage collector. Also contain tools for locating references +  to a memory object and to identify and print out the common types +  of memory objects in debug style. +  +  main.c +  main.h +  The entry point. Contain parsing of low-level command arguments +  (i.e. those not handled in the master), initialization and +  cleanup. +  +  operators.c +  operators.h +  Implement the runtime behavior for the operators. +  +  pike_int_types.h +  Macros for choosing C compiler integer types for INT64, INT32, +  INT16 and INT8. +  +  pike_threadlib.h +  Support for threads on different systems. Also has the header +  stuff for swapping pike threads and releasing/taking the +  interpreter lock. The code is in threads.c. +  +  pike_types.c +  pike_types.h +  Handling of types in pike. +  +  security.c +  pike_security.h +  The pike security system. +  +  signal_handler.c +  signal_handler.h +  Signal and process support. +  +  sscanf.c +  sscanf.h +  Implement the sscanf special function. +  +  sprintf.c +  Implement the sprintf function. +  +  svalue.c +  svalue.h +  Handling of normal and short svalues, e.g. functions to free, +  assign, compare and print svalues. Also contain the parts of the +  gc that follow references. +  +  threads.c +  threads.h +  Thread support. Provides a generic thread farm too. +  + Build system +  +  Makefile.in +  The Makefile template. Used by configure to generate a Makefile. +  +  configure.in +  The configure template. Used by run_autoconfig to generate +  configure. +  +  dumpmaster.pike +  Codec made especially for dumping the Pike master. +  +  export_list +  A list of the files and directories that should be included in a +  source dist. Used by bin/export.pike. +  +  install-welcome +  GIF image used in the Pike GTK installer. +  +  patch_cc1.c +  Small utility that binary patches gcc so that it doesn't use +  .ua{half,word} directives. May be invoked by configure. +  +  precompile.sh.in +  Template to create precompile.sh, a utility script that finds the +  most apropriate Pike binary and execute the script given in its +  argument with that binary. +  +  precompile2.sh +  A script that works like the generated precompile.sh, but +  preconfigured to work with installed Pikes. Used by pike -x module. +  + FIXME: Document these. +  +  acconfig.h +  aclocal.m4 +  install-sh +  make_variables.in +  run_autoconfig +  smartlink.c +  strip_opcodes +  uncompressor.c +  + Testsuite +  +  test_co.pike +  Call out test. Used by testsuite.in. +  +  test_dynamic_loading.in +  Test dynamic_load.c. +  +  test_gc.pike +  GC destruct order test. Used by testsuite.in. +  +  testsuite.in +  Testsuite for the core. +  + Miscellaneous +  +  program_id.h +  Statically allocated program id numbers. +  +  specs.in +  Template for the specs file, describing the build environment of +  the Pike. Used by pike -x module to build new binary modules with +  the same build options. +  +  version.c +  version.h +  Version info. +  +  UnicodeData-ReadMe.txt +  UnicodeData.txt +  The standard unicode database. Data from this is extracted to +  build tables for various functions, e.g. the Unicode module and +  case_info.h (lower_case/upper_case).   Newline at end of file added.