diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2017-12-05 19:27:09 +0200 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2017-12-05 19:27:09 +0200 |
| commit | 7ee6dfc00d26bd41b334386115dd2a58cfd80aab (patch) | |
| tree | fb4d6ae992a7b683d6b938ae205104b1279595d4 /3rdparty/gumbo-parser/src/parser.h | |
| download | nim-gumbo-parser-master.tar.gz nim-gumbo-parser-master.zip | |
Diffstat (limited to '3rdparty/gumbo-parser/src/parser.h')
| -rw-r--r-- | 3rdparty/gumbo-parser/src/parser.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/3rdparty/gumbo-parser/src/parser.h b/3rdparty/gumbo-parser/src/parser.h new file mode 100644 index 0000000..95019e3 --- /dev/null +++ b/3rdparty/gumbo-parser/src/parser.h @@ -0,0 +1,57 @@ +// Copyright 2010 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Author: jdtang@google.com (Jonathan Tang) +// +// Contains the definition of the top-level GumboParser structure that's +// threaded through basically every internal function in the library. + +#ifndef GUMBO_PARSER_H_ +#define GUMBO_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +struct GumboInternalParserState; +struct GumboInternalOutput; +struct GumboInternalOptions; +struct GumboInternalTokenizerState; + +// An overarching struct that's threaded through (nearly) all functions in the +// library, OOP-style. This gives each function access to the options and +// output, along with any internal state needed for the parse. +typedef struct GumboInternalParser { + // Settings for this parse run. + const struct GumboInternalOptions* _options; + + // Output for the parse. + struct GumboInternalOutput* _output; + + // The internal tokenizer state, defined as a pointer to avoid a cyclic + // dependency on html5tokenizer.h. The main parse routine is responsible for + // initializing this on parse start, and destroying it on parse end. + // End-users will never see a non-garbage value in this pointer. + struct GumboInternalTokenizerState* _tokenizer_state; + + // The internal parser state. Initialized on parse start and destroyed on + // parse end; end-users will never see a non-garbage value in this pointer. + struct GumboInternalParserState* _parser_state; +} GumboParser; + +#ifdef __cplusplus +} +#endif + +#endif // GUMBO_PARSER_H_ |
