@@ -32,22 +32,22 @@ The return value matters:
3232## Basic file parsing
3333
3434``` rust
35- use pac :: driver :: {parse, Config };
35+ use parc :: driver :: {parse, Config };
3636
3737let config = Config :: default ();
3838let parsed = parse (& config , " examples/demo.c" )? ;
3939
4040println! (" preprocessed bytes: {}" , parsed . source. len ());
4141println! (" top-level nodes: {}" , parsed . unit. 0. len ());
42- # Ok :: <(), pac :: driver :: Error >(())
42+ # Ok :: <(), parc :: driver :: Error >(())
4343```
4444
4545## Configuring the preprocessor
4646
4747You can override both the preprocessor executable and its arguments.
4848
4949``` rust
50- use pac :: driver :: {parse, Config , Flavor };
50+ use parc :: driver :: {parse, Config , Flavor };
5151
5252let config = Config {
5353 cpp_command : " gcc" . into (),
@@ -61,7 +61,7 @@ let config = Config {
6161};
6262
6363let parsed = parse (& config , " src/input.c" )? ;
64- # Ok :: <(), pac :: driver :: Error >(())
64+ # Ok :: <(), parc :: driver :: Error >(())
6565```
6666
6767This is the place to inject:
@@ -75,7 +75,7 @@ This is the place to inject:
7575The convenience constructors also select parser flavor:
7676
7777``` rust
78- use pac :: driver :: Config ;
78+ use parc :: driver :: Config ;
7979
8080let gcc = Config :: with_gcc (); // gcc -E, GNU flavor
8181let clang = Config :: with_clang (); // clang -E, Clang flavor
@@ -89,7 +89,7 @@ preprocessor.
8989If you already have ` .i ` -style content, skip ` parse ` and call ` parse_preprocessed ` .
9090
9191``` rust
92- use pac :: driver :: {parse_preprocessed, Config };
92+ use parc :: driver :: {parse_preprocessed, Config };
9393
9494let source = r # "
9595# 1 "sample.i"
@@ -100,15 +100,15 @@ count_t next(count_t x) { return x + 1; }
100100
101101let parsed = parse_preprocessed (& Config :: default (), source )? ;
102102println! (" {}" , parsed . unit. 0. len ());
103- # Ok :: <(), pac :: driver :: SyntaxError >(())
103+ # Ok :: <(), parc :: driver :: SyntaxError >(())
104104```
105105
106106## Error model
107107
108108` driver::parse ` returns:
109109
110110``` rust
111- Result <Parse , pac :: driver :: Error >
111+ Result <Parse , parc :: driver :: Error >
112112```
113113
114114The error variants are:
@@ -127,7 +127,7 @@ The error variants are:
127127Example:
128128
129129``` rust
130- use pac :: driver :: {parse_preprocessed, Config };
130+ use parc :: driver :: {parse_preprocessed, Config };
131131
132132let broken = " int main( { return 0; }" . to_string ();
133133match parse_preprocessed (& Config :: default (), broken ) {
@@ -148,13 +148,13 @@ PAC includes a built-in C preprocessor that eliminates the need for an external
148148` gcc ` or ` clang ` binary. Use ` parse_builtin ` instead of ` parse ` :
149149
150150``` rust
151- use pac :: driver :: {parse_builtin, Config };
151+ use parc :: driver :: {parse_builtin, Config };
152152use std :: path :: Path ;
153153
154154let config = Config :: with_gcc ();
155155let include_paths = vec! [Path :: new (" /usr/include" )];
156156let parsed = parse_builtin (& config , " src/input.c" , & include_paths )? ;
157- # Ok :: <(), pac :: driver :: Error >(())
157+ # Ok :: <(), parc :: driver :: Error >(())
158158```
159159
160160The built-in preprocessor supports:
@@ -172,14 +172,14 @@ The built-in preprocessor supports:
172172To extract all ` #define ` macros from a C file (equivalent to ` gcc -dD -E ` ):
173173
174174``` rust
175- use pac :: driver :: capture_macros;
175+ use parc :: driver :: capture_macros;
176176use std :: path :: Path ;
177177
178178let macros = capture_macros (" src/input.c" , & [Path :: new (" /usr/include" )])? ;
179179for (name , value ) in & macros {
180180 println! (" #define {} {}" , name , value );
181181}
182- # Ok :: <(), pac :: driver :: Error >(())
182+ # Ok :: <(), parc :: driver :: Error >(())
183183```
184184
185185This returns all macros active after preprocessing, including predefined target
0 commit comments