OILS / cpp / preamble.h View on Github | oils.pub

66 lines, 52 significant
1// cpp/preamble.h: declarations to run oils_for_unix.mycpp
2
3#include <errno.h>
4#include <fcntl.h> // e.g. F_DUPFD used directly
5#include <fnmatch.h> // FNM_CASEFOLD in osh/sh_expr_eval.py
6#include <glob.h> // GLOB_PERIOD in osh/glob_.py
7#include <regex.h> // REG_ICASE in osh/sh_expr_eval.py
8#include <sys/resource.h> // RLIM_INFINITY in builtin/process_osh.py
9#include <sys/wait.h> // e.g. WIFSIGNALED() called directly
10
11#include "_gen/core/optview.h"
12#include "_gen/core/runtime.asdl.h"
13#include "_gen/core/value.asdl.h"
14#include "_gen/data_lang/nil8.asdl.h"
15#include "_gen/display/pretty.asdl.h"
16#include "_gen/frontend/arg_types.h"
17#include "_gen/frontend/consts.h"
18#include "_gen/frontend/help_meta.h"
19#include "_gen/frontend/id_kind.asdl.h" // syntax.asdl depends on this
20#include "_gen/frontend/option.asdl.h"
21#include "_gen/frontend/signal.h"
22#include "_gen/frontend/syntax.asdl.h"
23#include "_gen/frontend/types.asdl.h"
24#include "_gen/ysh/grammar_nt.h"
25#include "cpp/core.h"
26#include "cpp/data_lang.h"
27#include "cpp/fanos.h"
28#include "cpp/frontend_flag_spec.h"
29#include "cpp/frontend_match.h"
30#include "cpp/frontend_pyreadline.h"
31#include "cpp/libc.h"
32#include "cpp/osh.h"
33#include "cpp/osh_tdop.h"
34#include "cpp/pgen2.h"
35#include "cpp/pylib.h"
36#include "cpp/stdlib.h"
37#include "cpp/translation_stubs.h"
38#include "mycpp/runtime.h" // runtime library e.g. with Python data structures
39
40// Function prototypes are emitted in mycpp's DECL phase, and some of them have
41// default args that reuide this.
42
43using id_kind_asdl::Id;
44
45using hnode_asdl::hnode;
46
47using pretty_asdl::doc;
48
49using runtime_asdl::cmd_value;
50using runtime_asdl::part_value;
51using runtime_asdl::scope_e;
52
53using syntax_asdl::command;
54using syntax_asdl::expr;
55using syntax_asdl::loc;
56using syntax_asdl::printf_part; // added when self._Percent() used it in
57 // function signature
58using syntax_asdl::proc_sig;
59using syntax_asdl::suffix_op;
60using syntax_asdl::word;
61using syntax_asdl::word_part;
62
63using types_asdl::lex_mode_e;
64
65using value_asdl::sh_lvalue; // for builtin_assign.py and builtin_misc.py
66using value_asdl::value;