filelist.txt 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. Short description of Nim's modules
  2. -------------------------------------
  3. ============== ==========================================================
  4. Module Description
  5. ============== ==========================================================
  6. nim main module: parses the command line and calls
  7. ``main.MainCommand``
  8. main implements the top-level command dispatching
  9. nimconf implements the config file reader
  10. syntaxes dispatcher for the different parsers and filters
  11. filter_tmpl standard template filter (``#? stdtempl``)
  12. lexbase buffer handling of the lexical analyser
  13. lexer lexical analyser
  14. parser Nim's parser
  15. renderer Nim code renderer (AST back to its textual form)
  16. options contains global and local compiler options
  17. ast type definitions of the abstract syntax tree (AST) and
  18. node constructors
  19. astalgo algorithms for containers of AST nodes; converting the
  20. AST to YAML; the symbol table
  21. passes implement the passes manager for passes over the AST
  22. trees some algorithms for nodes; this module is less important
  23. types module for traversing type graphs; also contain several
  24. helpers for dealing with types
  25. sigmatch contains the matching algorithm that is used for proc
  26. calls
  27. semexprs contains the semantic checking phase for expressions
  28. semstmts contains the semantic checking phase for statements
  29. semtypes contains the semantic checking phase for types
  30. seminst instantiation of generic procs and types
  31. semfold contains code to deal with constant folding
  32. semthreads deep program analysis for threads
  33. evals contains an AST interpreter for compile time evaluation
  34. pragmas semantic checking of pragmas
  35. idents implements a general mapping from identifiers to an internal
  36. representation (``PIdent``) that is used so that a simple
  37. id-comparison suffices to say whether two Nim identifiers
  38. are equivalent
  39. ropes implements long strings represented as trees for
  40. lazy evaluation; used mainly by the code generators
  41. transf transformations on the AST that need to be done before
  42. code generation
  43. cgen main file of the C code generator
  44. ccgutils contains helpers for the C code generator
  45. ccgtypes the generator for C types
  46. ccgstmts the generator for statements
  47. ccgexprs the generator for expressions
  48. extccomp this module calls the C compiler and linker; interesting
  49. if you want to add support for a new C compiler
  50. ============== ==========================================================