| 1 | `cpp/` - Hand-written C++ Code
 | 
| 2 | ==============================
 | 
| 3 | 
 | 
| 4 | Structure of this directory:
 | 
| 5 | 
 | 
| 6 | Correspond to Python standard library modules:
 | 
| 7 | 
 | 
| 8 |     stdlib{.h,.cc,_test.cc}
 | 
| 9 |       import fcntl
 | 
| 10 |       import time
 | 
| 11 |       import posix  # forked in pyext/posixmodule.c
 | 
| 12 | 
 | 
| 13 | Correspond to repo directories:
 | 
| 14 | 
 | 
| 15 |     core{.h,.cc,_test.cc}
 | 
| 16 | 
 | 
| 17 |     osh{.h,.cc,_test.cc}
 | 
| 18 |       from osh import arith_parse
 | 
| 19 |       from osh import bool_stat
 | 
| 20 | 
 | 
| 21 |     pylib{.h,.cc,_test.cc}
 | 
| 22 |       from pylib import os_path
 | 
| 23 |       from pylib import path_stat
 | 
| 24 | 
 | 
| 25 |     pgen2{.h,.cc,_test.cc}
 | 
| 26 |       from pgen2 import parse
 | 
| 27 | 
 | 
| 28 |     qsn{.h,_test.cc}
 | 
| 29 | 
 | 
| 30 | Corresponds to our Python extensions:
 | 
| 31 | 
 | 
| 32 |     libc{.h,.cc,_test.cc}  # Python module pyext/libc.c
 | 
| 33 | 
 | 
| 34 | Correspond to individual files:
 | 
| 35 | 
 | 
| 36 |     core_error.h    # corresponds to core/error.py
 | 
| 37 |     core_pyerror.h  # corresponds to core/pyerror.py
 | 
| 38 | 
 | 
| 39 |     # These three are separate because there is generated code associated with
 | 
| 40 |     # them, like the re2c lexer.
 | 
| 41 | 
 | 
| 42 |     frontend_flag_spec{.h,.cc,_test.cc}
 | 
| 43 |       from frontend import flag_spec
 | 
| 44 | 
 | 
| 45 |     frontend_match{.h,.cc,_test.cc}
 | 
| 46 |       from frontend import match
 | 
| 47 | 
 | 
| 48 |     osh_tdop.{h,cc}
 | 
| 49 |       from frontend import tdop
 | 
| 50 | 
 | 
| 51 | Other files:
 | 
| 52 | 
 | 
| 53 |     preamble.h           # for the big mycpp translation unit
 | 
| 54 |     translation_stubs.h      
 | 
| 55 | 
 |