diff options
author | Michaƫl Zasso <targos@protonmail.com> | 2018-05-31 11:11:57 +0200 |
---|---|---|
committer | Myles Borins <mylesborins@google.com> | 2018-06-01 09:58:27 +0200 |
commit | 352a525eb984b8fa2d6f0f6fd68395e6a080bba4 (patch) | |
tree | a105ae93f8fd8f533cce19a429f1b6e95d6e11ca /deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h | |
parent | faf449ca0490f5371dc6cbbc94a87eb697b00fcc (diff) | |
download | android-node-v8-352a525eb984b8fa2d6f0f6fd68395e6a080bba4.tar.gz android-node-v8-352a525eb984b8fa2d6f0f6fd68395e6a080bba4.tar.bz2 android-node-v8-352a525eb984b8fa2d6f0f6fd68395e6a080bba4.zip |
deps: update V8 to 6.7.288.43
PR-URL: https://github.com/nodejs/node/pull/19989
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h')
-rw-r--r-- | deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h b/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h new file mode 100644 index 0000000000..65990347ae --- /dev/null +++ b/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h @@ -0,0 +1,70 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +#pragma once + +#include "atn/DecisionEventInfo.h" +#include "support/BitSet.h" + +namespace antlr4 { +namespace atn { + +/// <summary> +/// This class represents profiling event information for an ambiguity. +/// Ambiguities are decisions where a particular input resulted in an SLL +/// conflict, followed by LL prediction also reaching a conflict state +/// (indicating a true ambiguity in the grammar). +/// +/// <para> +/// This event may be reported during SLL prediction in cases where the +/// conflicting SLL configuration set provides sufficient information to +/// determine that the SLL conflict is truly an ambiguity. For example, if none +/// of the ATN configurations in the conflicting SLL configuration set have +/// traversed a global follow transition (i.e. +/// <seealso cref="ATNConfig#reachesIntoOuterContext"/> is 0 for all +/// configurations), then the result of SLL prediction for that input is known +/// to be equivalent to the result of LL prediction for that input.</para> +/// +/// <para> +/// In some cases, the minimum represented alternative in the conflicting LL +/// configuration set is not equal to the minimum represented alternative in the +/// conflicting SLL configuration set. Grammars and inputs which result in this +/// scenario are unable to use <seealso cref="PredictionMode#SLL"/>, which in +/// turn means they cannot use the two-stage parsing strategy to improve parsing +/// performance for that input.</para> +/// </summary> +/// <seealso cref= ParserATNSimulator#reportAmbiguity </seealso> +/// <seealso cref= ANTLRErrorListener#reportAmbiguity +/// +/// @since 4.3 </seealso> +class ANTLR4CPP_PUBLIC AmbiguityInfo : public DecisionEventInfo { + public: + /// The set of alternative numbers for this decision event that lead to a + /// valid parse. + antlrcpp::BitSet ambigAlts; + + /// <summary> + /// Constructs a new instance of the <seealso cref="AmbiguityInfo"/> class + /// with the specified detailed ambiguity information. + /// </summary> + /// <param name="decision"> The decision number </param> + /// <param name="configs"> The final configuration set identifying the + /// ambiguous alternatives for the current input </param> <param + /// name="ambigAlts"> The set of alternatives in the decision that lead to a + /// valid parse. + /// The predicted alt is the min(ambigAlts) </param> + /// <param name="input"> The input token stream </param> + /// <param name="startIndex"> The start index for the current prediction + /// </param> <param name="stopIndex"> The index at which the ambiguity was + /// identified during prediction </param> <param name="fullCtx"> {@code true} + /// if the ambiguity was identified during LL prediction; otherwise, {@code + /// false} if the ambiguity was identified during SLL prediction </param> + AmbiguityInfo(size_t decision, ATNConfigSet* configs, + const antlrcpp::BitSet& ambigAlts, TokenStream* input, + size_t startIndex, size_t stopIndex, bool fullCtx); +}; + +} // namespace atn +} // namespace antlr4 |