All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ai.vespa.schemals.parser.rankingexpression.RankingExpressionParser Maven / Gradle / Ivy

There is a newer version: 8.441.21
Show newest version
/* Generated by: CongoCC Parser Generator. RankingExpressionParser.java  */
package ai.vespa.schemals.parser.rankingexpression;

import java.io.OutputStream;
import java.util.Optional;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
import com.yahoo.tensor.functions.*;
import com.yahoo.tensor.*;
import com.yahoo.searchlib.rankingexpression.evaluation.StringValue;
import com.yahoo.searchlib.rankingexpression.evaluation.Value;
import com.yahoo.searchlib.rankingexpression.rule.*;
import com.yahoo.searchlib.rankingexpression.parser.CellMapHelper;
import com.yahoo.searchlib.rankingexpression.Reference;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.charset.Charset;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.ListIterator;
import java.util.concurrent.CancellationException;
import ai.vespa.schemals.parser.rankingexpression.Token.TokenType;
import static ai.vespa.schemals.parser.rankingexpression.Token.TokenType.*;
import ai.vespa.schemals.parser.rankingexpression.ast.InvalidNode;
import ai.vespa.schemals.parser.rankingexpression.ast.featureList;
import ai.vespa.schemals.parser.rankingexpression.ast.rankingExpression;
import ai.vespa.schemals.parser.rankingexpression.ast.expression;
import ai.vespa.schemals.parser.rankingexpression.ast.operationExpression;
import ai.vespa.schemals.parser.rankingexpression.ast.binaryOperator;
import ai.vespa.schemals.parser.rankingexpression.ast.value;
import ai.vespa.schemals.parser.rankingexpression.ast.ifExpression;
import ai.vespa.schemals.parser.rankingexpression.ast.feature;
import ai.vespa.schemals.parser.rankingexpression.ast.legacyQueryFeature;
import ai.vespa.schemals.parser.rankingexpression.ast.outs;
import ai.vespa.schemals.parser.rankingexpression.ast.out;
import ai.vespa.schemals.parser.rankingexpression.ast.args;
import ai.vespa.schemals.parser.rankingexpression.ast.function;
import ai.vespa.schemals.parser.rankingexpression.ast.scalarOrTensorFunction;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorFunction;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorMap;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorMapSubspaces;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorReduce;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorReduceComposites;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorJoin;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorMerge;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorRename;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorConcat;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorGenerate;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorGenerateBody;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorRange;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorDiag;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorRandom;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorL1Normalize;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorL2Normalize;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorEuclideanDistance;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorCosineSimilarity;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorMatmul;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorSoftmax;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorXwPlusB;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorExpand;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorArgmax;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorArgmin;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorCellCast;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorMacro;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorUnpackBits;
import ai.vespa.schemals.parser.rankingexpression.ast.lambdaFunction;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorReduceAggregator;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorType;
import ai.vespa.schemals.parser.rankingexpression.ast.optionalTensorValueTypeParameter;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorTypeDimension;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorFunctionName;
import ai.vespa.schemals.parser.rankingexpression.ast.unaryFunctionName;
import ai.vespa.schemals.parser.rankingexpression.ast.binaryFunctionName;
import ai.vespa.schemals.parser.rankingexpression.ast.expressionList;
import ai.vespa.schemals.parser.rankingexpression.ast.doubleNumber;
import ai.vespa.schemals.parser.rankingexpression.ast.integerNumber;
import ai.vespa.schemals.parser.rankingexpression.ast.identifierStr;
import ai.vespa.schemals.parser.rankingexpression.ast.identifierList;
import ai.vespa.schemals.parser.rankingexpression.ast.bracedIdentifierList;
import ai.vespa.schemals.parser.rankingexpression.ast.tag;
import ai.vespa.schemals.parser.rankingexpression.ast.tagCommaLeadingList;
import ai.vespa.schemals.parser.rankingexpression.ast.constantPrimitive;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorValueBody;
import ai.vespa.schemals.parser.rankingexpression.ast.mappedTensorValueBody;
import ai.vespa.schemals.parser.rankingexpression.ast.mixedTensorValueBody;
import ai.vespa.schemals.parser.rankingexpression.ast.mixedValueObject;
import ai.vespa.schemals.parser.rankingexpression.ast.indexedTensorValueBody;
import ai.vespa.schemals.parser.rankingexpression.ast.keyValueOrMixedBlock;
import ai.vespa.schemals.parser.rankingexpression.ast.keyValue;
import ai.vespa.schemals.parser.rankingexpression.ast.mixedBlock;
import ai.vespa.schemals.parser.rankingexpression.ast.indexedTensorCells;
import ai.vespa.schemals.parser.rankingexpression.ast.indexedTensorCellSubspaceList;
import ai.vespa.schemals.parser.rankingexpression.ast.indexedTensorCellSubspace;
import ai.vespa.schemals.parser.rankingexpression.ast.tensorCell;
import ai.vespa.schemals.parser.rankingexpression.ast.labelAndDimension;
import ai.vespa.schemals.parser.rankingexpression.ast.labelAndDimensionValues;
import ai.vespa.schemals.parser.rankingexpression.ast.valueAddress;
import ai.vespa.schemals.parser.rankingexpression.ast.dimensionValue;
import ai.vespa.schemals.parser.rankingexpression.ast.label;
import ai.vespa.schemals.parser.rankingexpression.ast.stringLiteral;


public class RankingExpressionParser {
    private PrintStream logger = new PrintStream(new OutputStream() {

        public void write(int b) {
            return;
        }

    }
    );

    public RankingExpressionParser(PrintStream logger, String inputSource, CharSequence content) {
        this(inputSource, content);
        this.logger = logger;
    }

    static final int UNLIMITED = Integer.MAX_VALUE;
    // The last token successfully "consumed"
    Token lastConsumedToken;
    private TokenType nextTokenType;
    // Normally null when parsing, populated when doing lookahead
    private Token currentLookaheadToken;
    private int remainingLookahead;
    private boolean hitFailure;
    private boolean passedPredicate;
    private int passedPredicateThreshold = -1;
    private String currentlyParsedProduction;
    private String currentLookaheadProduction;
    private int lookaheadRoutineNesting;
    private EnumSet outerFollowSet;
    private final boolean legacyGlitchyLookahead = false;
    private final Token DUMMY_START_TOKEN = new Token();
    private boolean cancelled;

    public void cancel() {
        cancelled = true;
    }

    public boolean isCancelled() {
        return cancelled;
    }

    /** Generated Lexer. */
    private RankingExpressionParserLexer token_source;

    public void setInputSource(String inputSource) {
        token_source.setInputSource(inputSource);
    }

    String getInputSource() {
        return token_source.getInputSource();
    }

    //=================================
    // Generated constructors
    //=================================
    public RankingExpressionParser(String inputSource, CharSequence content) {
        this(new RankingExpressionParserLexer(inputSource, content));
    }

    public RankingExpressionParser(CharSequence content) {
        this("input", content);
    }

    /**
    * @param inputSource just the name of the input source (typically the filename) that
    * will be used in error messages and so on.
    * @param path The location (typically the filename) from which to get the input to parse
    */
    public RankingExpressionParser(String inputSource, Path path) throws IOException {
        this(inputSource, TokenSource.stringFromBytes(Files.readAllBytes(path)));
    }

    public RankingExpressionParser(String inputSource, Path path, Charset charset) throws IOException {
        this(inputSource, TokenSource.stringFromBytes(Files.readAllBytes(path), charset));
    }

    /**
    * @param path The location (typically the filename) from which to get the input to parse
    */
    public RankingExpressionParser(Path path) throws IOException {
        this(path.toString(), path);
    }

    /** Constructor with user supplied Lexer. */
    public RankingExpressionParser(RankingExpressionParserLexer lexer) {
        token_source = lexer;
        lastConsumedToken = DUMMY_START_TOKEN;
        lastConsumedToken.setTokenSource(lexer);
    }

    /**
    * Set the starting line/column for location reporting.
    * By default, this is 1,1.
    */
    public void setStartingPos(int startingLine, int startingColumn) {
        token_source.setStartingPos(startingLine, startingColumn);
    }

    // this method is for testing only.
    public boolean getLegacyGlitchyLookahead() {
        return legacyGlitchyLookahead;
    }

    // If the next token is cached, it returns that
    // Otherwise, it goes to the token_source, i.e. the Lexer.
    private Token nextToken(final Token tok) {
        Token result = token_source.getNextToken(tok);
        while (result.isUnparsed()) {
            result = token_source.getNextToken(result);
            if (result.isInvalid()) {
                if (isParserTolerant()) {
                    result.setUnparsed(true);
                }
            }
        }
        nextTokenType = null;
        return result;
    }

    /**
    * @return the next Token off the stream. This is the same as #getToken(1)
    */
    public final Token getNextToken() {
        return getToken(1);
    }

    /**
    * @param index how many tokens to look ahead
    * @return the specific regular (i.e. parsed) Token index ahead/behind in the stream.
    * If we are in a lookahead, it looks ahead from the currentLookaheadToken
    * Otherwise, it is the lastConsumedToken. If you pass in a negative
    * number it goes backward.
    */
    public final Token getToken(final int index) {
        Token t = currentLookaheadToken == null ? lastConsumedToken : currentLookaheadToken;
        for (int i = 0; i < index; i++) {
            t = nextToken(t);
        }
        for (int i = 0; i > index; i--) {
            t = t.getPrevious();
            if (t == null) break;
        }
        return t;
    }

    private TokenType nextTokenType() {
        if (nextTokenType == null) {
            nextTokenType = nextToken(lastConsumedToken).getType();
        }
        return nextTokenType;
    }

    boolean activateTokenTypes(TokenType...types) {
        if (token_source.activeTokenTypes == null) return false;
        boolean result = false;
        for (TokenType tt : types) {
            result |= token_source.activeTokenTypes.add(tt);
        }
        if (result) {
            token_source.reset(getToken(0));
            nextTokenType = null;
        }
        return result;
    }

    boolean deactivateTokenTypes(TokenType...types) {
        boolean result = false;
        if (token_source.activeTokenTypes == null) {
            token_source.activeTokenTypes = EnumSet.allOf(TokenType.class);
        }
        for (TokenType tt : types) {
            result |= token_source.activeTokenTypes.remove(tt);
        }
        if (result) {
            token_source.reset(getToken(0));
            nextTokenType = null;
        }
        return result;
    }

    private static final HashMap> enumSetCache = new HashMap<>();

    private static EnumSet tokenTypeSet(TokenType first, TokenType...rest) {
        TokenType[] key = new TokenType[1 + rest.length];
        key[0] = first;
        if (rest.length > 0) {
            System.arraycopy(rest, 0, key, 1, rest.length);
        }
        Arrays.sort(key);
        if (enumSetCache.containsKey(key)) {
            return enumSetCache.get(key);
        }
        EnumSet result = (rest.length == 0) ? EnumSet.of(first) : EnumSet.of(first, rest);
        enumSetCache.put(key, result);
        return result;
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:198:1
    final public List featureList() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "featureList";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:198:1
        featureList thisProduction = null;
        if (buildTree) {
            thisProduction = new featureList();
            openNodeScope(thisProduction);
        }
        List ret = new ArrayList();
        ReferenceNode exp;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$featureList();
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:204:7
            while (true) {
                if (!(first_set$RankingExpressionParser_ccc$204$9.contains(nextTokenType()))) break;
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:204:9
                pushOntoCallStack("featureList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 204, 9);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$204$9$;
                try {
                    exp = feature();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:204:25
                ret.add(exp);
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:204:46
            EnumSet followSet34 = null;
            if (outerFollowSet != null) {
                followSet34 = follow_set$RankingExpressionParser_ccc$204$46.clone();
                followSet34.addAll(outerFollowSet);
            }
            consumeToken(EOF, false, followSet34);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:205:5
            return ret;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:208:1
    final public ExpressionNode rankingExpression() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "rankingExpression";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:208:1
        rankingExpression thisProduction = null;
        if (buildTree) {
            thisProduction = new rankingExpression();
            openNodeScope(thisProduction);
        }
        ExpressionNode ret;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$rankingExpression();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:213:7
            pushOntoCallStack("rankingExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 213, 7);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$213$7;
            try {
                ret = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:213:26
            EnumSet followSet24 = null;
            if (outerFollowSet != null) {
                followSet24 = follow_set$RankingExpressionParser_ccc$213$26.clone();
                followSet24.addAll(outerFollowSet);
            }
            consumeToken(EOF, false, followSet24);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:214:5
            thisProduction.expressionNode = ret;
            return ret;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:220:1
    final public ExpressionNode expression() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "expression";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:220:1
        expression thisProduction = null;
        if (buildTree) {
            thisProduction = new expression();
            openNodeScope(thisProduction);
        }
        ExpressionNode left, right;
        List rightList;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$expression();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:226:7
            pushOntoCallStack("expression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 226, 7);
            if (outerFollowSet != null) {
                EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$226$7.clone();
                newFollowSet.addAll(outerFollowSet);
                outerFollowSet = newFollowSet;
            }
            try {
                left = operationExpression();
            } finally {
                popCallStack();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:227:7
            if (nextTokenType() == IN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:13
                consumeToken(IN, false, follow_set$RankingExpressionParser_ccc$228$13);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:28
                pushOntoCallStack("expression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 228, 28);
                try {
                    rightList = expressionList();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:57
                left = new SetMembershipNode(left, rightList);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:231:5
            thisProduction.expressionNode = left;
            return left;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:237:1
    final public ExpressionNode operationExpression() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "operationExpression";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:237:1
        operationExpression thisProduction = null;
        if (buildTree) {
            thisProduction = new operationExpression();
            openNodeScope(thisProduction);
        }
        ExpressionNode left, right = null;
        Operator operator;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$operationExpression();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:243:7
            pushOntoCallStack("operationExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 243, 7);
            if (outerFollowSet != null) {
                EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$243$7.clone();
                newFollowSet.addAll(outerFollowSet);
                outerFollowSet = newFollowSet;
            }
            try {
                left = value();
            } finally {
                popCallStack();
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:7
            while (true) {
                if (!(first_set$RankingExpressionParser_ccc$244$9.contains(nextTokenType()))) break;
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:9
                pushOntoCallStack("operationExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 244, 9);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$244$9$;
                try {
                    operator = binaryOperator();
                } finally {
                    popCallStack();
                }
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:37
                pushOntoCallStack("operationExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 244, 37);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$244$37.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    right = value();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:53
                left = OperationNode.resolve(left, operator, right);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:246:5
            thisProduction.expressionNode = left;
            return left;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:252:1
    final public Operator binaryOperator() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "binaryOperator";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:252:1
        binaryOperator thisProduction = null;
        if (buildTree) {
            thisProduction = new binaryOperator();
            openNodeScope(thisProduction);
        }
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$binaryOperator();
            }
            if (nextTokenType() == OR) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:255:7
                EnumSet followSet24 = null;
                if (outerFollowSet != null) {
                    followSet24 = follow_set$RankingExpressionParser_ccc$255$7.clone();
                    followSet24.addAll(outerFollowSet);
                }
                consumeToken(OR, false, followSet24);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:255:23
                return Operator.or;
            } else if (nextTokenType() == AND) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:256:7
                EnumSet followSet35 = null;
                if (outerFollowSet != null) {
                    followSet35 = follow_set$RankingExpressionParser_ccc$256$7.clone();
                    followSet35.addAll(outerFollowSet);
                }
                consumeToken(AND, false, followSet35);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:256:23
                return Operator.and;
            } else if (nextTokenType() == GREATEREQUAL) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:257:7
                EnumSet followSet46 = null;
                if (outerFollowSet != null) {
                    followSet46 = follow_set$RankingExpressionParser_ccc$257$7.clone();
                    followSet46.addAll(outerFollowSet);
                }
                consumeToken(GREATEREQUAL, false, followSet46);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:257:23
                return Operator.largerOrEqual;
            } else if (nextTokenType() == GREATER) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:258:7
                EnumSet followSet57 = null;
                if (outerFollowSet != null) {
                    followSet57 = follow_set$RankingExpressionParser_ccc$258$7.clone();
                    followSet57.addAll(outerFollowSet);
                }
                consumeToken(GREATER, false, followSet57);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:258:23
                return Operator.larger;
            } else if (nextTokenType() == LESSEQUAL) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:259:7
                EnumSet followSet68 = null;
                if (outerFollowSet != null) {
                    followSet68 = follow_set$RankingExpressionParser_ccc$259$7.clone();
                    followSet68.addAll(outerFollowSet);
                }
                consumeToken(LESSEQUAL, false, followSet68);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:259:23
                return Operator.smallerOrEqual;
            } else if (nextTokenType() == LESS) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:260:7
                EnumSet followSet79 = null;
                if (outerFollowSet != null) {
                    followSet79 = follow_set$RankingExpressionParser_ccc$260$7.clone();
                    followSet79.addAll(outerFollowSet);
                }
                consumeToken(LESS, false, followSet79);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:260:23
                return Operator.smaller;
            } else if (nextTokenType() == APPROX) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:261:7
                EnumSet followSet90 = null;
                if (outerFollowSet != null) {
                    followSet90 = follow_set$RankingExpressionParser_ccc$261$7.clone();
                    followSet90.addAll(outerFollowSet);
                }
                consumeToken(APPROX, false, followSet90);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:261:23
                return Operator.approxEqual;
            } else if (nextTokenType() == NOTEQUAL) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:262:7
                EnumSet followSet101 = null;
                if (outerFollowSet != null) {
                    followSet101 = follow_set$RankingExpressionParser_ccc$262$7.clone();
                    followSet101.addAll(outerFollowSet);
                }
                consumeToken(NOTEQUAL, false, followSet101);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:262:23
                return Operator.notEqual;
            } else if (nextTokenType() == EQUAL) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:263:7
                EnumSet followSet112 = null;
                if (outerFollowSet != null) {
                    followSet112 = follow_set$RankingExpressionParser_ccc$263$7.clone();
                    followSet112.addAll(outerFollowSet);
                }
                consumeToken(EQUAL, false, followSet112);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:263:23
                return Operator.equal;
            } else if (nextTokenType() == ADD) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:264:7
                EnumSet followSet123 = null;
                if (outerFollowSet != null) {
                    followSet123 = follow_set$RankingExpressionParser_ccc$264$7.clone();
                    followSet123.addAll(outerFollowSet);
                }
                consumeToken(ADD, false, followSet123);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:264:23
                return Operator.plus;
            } else if (nextTokenType() == SUB) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:265:7
                EnumSet followSet134 = null;
                if (outerFollowSet != null) {
                    followSet134 = follow_set$RankingExpressionParser_ccc$265$7.clone();
                    followSet134.addAll(outerFollowSet);
                }
                consumeToken(SUB, false, followSet134);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:265:23
                return Operator.minus;
            } else if (nextTokenType() == DIV) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:266:7
                EnumSet followSet145 = null;
                if (outerFollowSet != null) {
                    followSet145 = follow_set$RankingExpressionParser_ccc$266$7.clone();
                    followSet145.addAll(outerFollowSet);
                }
                consumeToken(DIV, false, followSet145);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:266:23
                return Operator.divide;
            } else if (nextTokenType() == MUL) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:267:7
                EnumSet followSet156 = null;
                if (outerFollowSet != null) {
                    followSet156 = follow_set$RankingExpressionParser_ccc$267$7.clone();
                    followSet156.addAll(outerFollowSet);
                }
                consumeToken(MUL, false, followSet156);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:267:23
                return Operator.multiply;
            } else if (nextTokenType() == MOD) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:268:7
                EnumSet followSet167 = null;
                if (outerFollowSet != null) {
                    followSet167 = follow_set$RankingExpressionParser_ccc$268$7.clone();
                    followSet167.addAll(outerFollowSet);
                }
                consumeToken(MOD, false, followSet167);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:268:23
                return Operator.modulo;
            } else if (nextTokenType() == POWOP) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:269:7
                EnumSet followSet178 = null;
                if (outerFollowSet != null) {
                    followSet178 = follow_set$RankingExpressionParser_ccc$269$7.clone();
                    followSet178.addAll(outerFollowSet);
                }
                consumeToken(POWOP, false, followSet178);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:269:23
                return Operator.power;
            } else {
                pushOntoCallStack("binaryOperator", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 255, 7);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$255$7$, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:271:5
            /* Unreachable: return null; */
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:274:1
    final public ExpressionNode value() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "value";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:274:1
        value thisProduction = null;
        if (buildTree) {
            thisProduction = new value();
            openNodeScope(thisProduction);
        }
        ExpressionNode value;
        boolean neg = false;
        boolean not = false;
        List valueAddress;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$value();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:283:7
            if (nextTokenType() == NOT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:283:9
                consumeToken(NOT, false, follow_set$RankingExpressionParser_ccc$283$9);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:283:61
                not = true;
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:7
            if (scan$RankingExpressionParser_ccc$284$9()) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:16
                consumeToken(SUB, false, follow_set$RankingExpressionParser_ccc$284$16);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:55
                neg = true;
            }
            if (first_set$RankingExpressionParser_ccc$285$9.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:285:9
                pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 285, 9);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$285$9$.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    value = constantPrimitive(neg);
                } finally {
                    popCallStack();
                }
            } else if (first_set$RankingExpressionParser_ccc$286$9.contains(nextTokenType())) {
                if (scan$RankingExpressionParser_ccc$287$11()) {
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:18
                    pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 287, 18);
                    if (outerFollowSet != null) {
                        EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$287$18.clone();
                        newFollowSet.addAll(outerFollowSet);
                        outerFollowSet = newFollowSet;
                    }
                    try {
                        value = ifExpression();
                    } finally {
                        popCallStack();
                    }
                } else if (scan$RankingExpressionParser_ccc$288$11()) {
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:288:18
                    pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 288, 18);
                    if (outerFollowSet != null) {
                        EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$288$18.clone();
                        newFollowSet.addAll(outerFollowSet);
                        outerFollowSet = newFollowSet;
                    }
                    try {
                        value = function();
                    } finally {
                        popCallStack();
                    }
                } else if (first_set$RankingExpressionParser_ccc$289$11.contains(nextTokenType())) {
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:289:11
                    pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 289, 11);
                    if (outerFollowSet != null) {
                        EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$289$11$.clone();
                        newFollowSet.addAll(outerFollowSet);
                        outerFollowSet = newFollowSet;
                    }
                    try {
                        value = feature();
                    } finally {
                        popCallStack();
                    }
                } else if (nextTokenType() == DOLLAR) {
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:290:11
                    pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 290, 11);
                    if (outerFollowSet != null) {
                        EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$290$11.clone();
                        newFollowSet.addAll(outerFollowSet);
                        outerFollowSet = newFollowSet;
                    }
                    try {
                        value = legacyQueryFeature();
                    } finally {
                        popCallStack();
                    }
                } else if (nextTokenType() == LBRACE) {
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:13
                    consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$291$13);
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:22
                    pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 291, 22);
                    outerFollowSet = follow_set$RankingExpressionParser_ccc$291$22;
                    try {
                        value = expression();
                    } finally {
                        popCallStack();
                    }
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:43
                    EnumSet followSet125 = null;
                    if (outerFollowSet != null) {
                        followSet125 = follow_set$RankingExpressionParser_ccc$291$43.clone();
                        followSet125.addAll(outerFollowSet);
                    }
                    consumeToken(RBRACE, false, followSet125);
                    // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:52
                    value = new EmbracedNode(value);
                } else {
                    pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 287, 11);
                    throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$287$11, parsingStack);
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:292:11
                value = neg ? new NegativeNode(value) : value;
            } else {
                pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 285, 9);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$285$9$$, parsingStack);
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:5
            if (scan$RankingExpressionParser_ccc$296$7()) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:14
                pushOntoCallStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 296, 14);
                try {
                    valueAddress = valueAddress();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:44
                value = new TensorFunctionNode(new Slice(TensorFunctionNode.wrap(value), valueAddress));
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:297:5
            value = not ? new NotNode(value) : value;
            thisProduction.expressionNode = value;
            return value;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:305:1
    final public IfNode ifExpression() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "ifExpression";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:305:1
        ifExpression thisProduction = null;
        if (buildTree) {
            thisProduction = new ifExpression();
            openNodeScope(thisProduction);
        }
        ExpressionNode condition, ifTrue, ifFalse;
        Double trueProbability = null;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$ifExpression();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:311:7
            consumeToken(IF, false, follow_set$RankingExpressionParser_ccc$311$7);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:311:12
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$311$12);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:311:23
            pushOntoCallStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 311, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$311$23;
            try {
                condition = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:7
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$312$7);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:15
            pushOntoCallStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 312, 15);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$312$15;
            try {
                ifTrue = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:37
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$312$37);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:45
            pushOntoCallStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 312, 45);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$312$45;
            try {
                ifFalse = expression();
            } finally {
                popCallStack();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:68
            if (nextTokenType() == COMMA) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:70
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$312$70);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:78
                pushOntoCallStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 312, 78);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$312$78;
                try {
                    trueProbability = doubleNumber();
                } finally {
                    popCallStack();
                }
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:114
            EnumSet followSet71 = null;
            if (outerFollowSet != null) {
                followSet71 = follow_set$RankingExpressionParser_ccc$312$114.clone();
                followSet71.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet71);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:313:5
            thisProduction.expressionNode = new IfNode(condition, ifTrue, ifFalse, trueProbability);
            return (IfNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:319:1
    final public ReferenceNode feature() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "feature";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:319:1
        feature thisProduction = null;
        if (buildTree) {
            thisProduction = new feature();
            openNodeScope(thisProduction);
        }
        List args = null;
        String name, out = null;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$feature();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:7
            pushOntoCallStack("feature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 325, 7);
            if (outerFollowSet != null) {
                EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$325$7.clone();
                newFollowSet.addAll(outerFollowSet);
                outerFollowSet = newFollowSet;
            }
            try {
                name = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:30
            if (nextTokenType() == LBRACE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:32
                consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$325$32);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:41
                pushOntoCallStack("feature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 325, 41);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$325$41;
                try {
                    args = args();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:55
                EnumSet followSet40 = null;
                if (outerFollowSet != null) {
                    followSet40 = follow_set$RankingExpressionParser_ccc$325$55.clone();
                    followSet40.addAll(outerFollowSet);
                }
                consumeToken(RBRACE, false, followSet40);
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:66
            if (nextTokenType() == DOT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:68
                consumeToken(DOT, false, follow_set$RankingExpressionParser_ccc$325$68);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:74
                pushOntoCallStack("feature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 325, 74);
                try {
                    out = outs();
                } finally {
                    popCallStack();
                }
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:326:5
            if (args == null && out == null) {
                // know the difference between "foo" and "foo()"
                thisProduction.expressionNode = new ReferenceNode(name);
            } else {
                thisProduction.expressionNode = new ReferenceNode(name, args, out);
            }
            return (ReferenceNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:338:1
    final public ReferenceNode legacyQueryFeature() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "legacyQueryFeature";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:338:1
        legacyQueryFeature thisProduction = null;
        if (buildTree) {
            thisProduction = new legacyQueryFeature();
            openNodeScope(thisProduction);
        }
        String name;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$legacyQueryFeature();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:343:7
            consumeToken(DOLLAR, false, follow_set$RankingExpressionParser_ccc$343$7);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:343:16
            pushOntoCallStack("legacyQueryFeature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 343, 16);
            try {
                name = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:344:5
            thisProduction.expressionNode = new ReferenceNode(Reference.simple("query", name));
            return (ReferenceNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:350:1
    final public String outs() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "outs";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:350:1
        outs thisProduction = null;
        if (buildTree) {
            thisProduction = new outs();
            openNodeScope(thisProduction);
        }
        StringBuilder ret = new StringBuilder();
        String str;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$outs();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:356:9
            pushOntoCallStack("outs", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 356, 9);
            if (outerFollowSet != null) {
                EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$356$9.clone();
                newFollowSet.addAll(outerFollowSet);
                outerFollowSet = newFollowSet;
            }
            try {
                str = out();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:356:21
            ret.append(str);
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:357:7
            while (true) {
                if (!(nextTokenType() == DOT)) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:357:9
                consumeToken(DOT, false, follow_set$RankingExpressionParser_ccc$357$9);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:357:21
                ret.append(lastConsumedToken.toString());
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:358:9
                pushOntoCallStack("outs", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 358, 9);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$358$9.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    str = out();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:358:21
                ret.append(str);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:359:5
            return ret.toString();
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:362:1
    final public String out() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "out";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:362:1
        out thisProduction = null;
        if (buildTree) {
            thisProduction = new out();
            openNodeScope(thisProduction);
        }
        Function fnc;
        String name;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$out();
            }
            if (nextTokenType() == INTEGER) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:368:7
                EnumSet followSet24 = null;
                if (outerFollowSet != null) {
                    followSet24 = follow_set$RankingExpressionParser_ccc$368$7.clone();
                    followSet24.addAll(outerFollowSet);
                }
                consumeToken(INTEGER, false, followSet24);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:368:34
                return lastConsumedToken.toString();
            } else if (nextTokenType() == FLOAT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:369:7
                EnumSet followSet35 = null;
                if (outerFollowSet != null) {
                    followSet35 = follow_set$RankingExpressionParser_ccc$369$7.clone();
                    followSet35.addAll(outerFollowSet);
                }
                consumeToken(FLOAT, false, followSet35);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:369:34
                return lastConsumedToken.toString();
            } else if (first_set$RankingExpressionParser_ccc$370$7.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:370:7
                pushOntoCallStack("out", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 370, 7);
                try {
                    name = identifierStr();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:370:37
                return name;
            } else {
                pushOntoCallStack("out", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 368, 7);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$368$7$, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:371:5
            /* Unreachable: return null; */
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:374:1
    final public List args() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "args";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:374:1
        args thisProduction = null;
        if (buildTree) {
            thisProduction = new args();
            openNodeScope(thisProduction);
        }
        List arguments = new ArrayList();
        ExpressionNode argument;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:7
            if (first_set$RankingExpressionParser_ccc$380$9.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:9
                pushOntoCallStack("args", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 380, 9);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$380$9$.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    argument = expression();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:33
                arguments.add(argument);
                // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:62
                while (true) {
                    if (!(nextTokenType() == COMMA)) break;
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:64
                    consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$380$64);
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:72
                    pushOntoCallStack("args", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 380, 72);
                    if (outerFollowSet != null) {
                        EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$380$72.clone();
                        newFollowSet.addAll(outerFollowSet);
                        outerFollowSet = newFollowSet;
                    }
                    try {
                        argument = expression();
                    } finally {
                        popCallStack();
                    }
                    // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:96
                    arguments.add(argument);
                }
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:381:5
            return arguments;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:384:1
    final public ExpressionNode function() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "function";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:384:1
        function thisProduction = null;
        if (buildTree) {
            thisProduction = new function();
            openNodeScope(thisProduction);
        }
        ExpressionNode function;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$function();
            }
            if (scan$RankingExpressionParser_ccc$389$7()) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:14
                pushOntoCallStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 14);
                try {
                    function = scalarOrTensorFunction();
                } finally {
                    popCallStack();
                }
            } else if (first_set$RankingExpressionParser_ccc$389$52.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:52
                pushOntoCallStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 52);
                try {
                    function = tensorFunction();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == UNPACK_BITS) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:82
                pushOntoCallStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 82);
                try {
                    function = tensorMacro();
                } finally {
                    popCallStack();
                }
            } else {
                pushOntoCallStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 7);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$389$7, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:390:5
            thisProduction.expressionNode = function;
            return function;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet scalarOrTensorFunction_FIRST_SET = scalarOrTensorFunction_FIRST_SET_init();

    private static EnumSet scalarOrTensorFunction_FIRST_SET_init() {
        return tokenTypeSet(ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAX, MIN);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:396:1
    final public FunctionNode scalarOrTensorFunction() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "scalarOrTensorFunction";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:396:1
        scalarOrTensorFunction thisProduction = null;
        if (buildTree) {
            thisProduction = new scalarOrTensorFunction();
            openNodeScope(thisProduction);
        }
        Function function;
        ExpressionNode arg1, arg2;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:402:5
            if (pendingRecovery) {
                recover$scalarOrTensorFunction();
            }
            if (first_set$RankingExpressionParser_ccc$402$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:9
                pushOntoCallStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 403, 9);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$403$9;
                try {
                    function = unaryFunctionName();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:40
                consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$403$40);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:49
                pushOntoCallStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 403, 49);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$403$49;
                try {
                    arg1 = expression();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:69
                EnumSet followSet43 = null;
                if (outerFollowSet != null) {
                    followSet43 = follow_set$RankingExpressionParser_ccc$403$69.clone();
                    followSet43.addAll(outerFollowSet);
                }
                consumeToken(RBRACE, false, followSet43);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:404:7
                thisProduction.expressionNode = new FunctionNode(function, arg1);
                return (FunctionNode) thisProduction.expressionNode;
            } else if (first_set$RankingExpressionParser_ccc$409$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:9
                pushOntoCallStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 410, 9);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$410$9;
                try {
                    function = binaryFunctionName();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:41
                consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$410$41);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:50
                pushOntoCallStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 410, 50);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$410$50;
                try {
                    arg1 = expression();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:70
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$410$70);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:78
                pushOntoCallStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 410, 78);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$410$78;
                try {
                    arg2 = expression();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:98
                EnumSet followSet88 = null;
                if (outerFollowSet != null) {
                    followSet88 = follow_set$RankingExpressionParser_ccc$410$98.clone();
                    followSet88.addAll(outerFollowSet);
                }
                consumeToken(RBRACE, false, followSet88);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:411:7
                thisProduction.expressionNode = new FunctionNode(function, arg1, arg2);
                return (FunctionNode) thisProduction.expressionNode;
            } else {
                pushOntoCallStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 402, 5);
                throw new ParseException(lastConsumedToken, scalarOrTensorFunction_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:418:1
    final public TensorFunctionNode tensorFunction() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorFunction";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:418:1
        tensorFunction thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorFunction();
            openNodeScope(thisProduction);
        }
        TensorFunctionNode tensorExpression;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorFunction();
            }
            if (nextTokenType() == MAP) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:424:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 424, 9);
                try {
                    tensorExpression = tensorMap();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == MAP_SUBSPACES) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:425:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 425, 9);
                try {
                    tensorExpression = tensorMapSubspaces();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == REDUCE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:426:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 426, 9);
                try {
                    tensorExpression = tensorReduce();
                } finally {
                    popCallStack();
                }
            } else if (first_set$RankingExpressionParser_ccc$427$9.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:427:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 427, 9);
                try {
                    tensorExpression = tensorReduceComposites();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == JOIN) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:428:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 428, 9);
                try {
                    tensorExpression = tensorJoin();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == MERGE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:429:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 429, 9);
                try {
                    tensorExpression = tensorMerge();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == RENAME) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:430:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 430, 9);
                try {
                    tensorExpression = tensorRename();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == CONCAT) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:431:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 431, 9);
                try {
                    tensorExpression = tensorConcat();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == TENSOR) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:432:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 432, 9);
                try {
                    tensorExpression = tensorGenerate();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == RANGE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:433:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 433, 9);
                try {
                    tensorExpression = tensorRange();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == DIAG) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:434:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 434, 9);
                try {
                    tensorExpression = tensorDiag();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == RANDOM) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:435:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 435, 9);
                try {
                    tensorExpression = tensorRandom();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == L1_NORMALIZE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:436:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 436, 9);
                try {
                    tensorExpression = tensorL1Normalize();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == L2_NORMALIZE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:437:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 437, 9);
                try {
                    tensorExpression = tensorL2Normalize();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == EUCLIDEAN_DISTANCE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:438:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 438, 9);
                try {
                    tensorExpression = tensorEuclideanDistance();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == COSINE_SIMILARITY) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:439:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 439, 9);
                try {
                    tensorExpression = tensorCosineSimilarity();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == MATMUL) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:440:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 440, 9);
                try {
                    tensorExpression = tensorMatmul();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == SOFTMAX) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:441:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 441, 9);
                try {
                    tensorExpression = tensorSoftmax();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == XW_PLUS_B) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:442:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 442, 9);
                try {
                    tensorExpression = tensorXwPlusB();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == ARGMAX) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:443:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 443, 9);
                try {
                    tensorExpression = tensorArgmax();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == ARGMIN) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:444:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 444, 9);
                try {
                    tensorExpression = tensorArgmin();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == CELL_CAST) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:445:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 445, 9);
                try {
                    tensorExpression = tensorCellCast();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == EXPAND) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:446:9
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 446, 9);
                try {
                    tensorExpression = tensorExpand();
                } finally {
                    popCallStack();
                }
            } else {
                pushOntoCallStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 424, 9);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$424$9, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:448:5
            thisProduction.expressionNode = tensorExpression;
            return tensorExpression;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:454:1
    final public TensorFunctionNode tensorMap() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorMap";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:454:1
        tensorMap thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorMap();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        LambdaFunctionNode doubleMapper;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorMap();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:5
            consumeToken(MAP, false, follow_set$RankingExpressionParser_ccc$460$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:11
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$460$11);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:20
            pushOntoCallStack("tensorMap", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 460, 20);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$460$20;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:42
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$460$42);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:50
            pushOntoCallStack("tensorMap", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 460, 50);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$460$50;
            try {
                doubleMapper = lambdaFunction();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:82
            EnumSet followSet33 = null;
            if (outerFollowSet != null) {
                followSet33 = follow_set$RankingExpressionParser_ccc$460$82.clone();
                followSet33.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet33);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:461:5
            thisProduction.expressionNode = new TensorFunctionNode(new com.yahoo.tensor.functions.Map(TensorFunctionNode.wrap(tensor), doubleMapper.asDoubleUnaryOperator()));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:468:1
    final public TensorFunctionNode tensorMapSubspaces() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorMapSubspaces";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:468:1
        tensorMapSubspaces thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorMapSubspaces();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        LambdaFunctionNode denseMapper;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorMapSubspaces();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:5
            consumeToken(MAP_SUBSPACES, false, follow_set$RankingExpressionParser_ccc$474$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:21
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$474$21);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:30
            pushOntoCallStack("tensorMapSubspaces", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 474, 30);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$474$30;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:52
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$474$52);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:60
            pushOntoCallStack("tensorMapSubspaces", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 474, 60);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$474$60;
            try {
                denseMapper = lambdaFunction();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:91
            EnumSet followSet33 = null;
            if (outerFollowSet != null) {
                followSet33 = follow_set$RankingExpressionParser_ccc$474$91.clone();
                followSet33.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet33);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:475:5
            thisProduction.expressionNode = new TensorFunctionNode(new MapSubspaces(TensorFunctionNode.wrap(tensor), denseMapper.singleArgumentName(), TensorFunctionNode.wrap(denseMapper.children().get(0))));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:486:1
    final public TensorFunctionNode tensorReduce() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorReduce";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:486:1
        tensorReduce thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorReduce();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        Reduce.Aggregator aggregator;
        List dimensions = null;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorReduce();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:5
            consumeToken(REDUCE, false, follow_set$RankingExpressionParser_ccc$493$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:14
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$493$14);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:23
            pushOntoCallStack("tensorReduce", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 493, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$493$23;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:45
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$493$45);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:53
            pushOntoCallStack("tensorReduce", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 493, 53);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$493$53;
            try {
                aggregator = tensorReduceAggregator();
            } finally {
                popCallStack();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:91
            pushOntoCallStack("tensorReduce", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 493, 91);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$493$91;
            try {
                dimensions = tagCommaLeadingList();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:126
            EnumSet followSet37 = null;
            if (outerFollowSet != null) {
                followSet37 = follow_set$RankingExpressionParser_ccc$493$126.clone();
                followSet37.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet37);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:494:5
            thisProduction.expressionNode = new TensorFunctionNode(new Reduce(TensorFunctionNode.wrap(tensor), aggregator, dimensions));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:500:1
    final public TensorFunctionNode tensorReduceComposites() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorReduceComposites";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:500:1
        tensorReduceComposites thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorReduceComposites();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        Reduce.Aggregator aggregator;
        List dimensions = null;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorReduceComposites();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:507:5
            pushOntoCallStack("tensorReduceComposites", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 507, 5);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$507$5;
            try {
                aggregator = tensorReduceAggregator();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:5
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$508$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:14
            pushOntoCallStack("tensorReduceComposites", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 508, 14);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$508$14;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:36
            pushOntoCallStack("tensorReduceComposites", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 508, 36);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$508$36;
            try {
                dimensions = tagCommaLeadingList();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:71
            EnumSet followSet29 = null;
            if (outerFollowSet != null) {
                followSet29 = follow_set$RankingExpressionParser_ccc$508$71.clone();
                followSet29.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet29);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:509:5
            thisProduction.expressionNode = new TensorFunctionNode(new Reduce(TensorFunctionNode.wrap(tensor), aggregator, dimensions));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:515:1
    final public TensorFunctionNode tensorJoin() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorJoin";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:515:1
        tensorJoin thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorJoin();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor1, tensor2;
        LambdaFunctionNode doubleJoiner;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorJoin();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:5
            consumeToken(JOIN, false, follow_set$RankingExpressionParser_ccc$521$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:12
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$521$12);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:21
            pushOntoCallStack("tensorJoin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 521, 21);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$521$21;
            try {
                tensor1 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:44
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$521$44);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:52
            pushOntoCallStack("tensorJoin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 521, 52);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$521$52;
            try {
                tensor2 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:75
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$521$75);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:83
            pushOntoCallStack("tensorJoin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 521, 83);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$521$83;
            try {
                doubleJoiner = lambdaFunction();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:115
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$521$115.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:522:5
            thisProduction.expressionNode = new TensorFunctionNode(new Join(TensorFunctionNode.wrap(tensor1), TensorFunctionNode.wrap(tensor2), doubleJoiner.asDoubleBinaryOperator()));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:530:1
    final public TensorFunctionNode tensorMerge() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorMerge";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:530:1
        tensorMerge thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorMerge();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor1, tensor2;
        LambdaFunctionNode doubleMerger;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorMerge();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:5
            consumeToken(MERGE, false, follow_set$RankingExpressionParser_ccc$536$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:13
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$536$13);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:22
            pushOntoCallStack("tensorMerge", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 536, 22);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$536$22;
            try {
                tensor1 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:45
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$536$45);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:53
            pushOntoCallStack("tensorMerge", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 536, 53);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$536$53;
            try {
                tensor2 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:76
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$536$76);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:84
            pushOntoCallStack("tensorMerge", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 536, 84);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$536$84;
            try {
                doubleMerger = lambdaFunction();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:116
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$536$116.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:537:5
            thisProduction.expressionNode = new TensorFunctionNode(new Merge(TensorFunctionNode.wrap(tensor1), TensorFunctionNode.wrap(tensor2), doubleMerger.asDoubleBinaryOperator()));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:545:1
    final public TensorFunctionNode tensorRename() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorRename";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:545:1
        tensorRename thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorRename();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        List fromDimensions, toDimensions;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorRename();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:5
            consumeToken(RENAME, false, follow_set$RankingExpressionParser_ccc$551$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:14
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$551$14);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:23
            pushOntoCallStack("tensorRename", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 551, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$551$23;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:45
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$551$45);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:552:23
            pushOntoCallStack("tensorRename", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 552, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$552$23;
            try {
                fromDimensions = bracedIdentifierList();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:552:63
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$552$63);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:553:23
            pushOntoCallStack("tensorRename", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 553, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$553$23;
            try {
                toDimensions = bracedIdentifierList();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:554:14
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$554$14.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:555:5
            thisProduction.expressionNode = new TensorFunctionNode(new Rename(TensorFunctionNode.wrap(tensor), fromDimensions, toDimensions));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:561:1
    final public TensorFunctionNode tensorConcat() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorConcat";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:561:1
        tensorConcat thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorConcat();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor1, tensor2;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorConcat();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:5
            consumeToken(CONCAT, false, follow_set$RankingExpressionParser_ccc$567$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:14
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$567$14);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:23
            pushOntoCallStack("tensorConcat", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 567, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$567$23;
            try {
                tensor1 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:46
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$567$46);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:54
            pushOntoCallStack("tensorConcat", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 567, 54);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$567$54;
            try {
                tensor2 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:77
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$567$77);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:85
            pushOntoCallStack("tensorConcat", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 567, 85);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$567$85;
            try {
                dimension = tag();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:103
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$567$103.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:568:5
            thisProduction.expressionNode = new TensorFunctionNode(new Concat(TensorFunctionNode.wrap(tensor1), TensorFunctionNode.wrap(tensor2), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:576:1
    final public TensorFunctionNode tensorGenerate() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorGenerate";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:576:1
        tensorGenerate thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorGenerate();
            openNodeScope(thisProduction);
        }
        TensorType type;
        List dimensionOrder = new ArrayList();
        TensorFunctionNode expression;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorGenerate();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:583:5
            consumeToken(TENSOR, false, follow_set$RankingExpressionParser_ccc$583$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:583:14
            pushOntoCallStack("tensorGenerate", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 583, 14);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$583$14;
            try {
                type = tensorType(dimensionOrder);
            } finally {
                popCallStack();
            }
            if (nextTokenType() == LBRACE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:585:9
                pushOntoCallStack("tensorGenerate", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 585, 9);
                try {
                    expression = tensorGenerateBody(type);
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == COLON) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:586:9
                pushOntoCallStack("tensorGenerate", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 586, 9);
                try {
                    expression = tensorValueBody(type, dimensionOrder);
                } finally {
                    popCallStack();
                }
            } else {
                pushOntoCallStack("tensorGenerate", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 585, 9);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$585$9, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:588:5
            thisProduction.expressionNode = expression;
            return expression;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:594:1
    final public TensorFunctionNode tensorGenerateBody(TensorType type) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorGenerateBody";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:594:1
        tensorGenerateBody thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorGenerateBody();
            openNodeScope(thisProduction);
        }
        ExpressionNode generator;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorGenerateBody();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:599:5
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$599$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:599:14
            pushOntoCallStack("tensorGenerateBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 599, 14);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$599$14;
            try {
                generator = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:599:39
            EnumSet followSet21 = null;
            if (outerFollowSet != null) {
                followSet21 = follow_set$RankingExpressionParser_ccc$599$39.clone();
                followSet21.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet21);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:600:5
            thisProduction.expressionNode = new TensorFunctionNode(Generate.bound(type, TensorFunctionNode.wrapScalar(generator)));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:606:1
    final public TensorFunctionNode tensorRange() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorRange";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:606:1
        tensorRange thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorRange();
            openNodeScope(thisProduction);
        }
        TensorType type;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorRange();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:611:5
            consumeToken(RANGE, false, follow_set$RankingExpressionParser_ccc$611$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:611:13
            pushOntoCallStack("tensorRange", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 611, 13);
            try {
                type = tensorType(null);
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:612:5
            thisProduction.expressionNode = new TensorFunctionNode(new Range(type));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:618:1
    final public TensorFunctionNode tensorDiag() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorDiag";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:618:1
        tensorDiag thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorDiag();
            openNodeScope(thisProduction);
        }
        TensorType type;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorDiag();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:623:5
            consumeToken(DIAG, false, follow_set$RankingExpressionParser_ccc$623$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:623:12
            pushOntoCallStack("tensorDiag", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 623, 12);
            try {
                type = tensorType(null);
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:624:5
            thisProduction.expressionNode = new TensorFunctionNode(new Diag(type));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:630:1
    final public TensorFunctionNode tensorRandom() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorRandom";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:630:1
        tensorRandom thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorRandom();
            openNodeScope(thisProduction);
        }
        TensorType type;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorRandom();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:635:5
            consumeToken(RANDOM, false, follow_set$RankingExpressionParser_ccc$635$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:635:14
            pushOntoCallStack("tensorRandom", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 635, 14);
            try {
                type = tensorType(null);
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:636:5
            thisProduction.expressionNode = new TensorFunctionNode(new Random(type));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:642:1
    final public TensorFunctionNode tensorL1Normalize() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorL1Normalize";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:642:1
        tensorL1Normalize thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorL1Normalize();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorL1Normalize();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:5
            consumeToken(L1_NORMALIZE, false, follow_set$RankingExpressionParser_ccc$648$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:20
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$648$20);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:29
            pushOntoCallStack("tensorL1Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 648, 29);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$648$29;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:51
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$648$51);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:59
            pushOntoCallStack("tensorL1Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 648, 59);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$648$59;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:87
            EnumSet followSet33 = null;
            if (outerFollowSet != null) {
                followSet33 = follow_set$RankingExpressionParser_ccc$648$87.clone();
                followSet33.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet33);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:649:5
            thisProduction.expressionNode = new TensorFunctionNode(new L1Normalize(TensorFunctionNode.wrap(tensor), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:655:1
    final public TensorFunctionNode tensorL2Normalize() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorL2Normalize";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:655:1
        tensorL2Normalize thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorL2Normalize();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorL2Normalize();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:5
            consumeToken(L2_NORMALIZE, false, follow_set$RankingExpressionParser_ccc$661$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:20
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$661$20);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:29
            pushOntoCallStack("tensorL2Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 661, 29);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$661$29;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:51
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$661$51);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:59
            pushOntoCallStack("tensorL2Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 661, 59);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$661$59;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:87
            EnumSet followSet33 = null;
            if (outerFollowSet != null) {
                followSet33 = follow_set$RankingExpressionParser_ccc$661$87.clone();
                followSet33.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet33);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:662:5
            thisProduction.expressionNode = new TensorFunctionNode(new L2Normalize(TensorFunctionNode.wrap(tensor), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:668:1
    final public TensorFunctionNode tensorEuclideanDistance() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorEuclideanDistance";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:668:1
        tensorEuclideanDistance thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorEuclideanDistance();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor1, tensor2;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorEuclideanDistance();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:5
            consumeToken(EUCLIDEAN_DISTANCE, false, follow_set$RankingExpressionParser_ccc$674$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:26
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$674$26);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:35
            pushOntoCallStack("tensorEuclideanDistance", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 674, 35);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$674$35;
            try {
                tensor1 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:58
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$674$58);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:66
            pushOntoCallStack("tensorEuclideanDistance", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 674, 66);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$674$66;
            try {
                tensor2 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:89
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$674$89);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:97
            pushOntoCallStack("tensorEuclideanDistance", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 674, 97);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$674$97;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:125
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$674$125.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:675:5
            thisProduction.expressionNode = new TensorFunctionNode(new EuclideanDistance(TensorFunctionNode.wrap(tensor1), TensorFunctionNode.wrap(tensor2), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:683:1
    final public TensorFunctionNode tensorCosineSimilarity() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorCosineSimilarity";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:683:1
        tensorCosineSimilarity thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorCosineSimilarity();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor1, tensor2;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorCosineSimilarity();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:5
            consumeToken(COSINE_SIMILARITY, false, follow_set$RankingExpressionParser_ccc$689$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:25
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$689$25);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:34
            pushOntoCallStack("tensorCosineSimilarity", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 689, 34);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$689$34;
            try {
                tensor1 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:57
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$689$57);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:65
            pushOntoCallStack("tensorCosineSimilarity", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 689, 65);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$689$65;
            try {
                tensor2 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:88
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$689$88);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:96
            pushOntoCallStack("tensorCosineSimilarity", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 689, 96);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$689$96;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:124
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$689$124.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:690:5
            thisProduction.expressionNode = new TensorFunctionNode(new CosineSimilarity(TensorFunctionNode.wrap(tensor1), TensorFunctionNode.wrap(tensor2), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:698:1
    final public TensorFunctionNode tensorMatmul() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorMatmul";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:698:1
        tensorMatmul thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorMatmul();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor1, tensor2;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorMatmul();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:5
            consumeToken(MATMUL, false, follow_set$RankingExpressionParser_ccc$704$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:14
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$704$14);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:23
            pushOntoCallStack("tensorMatmul", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 704, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$704$23;
            try {
                tensor1 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:46
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$704$46);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:54
            pushOntoCallStack("tensorMatmul", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 704, 54);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$704$54;
            try {
                tensor2 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:77
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$704$77);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:85
            pushOntoCallStack("tensorMatmul", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 704, 85);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$704$85;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:113
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$704$113.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:705:5
            thisProduction.expressionNode = new TensorFunctionNode(new Matmul(TensorFunctionNode.wrap(tensor1), TensorFunctionNode.wrap(tensor2), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:713:1
    final public TensorFunctionNode tensorSoftmax() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorSoftmax";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:713:1
        tensorSoftmax thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorSoftmax();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorSoftmax();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:5
            consumeToken(SOFTMAX, false, follow_set$RankingExpressionParser_ccc$719$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:15
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$719$15);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:24
            pushOntoCallStack("tensorSoftmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 719, 24);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$719$24;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:46
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$719$46);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:54
            pushOntoCallStack("tensorSoftmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 719, 54);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$719$54;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:82
            EnumSet followSet33 = null;
            if (outerFollowSet != null) {
                followSet33 = follow_set$RankingExpressionParser_ccc$719$82.clone();
                followSet33.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet33);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:720:5
            thisProduction.expressionNode = new TensorFunctionNode(new Softmax(TensorFunctionNode.wrap(tensor), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:726:1
    final public TensorFunctionNode tensorXwPlusB() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorXwPlusB";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:726:1
        tensorXwPlusB thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorXwPlusB();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor1, tensor2, tensor3;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorXwPlusB();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:5
            consumeToken(XW_PLUS_B, false, follow_set$RankingExpressionParser_ccc$732$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:17
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$732$17);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:26
            pushOntoCallStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 732, 26);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$732$26;
            try {
                tensor1 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:49
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$732$49);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:733:26
            pushOntoCallStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 733, 26);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$733$26;
            try {
                tensor2 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:733:49
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$733$49);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:734:26
            pushOntoCallStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 734, 26);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$734$26;
            try {
                tensor3 = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:734:49
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$734$49);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:735:26
            pushOntoCallStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 735, 26);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$735$26;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:735:54
            EnumSet followSet49 = null;
            if (outerFollowSet != null) {
                followSet49 = follow_set$RankingExpressionParser_ccc$735$54.clone();
                followSet49.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet49);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:736:5
            thisProduction.expressionNode = new TensorFunctionNode(new XwPlusB(TensorFunctionNode.wrap(tensor1), TensorFunctionNode.wrap(tensor2), TensorFunctionNode.wrap(tensor3), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:745:1
    final public TensorFunctionNode tensorExpand() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorExpand";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:745:1
        tensorExpand thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorExpand();
            openNodeScope(thisProduction);
        }
        ExpressionNode argument;
        String dimension;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorExpand();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:5
            consumeToken(EXPAND, false, follow_set$RankingExpressionParser_ccc$751$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:14
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$751$14);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:23
            pushOntoCallStack("tensorExpand", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 751, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$751$23;
            try {
                argument = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:47
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$751$47);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:55
            pushOntoCallStack("tensorExpand", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 751, 55);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$751$55;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:83
            EnumSet followSet33 = null;
            if (outerFollowSet != null) {
                followSet33 = follow_set$RankingExpressionParser_ccc$751$83.clone();
                followSet33.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet33);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:752:5
            thisProduction.expressionNode = new TensorFunctionNode(new Expand(TensorFunctionNode.wrap(argument), dimension));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:758:1
    final public TensorFunctionNode tensorArgmax() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorArgmax";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:758:1
        tensorArgmax thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorArgmax();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        List dimensions = null;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorArgmax();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:5
            consumeToken(ARGMAX, false, follow_set$RankingExpressionParser_ccc$764$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:14
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$764$14);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:23
            pushOntoCallStack("tensorArgmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 764, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$764$23;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:45
            pushOntoCallStack("tensorArgmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 764, 45);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$764$45;
            try {
                dimensions = tagCommaLeadingList();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:80
            EnumSet followSet29 = null;
            if (outerFollowSet != null) {
                followSet29 = follow_set$RankingExpressionParser_ccc$764$80.clone();
                followSet29.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet29);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:765:5
            thisProduction.expressionNode = new TensorFunctionNode(new Argmax(TensorFunctionNode.wrap(tensor), dimensions));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:771:1
    final public TensorFunctionNode tensorArgmin() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorArgmin";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:771:1
        tensorArgmin thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorArgmin();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        List dimensions = null;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorArgmin();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:5
            consumeToken(ARGMIN, false, follow_set$RankingExpressionParser_ccc$777$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:14
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$777$14);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:23
            pushOntoCallStack("tensorArgmin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 777, 23);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$777$23;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:45
            pushOntoCallStack("tensorArgmin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 777, 45);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$777$45;
            try {
                dimensions = tagCommaLeadingList();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:80
            EnumSet followSet29 = null;
            if (outerFollowSet != null) {
                followSet29 = follow_set$RankingExpressionParser_ccc$777$80.clone();
                followSet29.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet29);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:778:5
            thisProduction.expressionNode = new TensorFunctionNode(new Argmin(TensorFunctionNode.wrap(tensor), dimensions));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:784:1
    final public TensorFunctionNode tensorCellCast() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorCellCast";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:784:1
        tensorCellCast thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorCellCast();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        String valueType;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorCellCast();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:5
            consumeToken(CELL_CAST, false, follow_set$RankingExpressionParser_ccc$790$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:17
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$790$17);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:26
            pushOntoCallStack("tensorCellCast", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 790, 26);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$790$26;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:48
            consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$790$48);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:56
            pushOntoCallStack("tensorCellCast", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 790, 56);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$790$56;
            try {
                valueType = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:84
            EnumSet followSet33 = null;
            if (outerFollowSet != null) {
                followSet33 = follow_set$RankingExpressionParser_ccc$790$84.clone();
                followSet33.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet33);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:791:5
            thisProduction.expressionNode = new TensorFunctionNode(new CellCast(TensorFunctionNode.wrap(tensor), TensorType.Value.fromId(valueType)));
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:797:1
    final public ExpressionNode tensorMacro() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorMacro";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:797:1
        tensorMacro thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorMacro();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensorExpression;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorMacro();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:803:9
            pushOntoCallStack("tensorMacro", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 803, 9);
            try {
                tensorExpression = tensorUnpackBits();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:805:5
            thisProduction.expressionNode = tensorExpression;
            return tensorExpression;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:811:1
    final public ExpressionNode tensorUnpackBits() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorUnpackBits";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:811:1
        tensorUnpackBits thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorUnpackBits();
            openNodeScope(thisProduction);
        }
        ExpressionNode tensor;
        String targetCellType = "float";
        String endianNess = "big";
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorUnpackBits();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:5
            consumeToken(UNPACK_BITS, false, follow_set$RankingExpressionParser_ccc$818$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:19
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$818$19);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:28
            pushOntoCallStack("tensorUnpackBits", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 818, 28);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$818$28;
            try {
                tensor = expression();
            } finally {
                popCallStack();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:50
            if (nextTokenType() == COMMA) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:7
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$819$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:15
                pushOntoCallStack("tensorUnpackBits", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 819, 15);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$819$15;
                try {
                    targetCellType = identifierStr();
                } finally {
                    popCallStack();
                }
                // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:48
                if (nextTokenType() == COMMA) {
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:9
                    consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$820$9);
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:17
                    pushOntoCallStack("tensorUnpackBits", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 820, 17);
                    outerFollowSet = follow_set$RankingExpressionParser_ccc$820$17;
                    try {
                        endianNess = identifierStr();
                    } finally {
                        popCallStack();
                    }
                }
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:52
            EnumSet followSet57 = null;
            if (outerFollowSet != null) {
                followSet57 = follow_set$RankingExpressionParser_ccc$820$52.clone();
                followSet57.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet57);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:821:5
            thisProduction.expressionNode = new UnpackBitsNode(tensor, TensorType.Value.fromId(targetCellType), endianNess);
            return thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:827:1
    final public LambdaFunctionNode lambdaFunction() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "lambdaFunction";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:827:1
        lambdaFunction thisProduction = null;
        if (buildTree) {
            thisProduction = new lambdaFunction();
            openNodeScope(thisProduction);
        }
        List variables;
        ExpressionNode functionExpression;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$lambdaFunction();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:8
            consumeToken(F, false, follow_set$RankingExpressionParser_ccc$833$8);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:12
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$833$12);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:21
            pushOntoCallStack("lambdaFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 833, 21);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$833$21;
            try {
                variables = identifierList();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:50
            consumeToken(RBRACE, false, follow_set$RankingExpressionParser_ccc$833$50);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:59
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$833$59);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:68
            pushOntoCallStack("lambdaFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 833, 68);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$833$68;
            try {
                functionExpression = expression();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:102
            EnumSet followSet44 = null;
            if (outerFollowSet != null) {
                followSet44 = follow_set$RankingExpressionParser_ccc$833$102.clone();
                followSet44.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet44);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:834:6
            thisProduction.expressionNode = new LambdaFunctionNode(variables, functionExpression);
            return (LambdaFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:840:1
    final public Reduce.Aggregator tensorReduceAggregator() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorReduceAggregator";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:840:1
        tensorReduceAggregator thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorReduceAggregator();
            openNodeScope(thisProduction);
        }
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorReduceAggregator();
            }
            if (nextTokenType() == AVG) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:844:7
                EnumSet followSet24 = null;
                if (outerFollowSet != null) {
                    followSet24 = follow_set$RankingExpressionParser_ccc$844$7.clone();
                    followSet24.addAll(outerFollowSet);
                }
                consumeToken(AVG, false, followSet24);
            } else if (nextTokenType() == COUNT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:844:15
                EnumSet followSet33 = null;
                if (outerFollowSet != null) {
                    followSet33 = follow_set$RankingExpressionParser_ccc$844$15.clone();
                    followSet33.addAll(outerFollowSet);
                }
                consumeToken(COUNT, false, followSet33);
            } else if (nextTokenType() == MAX) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:844:25
                EnumSet followSet42 = null;
                if (outerFollowSet != null) {
                    followSet42 = follow_set$RankingExpressionParser_ccc$844$25.clone();
                    followSet42.addAll(outerFollowSet);
                }
                consumeToken(MAX, false, followSet42);
            } else if (nextTokenType() == MEDIAN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:844:33
                EnumSet followSet51 = null;
                if (outerFollowSet != null) {
                    followSet51 = follow_set$RankingExpressionParser_ccc$844$33.clone();
                    followSet51.addAll(outerFollowSet);
                }
                consumeToken(MEDIAN, false, followSet51);
            } else if (nextTokenType() == MIN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:844:44
                EnumSet followSet60 = null;
                if (outerFollowSet != null) {
                    followSet60 = follow_set$RankingExpressionParser_ccc$844$44.clone();
                    followSet60.addAll(outerFollowSet);
                }
                consumeToken(MIN, false, followSet60);
            } else if (nextTokenType() == PROD) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:844:52
                EnumSet followSet69 = null;
                if (outerFollowSet != null) {
                    followSet69 = follow_set$RankingExpressionParser_ccc$844$52.clone();
                    followSet69.addAll(outerFollowSet);
                }
                consumeToken(PROD, false, followSet69);
            } else if (nextTokenType() == SUM) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:844:61
                EnumSet followSet78 = null;
                if (outerFollowSet != null) {
                    followSet78 = follow_set$RankingExpressionParser_ccc$844$61.clone();
                    followSet78.addAll(outerFollowSet);
                }
                consumeToken(SUM, false, followSet78);
            } else {
                pushOntoCallStack("tensorReduceAggregator", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 844, 7);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$844$7$, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:845:5
            return Reduce.Aggregator.valueOf(lastConsumedToken.toString());
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:850:1
    final public TensorType tensorType(List dimensionOrder) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorType";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:850:1
        tensorType thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorType();
            openNodeScope(thisProduction);
        }
        TensorType.Builder builder;
        TensorType.Value valueType;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorType();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:856:5
            pushOntoCallStack("tensorType", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 856, 5);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$856$5;
            try {
                valueType = optionalTensorValueTypeParameter();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:857:5
            builder = new TensorType.Builder(valueType);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:858:5
            consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$858$5);
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:859:5
            if (first_set$RankingExpressionParser_ccc$859$7.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:859:7
                pushOntoCallStack("tensorType", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 859, 7);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$859$7$;
                try {
                    tensorTypeDimension(builder, dimensionOrder);
                } finally {
                    popCallStack();
                }
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:5
            while (true) {
                if (!(nextTokenType() == COMMA)) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:7
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$860$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:15
                pushOntoCallStack("tensorType", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 860, 15);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$860$15;
                try {
                    tensorTypeDimension(builder, dimensionOrder);
                } finally {
                    popCallStack();
                }
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:861:5
            EnumSet followSet51 = null;
            if (outerFollowSet != null) {
                followSet51 = follow_set$RankingExpressionParser_ccc$861$5.clone();
                followSet51.addAll(outerFollowSet);
            }
            consumeToken(RBRACE, false, followSet51);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:862:5
            return builder.build();
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:867:1
    final public TensorType.Value optionalTensorValueTypeParameter() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "optionalTensorValueTypeParameter";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:867:1
        optionalTensorValueTypeParameter thisProduction = null;
        if (buildTree) {
            thisProduction = new optionalTensorValueTypeParameter();
            openNodeScope(thisProduction);
        }
        String valueType = "double";
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:5
            if (nextTokenType() == LESS) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:7
                consumeToken(LESS, false, follow_set$RankingExpressionParser_ccc$872$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:14
                pushOntoCallStack("optionalTensorValueTypeParameter", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 872, 14);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$872$14;
                try {
                    valueType = identifierStr();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:42
                EnumSet followSet29 = null;
                if (outerFollowSet != null) {
                    followSet29 = follow_set$RankingExpressionParser_ccc$872$42.clone();
                    followSet29.addAll(outerFollowSet);
                }
                consumeToken(GREATER, false, followSet29);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:873:5
            return TensorType.Value.fromId(valueType);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:876:1
    final public void tensorTypeDimension(TensorType.Builder builder, List dimensionOrder) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorTypeDimension";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:876:1
        tensorTypeDimension thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorTypeDimension();
            openNodeScope(thisProduction);
        }
        String name;
        int size;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorTypeDimension();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:882:5
            pushOntoCallStack("tensorTypeDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 882, 5);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$882$5;
            try {
                name = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:883:5
            // Keep track of the order in which dimensions are written, if necessary
            if (dimensionOrder != null) dimensionOrder.add(name);
            if (nextTokenType() == LCURLY) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:9
                consumeToken(LCURLY, false, follow_set$RankingExpressionParser_ccc$888$9);
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:18
                EnumSet followSet41 = null;
                if (outerFollowSet != null) {
                    followSet41 = follow_set$RankingExpressionParser_ccc$888$18.clone();
                    followSet41.addAll(outerFollowSet);
                }
                consumeToken(RCURLY, false, followSet41);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:27
                builder.mapped(name);
            } else if (scan$RankingExpressionParser_ccc$889$7()) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:16
                consumeToken(LSQUARE, false, follow_set$RankingExpressionParser_ccc$889$16);
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:26
                EnumSet followSet63 = null;
                if (outerFollowSet != null) {
                    followSet63 = follow_set$RankingExpressionParser_ccc$889$26.clone();
                    followSet63.addAll(outerFollowSet);
                }
                consumeToken(RSQUARE, false, followSet63);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:36
                builder.indexed(name);
            } else if (nextTokenType() == LSQUARE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:9
                consumeToken(LSQUARE, false, follow_set$RankingExpressionParser_ccc$890$9);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:19
                pushOntoCallStack("tensorTypeDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 890, 19);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$890$19;
                try {
                    size = integerNumber();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:42
                EnumSet followSet89 = null;
                if (outerFollowSet != null) {
                    followSet89 = follow_set$RankingExpressionParser_ccc$890$42.clone();
                    followSet89.addAll(outerFollowSet);
                }
                consumeToken(RSQUARE, false, followSet89);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:52
                builder.indexed(name, size);
            } else {
                pushOntoCallStack("tensorTypeDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 888, 7);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$888$7, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet tensorFunctionName_FIRST_SET = tensorFunctionName_FIRST_SET_init();

    private static EnumSet tensorFunctionName_FIRST_SET_init() {
        return tokenTypeSet(F, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:895:1
    final public String tensorFunctionName() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorFunctionName";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:895:1
        tensorFunctionName thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorFunctionName();
            openNodeScope(thisProduction);
        }
        Reduce.Aggregator aggregator;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:900:5
            if (pendingRecovery) {
                recover$tensorFunctionName();
            }
            if (nextTokenType() == F) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:900:7
                EnumSet followSet24 = null;
                if (outerFollowSet != null) {
                    followSet24 = follow_set$RankingExpressionParser_ccc$900$7.clone();
                    followSet24.addAll(outerFollowSet);
                }
                consumeToken(F, false, followSet24);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:900:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == MAP) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:901:7
                EnumSet followSet42 = null;
                if (outerFollowSet != null) {
                    followSet42 = follow_set$RankingExpressionParser_ccc$901$7.clone();
                    followSet42.addAll(outerFollowSet);
                }
                consumeToken(MAP, false, followSet42);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:901:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == REDUCE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:902:7
                EnumSet followSet60 = null;
                if (outerFollowSet != null) {
                    followSet60 = follow_set$RankingExpressionParser_ccc$902$7.clone();
                    followSet60.addAll(outerFollowSet);
                }
                consumeToken(REDUCE, false, followSet60);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:902:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == JOIN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:903:7
                EnumSet followSet78 = null;
                if (outerFollowSet != null) {
                    followSet78 = follow_set$RankingExpressionParser_ccc$903$7.clone();
                    followSet78.addAll(outerFollowSet);
                }
                consumeToken(JOIN, false, followSet78);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:903:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == MERGE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:904:7
                EnumSet followSet96 = null;
                if (outerFollowSet != null) {
                    followSet96 = follow_set$RankingExpressionParser_ccc$904$7.clone();
                    followSet96.addAll(outerFollowSet);
                }
                consumeToken(MERGE, false, followSet96);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:904:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == RENAME) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:905:7
                EnumSet followSet114 = null;
                if (outerFollowSet != null) {
                    followSet114 = follow_set$RankingExpressionParser_ccc$905$7.clone();
                    followSet114.addAll(outerFollowSet);
                }
                consumeToken(RENAME, false, followSet114);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:905:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == CONCAT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:906:7
                EnumSet followSet132 = null;
                if (outerFollowSet != null) {
                    followSet132 = follow_set$RankingExpressionParser_ccc$906$7.clone();
                    followSet132.addAll(outerFollowSet);
                }
                consumeToken(CONCAT, false, followSet132);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:906:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == TENSOR) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:907:7
                EnumSet followSet150 = null;
                if (outerFollowSet != null) {
                    followSet150 = follow_set$RankingExpressionParser_ccc$907$7.clone();
                    followSet150.addAll(outerFollowSet);
                }
                consumeToken(TENSOR, false, followSet150);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:907:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == RANGE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:908:7
                EnumSet followSet168 = null;
                if (outerFollowSet != null) {
                    followSet168 = follow_set$RankingExpressionParser_ccc$908$7.clone();
                    followSet168.addAll(outerFollowSet);
                }
                consumeToken(RANGE, false, followSet168);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:908:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == DIAG) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:909:7
                EnumSet followSet186 = null;
                if (outerFollowSet != null) {
                    followSet186 = follow_set$RankingExpressionParser_ccc$909$7.clone();
                    followSet186.addAll(outerFollowSet);
                }
                consumeToken(DIAG, false, followSet186);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:909:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == RANDOM) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:910:7
                EnumSet followSet204 = null;
                if (outerFollowSet != null) {
                    followSet204 = follow_set$RankingExpressionParser_ccc$910$7.clone();
                    followSet204.addAll(outerFollowSet);
                }
                consumeToken(RANDOM, false, followSet204);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:910:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == L1_NORMALIZE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:911:7
                EnumSet followSet222 = null;
                if (outerFollowSet != null) {
                    followSet222 = follow_set$RankingExpressionParser_ccc$911$7.clone();
                    followSet222.addAll(outerFollowSet);
                }
                consumeToken(L1_NORMALIZE, false, followSet222);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:911:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == L2_NORMALIZE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:912:7
                EnumSet followSet240 = null;
                if (outerFollowSet != null) {
                    followSet240 = follow_set$RankingExpressionParser_ccc$912$7.clone();
                    followSet240.addAll(outerFollowSet);
                }
                consumeToken(L2_NORMALIZE, false, followSet240);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:912:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == EUCLIDEAN_DISTANCE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:913:7
                EnumSet followSet258 = null;
                if (outerFollowSet != null) {
                    followSet258 = follow_set$RankingExpressionParser_ccc$913$7.clone();
                    followSet258.addAll(outerFollowSet);
                }
                consumeToken(EUCLIDEAN_DISTANCE, false, followSet258);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:913:28
                return lastConsumedToken.toString();
            } else if (nextTokenType() == COSINE_SIMILARITY) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:914:7
                EnumSet followSet276 = null;
                if (outerFollowSet != null) {
                    followSet276 = follow_set$RankingExpressionParser_ccc$914$7.clone();
                    followSet276.addAll(outerFollowSet);
                }
                consumeToken(COSINE_SIMILARITY, false, followSet276);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:914:27
                return lastConsumedToken.toString();
            } else if (nextTokenType() == MATMUL) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:915:7
                EnumSet followSet294 = null;
                if (outerFollowSet != null) {
                    followSet294 = follow_set$RankingExpressionParser_ccc$915$7.clone();
                    followSet294.addAll(outerFollowSet);
                }
                consumeToken(MATMUL, false, followSet294);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:915:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == SOFTMAX) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:916:7
                EnumSet followSet312 = null;
                if (outerFollowSet != null) {
                    followSet312 = follow_set$RankingExpressionParser_ccc$916$7.clone();
                    followSet312.addAll(outerFollowSet);
                }
                consumeToken(SOFTMAX, false, followSet312);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:916:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == XW_PLUS_B) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:917:7
                EnumSet followSet330 = null;
                if (outerFollowSet != null) {
                    followSet330 = follow_set$RankingExpressionParser_ccc$917$7.clone();
                    followSet330.addAll(outerFollowSet);
                }
                consumeToken(XW_PLUS_B, false, followSet330);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:917:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == ARGMAX) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:918:7
                EnumSet followSet348 = null;
                if (outerFollowSet != null) {
                    followSet348 = follow_set$RankingExpressionParser_ccc$918$7.clone();
                    followSet348.addAll(outerFollowSet);
                }
                consumeToken(ARGMAX, false, followSet348);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:918:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == ARGMIN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:919:7
                EnumSet followSet366 = null;
                if (outerFollowSet != null) {
                    followSet366 = follow_set$RankingExpressionParser_ccc$919$7.clone();
                    followSet366.addAll(outerFollowSet);
                }
                consumeToken(ARGMIN, false, followSet366);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:919:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == CELL_CAST) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:920:7
                EnumSet followSet384 = null;
                if (outerFollowSet != null) {
                    followSet384 = follow_set$RankingExpressionParser_ccc$920$7.clone();
                    followSet384.addAll(outerFollowSet);
                }
                consumeToken(CELL_CAST, false, followSet384);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:920:22
                return lastConsumedToken.toString();
            } else if (nextTokenType() == EXPAND) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:921:7
                EnumSet followSet402 = null;
                if (outerFollowSet != null) {
                    followSet402 = follow_set$RankingExpressionParser_ccc$921$7.clone();
                    followSet402.addAll(outerFollowSet);
                }
                consumeToken(EXPAND, false, followSet402);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:921:22
                return lastConsumedToken.toString();
            } else if (first_set$RankingExpressionParser_ccc$922$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:922:7
                pushOntoCallStack("tensorFunctionName", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 922, 7);
                try {
                    aggregator = tensorReduceAggregator();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:922:45
                return aggregator.toString();
            } else {
                pushOntoCallStack("tensorFunctionName", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 900, 5);
                throw new ParseException(lastConsumedToken, tensorFunctionName_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet unaryFunctionName_FIRST_SET = unaryFunctionName_FIRST_SET_init();

    private static EnumSet unaryFunctionName_FIRST_SET_init() {
        return tokenTypeSet(ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:925:1
    final public Function unaryFunctionName() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "unaryFunctionName";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:925:1
        unaryFunctionName thisProduction = null;
        if (buildTree) {
            thisProduction = new unaryFunctionName();
            openNodeScope(thisProduction);
        }
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:927:5
            if (pendingRecovery) {
                recover$unaryFunctionName();
            }
            if (nextTokenType() == ABS) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:927:5
                EnumSet followSet17 = null;
                if (outerFollowSet != null) {
                    followSet17 = follow_set$RankingExpressionParser_ccc$927$5.clone();
                    followSet17.addAll(outerFollowSet);
                }
                consumeToken(ABS, false, followSet17);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:927:15
                return Function.abs;
            } else if (nextTokenType() == ACOS) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:928:5
                EnumSet followSet28 = null;
                if (outerFollowSet != null) {
                    followSet28 = follow_set$RankingExpressionParser_ccc$928$5.clone();
                    followSet28.addAll(outerFollowSet);
                }
                consumeToken(ACOS, false, followSet28);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:928:15
                return Function.acos;
            } else if (nextTokenType() == ASIN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:929:5
                EnumSet followSet39 = null;
                if (outerFollowSet != null) {
                    followSet39 = follow_set$RankingExpressionParser_ccc$929$5.clone();
                    followSet39.addAll(outerFollowSet);
                }
                consumeToken(ASIN, false, followSet39);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:929:15
                return Function.asin;
            } else if (nextTokenType() == ATAN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:930:5
                EnumSet followSet50 = null;
                if (outerFollowSet != null) {
                    followSet50 = follow_set$RankingExpressionParser_ccc$930$5.clone();
                    followSet50.addAll(outerFollowSet);
                }
                consumeToken(ATAN, false, followSet50);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:930:15
                return Function.atan;
            } else if (nextTokenType() == CEIL) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:931:5
                EnumSet followSet61 = null;
                if (outerFollowSet != null) {
                    followSet61 = follow_set$RankingExpressionParser_ccc$931$5.clone();
                    followSet61.addAll(outerFollowSet);
                }
                consumeToken(CEIL, false, followSet61);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:931:15
                return Function.ceil;
            } else if (nextTokenType() == COS) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:932:5
                EnumSet followSet72 = null;
                if (outerFollowSet != null) {
                    followSet72 = follow_set$RankingExpressionParser_ccc$932$5.clone();
                    followSet72.addAll(outerFollowSet);
                }
                consumeToken(COS, false, followSet72);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:932:15
                return Function.cos;
            } else if (nextTokenType() == COSH) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:933:5
                EnumSet followSet83 = null;
                if (outerFollowSet != null) {
                    followSet83 = follow_set$RankingExpressionParser_ccc$933$5.clone();
                    followSet83.addAll(outerFollowSet);
                }
                consumeToken(COSH, false, followSet83);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:933:15
                return Function.cosh;
            } else if (nextTokenType() == ELU) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:934:5
                EnumSet followSet94 = null;
                if (outerFollowSet != null) {
                    followSet94 = follow_set$RankingExpressionParser_ccc$934$5.clone();
                    followSet94.addAll(outerFollowSet);
                }
                consumeToken(ELU, false, followSet94);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:934:15
                return Function.elu;
            } else if (nextTokenType() == EXP) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:935:5
                EnumSet followSet105 = null;
                if (outerFollowSet != null) {
                    followSet105 = follow_set$RankingExpressionParser_ccc$935$5.clone();
                    followSet105.addAll(outerFollowSet);
                }
                consumeToken(EXP, false, followSet105);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:935:15
                return Function.exp;
            } else if (nextTokenType() == FABS) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:936:5
                EnumSet followSet116 = null;
                if (outerFollowSet != null) {
                    followSet116 = follow_set$RankingExpressionParser_ccc$936$5.clone();
                    followSet116.addAll(outerFollowSet);
                }
                consumeToken(FABS, false, followSet116);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:936:15
                return Function.fabs;
            } else if (nextTokenType() == FLOOR) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:937:5
                EnumSet followSet127 = null;
                if (outerFollowSet != null) {
                    followSet127 = follow_set$RankingExpressionParser_ccc$937$5.clone();
                    followSet127.addAll(outerFollowSet);
                }
                consumeToken(FLOOR, false, followSet127);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:937:15
                return Function.floor;
            } else if (nextTokenType() == ISNAN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:938:5
                EnumSet followSet138 = null;
                if (outerFollowSet != null) {
                    followSet138 = follow_set$RankingExpressionParser_ccc$938$5.clone();
                    followSet138.addAll(outerFollowSet);
                }
                consumeToken(ISNAN, false, followSet138);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:938:15
                return Function.isNan;
            } else if (nextTokenType() == LOG) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:939:5
                EnumSet followSet149 = null;
                if (outerFollowSet != null) {
                    followSet149 = follow_set$RankingExpressionParser_ccc$939$5.clone();
                    followSet149.addAll(outerFollowSet);
                }
                consumeToken(LOG, false, followSet149);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:939:15
                return Function.log;
            } else if (nextTokenType() == LOG10) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:940:5
                EnumSet followSet160 = null;
                if (outerFollowSet != null) {
                    followSet160 = follow_set$RankingExpressionParser_ccc$940$5.clone();
                    followSet160.addAll(outerFollowSet);
                }
                consumeToken(LOG10, false, followSet160);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:940:15
                return Function.log10;
            } else if (nextTokenType() == RELU) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:941:5
                EnumSet followSet171 = null;
                if (outerFollowSet != null) {
                    followSet171 = follow_set$RankingExpressionParser_ccc$941$5.clone();
                    followSet171.addAll(outerFollowSet);
                }
                consumeToken(RELU, false, followSet171);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:941:15
                return Function.relu;
            } else if (nextTokenType() == ROUND) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:942:5
                EnumSet followSet182 = null;
                if (outerFollowSet != null) {
                    followSet182 = follow_set$RankingExpressionParser_ccc$942$5.clone();
                    followSet182.addAll(outerFollowSet);
                }
                consumeToken(ROUND, false, followSet182);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:942:15
                return Function.round;
            } else if (nextTokenType() == SIGMOID) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:943:5
                EnumSet followSet193 = null;
                if (outerFollowSet != null) {
                    followSet193 = follow_set$RankingExpressionParser_ccc$943$5.clone();
                    followSet193.addAll(outerFollowSet);
                }
                consumeToken(SIGMOID, false, followSet193);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:943:15
                return Function.sigmoid;
            } else if (nextTokenType() == SIGN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:944:5
                EnumSet followSet204 = null;
                if (outerFollowSet != null) {
                    followSet204 = follow_set$RankingExpressionParser_ccc$944$5.clone();
                    followSet204.addAll(outerFollowSet);
                }
                consumeToken(SIGN, false, followSet204);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:944:15
                return Function.sign;
            } else if (nextTokenType() == SIN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:945:5
                EnumSet followSet215 = null;
                if (outerFollowSet != null) {
                    followSet215 = follow_set$RankingExpressionParser_ccc$945$5.clone();
                    followSet215.addAll(outerFollowSet);
                }
                consumeToken(SIN, false, followSet215);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:945:15
                return Function.sin;
            } else if (nextTokenType() == SINH) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:946:5
                EnumSet followSet226 = null;
                if (outerFollowSet != null) {
                    followSet226 = follow_set$RankingExpressionParser_ccc$946$5.clone();
                    followSet226.addAll(outerFollowSet);
                }
                consumeToken(SINH, false, followSet226);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:946:15
                return Function.sinh;
            } else if (nextTokenType() == SQUARE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:947:5
                EnumSet followSet237 = null;
                if (outerFollowSet != null) {
                    followSet237 = follow_set$RankingExpressionParser_ccc$947$5.clone();
                    followSet237.addAll(outerFollowSet);
                }
                consumeToken(SQUARE, false, followSet237);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:947:15
                return Function.square;
            } else if (nextTokenType() == SQRT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:948:5
                EnumSet followSet248 = null;
                if (outerFollowSet != null) {
                    followSet248 = follow_set$RankingExpressionParser_ccc$948$5.clone();
                    followSet248.addAll(outerFollowSet);
                }
                consumeToken(SQRT, false, followSet248);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:948:15
                return Function.sqrt;
            } else if (nextTokenType() == TAN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:949:5
                EnumSet followSet259 = null;
                if (outerFollowSet != null) {
                    followSet259 = follow_set$RankingExpressionParser_ccc$949$5.clone();
                    followSet259.addAll(outerFollowSet);
                }
                consumeToken(TAN, false, followSet259);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:949:15
                return Function.tan;
            } else if (nextTokenType() == TANH) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:950:5
                EnumSet followSet270 = null;
                if (outerFollowSet != null) {
                    followSet270 = follow_set$RankingExpressionParser_ccc$950$5.clone();
                    followSet270.addAll(outerFollowSet);
                }
                consumeToken(TANH, false, followSet270);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:950:15
                return Function.tanh;
            } else if (nextTokenType() == ERF) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:951:5
                EnumSet followSet281 = null;
                if (outerFollowSet != null) {
                    followSet281 = follow_set$RankingExpressionParser_ccc$951$5.clone();
                    followSet281.addAll(outerFollowSet);
                }
                consumeToken(ERF, false, followSet281);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:951:15
                return Function.erf;
            } else {
                pushOntoCallStack("unaryFunctionName", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 927, 5);
                throw new ParseException(lastConsumedToken, unaryFunctionName_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet binaryFunctionName_FIRST_SET = binaryFunctionName_FIRST_SET_init();

    private static EnumSet binaryFunctionName_FIRST_SET_init() {
        return tokenTypeSet(ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAX, MIN);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:954:1
    final public Function binaryFunctionName() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "binaryFunctionName";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:954:1
        binaryFunctionName thisProduction = null;
        if (buildTree) {
            thisProduction = new binaryFunctionName();
            openNodeScope(thisProduction);
        }
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:956:5
            if (pendingRecovery) {
                recover$binaryFunctionName();
            }
            if (nextTokenType() == ATAN2) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:956:5
                EnumSet followSet17 = null;
                if (outerFollowSet != null) {
                    followSet17 = follow_set$RankingExpressionParser_ccc$956$5.clone();
                    followSet17.addAll(outerFollowSet);
                }
                consumeToken(ATAN2, false, followSet17);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:956:13
                return Function.atan2;
            } else if (nextTokenType() == FMOD) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:957:5
                EnumSet followSet28 = null;
                if (outerFollowSet != null) {
                    followSet28 = follow_set$RankingExpressionParser_ccc$957$5.clone();
                    followSet28.addAll(outerFollowSet);
                }
                consumeToken(FMOD, false, followSet28);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:957:13
                return Function.fmod;
            } else if (nextTokenType() == LDEXP) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:958:5
                EnumSet followSet39 = null;
                if (outerFollowSet != null) {
                    followSet39 = follow_set$RankingExpressionParser_ccc$958$5.clone();
                    followSet39.addAll(outerFollowSet);
                }
                consumeToken(LDEXP, false, followSet39);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:958:13
                return Function.ldexp;
            } else if (nextTokenType() == MAX) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:959:5
                EnumSet followSet50 = null;
                if (outerFollowSet != null) {
                    followSet50 = follow_set$RankingExpressionParser_ccc$959$5.clone();
                    followSet50.addAll(outerFollowSet);
                }
                consumeToken(MAX, false, followSet50);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:959:13
                return Function.max;
            } else if (nextTokenType() == MIN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:960:5
                EnumSet followSet61 = null;
                if (outerFollowSet != null) {
                    followSet61 = follow_set$RankingExpressionParser_ccc$960$5.clone();
                    followSet61.addAll(outerFollowSet);
                }
                consumeToken(MIN, false, followSet61);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:960:13
                return Function.min;
            } else if (nextTokenType() == POW) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:961:5
                EnumSet followSet72 = null;
                if (outerFollowSet != null) {
                    followSet72 = follow_set$RankingExpressionParser_ccc$961$5.clone();
                    followSet72.addAll(outerFollowSet);
                }
                consumeToken(POW, false, followSet72);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:961:13
                return Function.pow;
            } else if (nextTokenType() == BIT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:962:5
                EnumSet followSet83 = null;
                if (outerFollowSet != null) {
                    followSet83 = follow_set$RankingExpressionParser_ccc$962$5.clone();
                    followSet83.addAll(outerFollowSet);
                }
                consumeToken(BIT, false, followSet83);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:962:13
                return Function.bit;
            } else if (nextTokenType() == HAMMING) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:963:5
                EnumSet followSet94 = null;
                if (outerFollowSet != null) {
                    followSet94 = follow_set$RankingExpressionParser_ccc$963$5.clone();
                    followSet94.addAll(outerFollowSet);
                }
                consumeToken(HAMMING, false, followSet94);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:963:15
                return Function.hamming;
            } else {
                pushOntoCallStack("binaryFunctionName", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 956, 5);
                throw new ParseException(lastConsumedToken, binaryFunctionName_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:966:1
    final public List expressionList() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "expressionList";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:966:1
        expressionList thisProduction = null;
        if (buildTree) {
            thisProduction = new expressionList();
            openNodeScope(thisProduction);
        }
        List list = new ArrayList();
        ExpressionNode expression;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$expressionList();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:972:5
            consumeToken(LSQUARE, false, follow_set$RankingExpressionParser_ccc$972$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:973:5
            pushOntoCallStack("expressionList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 973, 5);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$973$5;
            try {
                expression = expression();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:973:31
            list.add(expression);
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:5
            while (true) {
                if (!(scan$RankingExpressionParser_ccc$974$7())) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:14
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$974$14);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:22
                pushOntoCallStack("expressionList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 974, 22);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$974$22;
                try {
                    expression = expression();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:48
                list.add(expression);
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:975:5
            EnumSet followSet41 = null;
            if (outerFollowSet != null) {
                followSet41 = follow_set$RankingExpressionParser_ccc$975$5.clone();
                followSet41.addAll(outerFollowSet);
            }
            consumeToken(RSQUARE, false, followSet41);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:976:5
            return list;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:979:1
    final public double doubleNumber() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "doubleNumber";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:979:1
        doubleNumber thisProduction = null;
        if (buildTree) {
            thisProduction = new doubleNumber();
            openNodeScope(thisProduction);
        }
        String sign = "";
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$doubleNumber();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:984:5
            if (nextTokenType() == SUB) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:984:7
                consumeToken(SUB, false, follow_set$RankingExpressionParser_ccc$984$7);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:984:13
                sign = "-";
            }
            if (nextTokenType() == FLOAT) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:984:33
                EnumSet followSet38 = null;
                if (outerFollowSet != null) {
                    followSet38 = follow_set$RankingExpressionParser_ccc$984$33.clone();
                    followSet38.addAll(outerFollowSet);
                }
                consumeToken(FLOAT, false, followSet38);
            } else if (nextTokenType() == INTEGER) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:984:43
                EnumSet followSet47 = null;
                if (outerFollowSet != null) {
                    followSet47 = follow_set$RankingExpressionParser_ccc$984$43.clone();
                    followSet47.addAll(outerFollowSet);
                }
                consumeToken(INTEGER, false, followSet47);
            } else {
                pushOntoCallStack("doubleNumber", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 984, 33);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$984$33$, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:985:5
            return Double.parseDouble(sign + lastConsumedToken.toString());
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:988:1
    final public int integerNumber() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "integerNumber";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:988:1
        integerNumber thisProduction = null;
        if (buildTree) {
            thisProduction = new integerNumber();
            openNodeScope(thisProduction);
        }
        String sign = "";
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$integerNumber();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:993:5
            if (nextTokenType() == SUB) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:993:7
                consumeToken(SUB, false, follow_set$RankingExpressionParser_ccc$993$7);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:993:13
                sign = "-";
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:993:33
            EnumSet followSet34 = null;
            if (outerFollowSet != null) {
                followSet34 = follow_set$RankingExpressionParser_ccc$993$33.clone();
                followSet34.addAll(outerFollowSet);
            }
            consumeToken(INTEGER, false, followSet34);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:994:5
            return Integer.parseInt(sign + lastConsumedToken.toString());
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet identifierStr_FIRST_SET = identifierStr_FIRST_SET_init();

    private static EnumSet identifierStr_FIRST_SET_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:997:1
    final public String identifierStr() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "identifierStr";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:997:1
        identifierStr thisProduction = null;
        if (buildTree) {
            thisProduction = new identifierStr();
            openNodeScope(thisProduction);
        }
        String name;
        Function func;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:5
            if (pendingRecovery) {
                recover$identifierStr();
            }
            if (scan$RankingExpressionParser_ccc$1003$5()) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:12
                pushOntoCallStack("identifierStr", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1003, 12);
                try {
                    name = tensorFunctionName();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:40
                return name;
            } else if (first_set$RankingExpressionParser_ccc$1004$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1004:5
                pushOntoCallStack("identifierStr", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1004, 5);
                try {
                    func = unaryFunctionName();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1004:33
                return func.toString();
            } else if (first_set$RankingExpressionParser_ccc$1005$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1005:5
                pushOntoCallStack("identifierStr", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1005, 5);
                try {
                    func = binaryFunctionName();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1005:33
                return func.toString();
            } else if (nextTokenType() == IF) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1006:5
                EnumSet followSet47 = null;
                if (outerFollowSet != null) {
                    followSet47 = follow_set$RankingExpressionParser_ccc$1006$5.clone();
                    followSet47.addAll(outerFollowSet);
                }
                consumeToken(IF, false, followSet47);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1006:33
                return lastConsumedToken.toString();
            } else if (nextTokenType() == IN) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1007:5
                EnumSet followSet58 = null;
                if (outerFollowSet != null) {
                    followSet58 = follow_set$RankingExpressionParser_ccc$1007$5.clone();
                    followSet58.addAll(outerFollowSet);
                }
                consumeToken(IN, false, followSet58);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1007:33
                return lastConsumedToken.toString();
            } else if (nextTokenType() == IDENTIFIER) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1008:5
                EnumSet followSet69 = null;
                if (outerFollowSet != null) {
                    followSet69 = follow_set$RankingExpressionParser_ccc$1008$5.clone();
                    followSet69.addAll(outerFollowSet);
                }
                consumeToken(IDENTIFIER, false, followSet69);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1008:33
                return lastConsumedToken.toString();
            } else if (nextTokenType() == TRUE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1009:5
                EnumSet followSet80 = null;
                if (outerFollowSet != null) {
                    followSet80 = follow_set$RankingExpressionParser_ccc$1009$5.clone();
                    followSet80.addAll(outerFollowSet);
                }
                consumeToken(TRUE, false, followSet80);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1009:33
                return lastConsumedToken.toString();
            } else if (nextTokenType() == FALSE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1010:5
                EnumSet followSet91 = null;
                if (outerFollowSet != null) {
                    followSet91 = follow_set$RankingExpressionParser_ccc$1010$5.clone();
                    followSet91.addAll(outerFollowSet);
                }
                consumeToken(FALSE, false, followSet91);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1010:33
                return lastConsumedToken.toString();
            } else {
                pushOntoCallStack("identifierStr", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1003, 5);
                throw new ParseException(lastConsumedToken, identifierStr_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1013:1
    final public List identifierList() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "identifierList";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1013:1
        identifierList thisProduction = null;
        if (buildTree) {
            thisProduction = new identifierList();
            openNodeScope(thisProduction);
        }
        List list = new ArrayList();
        String element;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:5
            if (first_set$RankingExpressionParser_ccc$1019$7.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:7
                pushOntoCallStack("identifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1019, 7);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$1019$7$.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    element = identifierStr();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:33
                list.add(element);
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:5
            while (true) {
                if (!(nextTokenType() == COMMA)) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:7
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$1020$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:15
                pushOntoCallStack("identifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1020, 15);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$1020$15.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    element = identifierStr();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:41
                list.add(element);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1021:5
            return list;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet bracedIdentifierList_FIRST_SET = bracedIdentifierList_FIRST_SET_init();

    private static EnumSet bracedIdentifierList_FIRST_SET_init() {
        return tokenTypeSet(LBRACE, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1024:1
    final public List bracedIdentifierList() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "bracedIdentifierList";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1024:1
        bracedIdentifierList thisProduction = null;
        if (buildTree) {
            thisProduction = new bracedIdentifierList();
            openNodeScope(thisProduction);
        }
        List list = new ArrayList();
        String element;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:5
            if (pendingRecovery) {
                recover$bracedIdentifierList();
            }
            if (first_set$RankingExpressionParser_ccc$1030$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:7
                pushOntoCallStack("bracedIdentifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1030, 7);
                try {
                    element = identifierStr();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:33
                return List.of(element);
            } else if (nextTokenType() == LBRACE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:7
                consumeToken(LBRACE, false, follow_set$RankingExpressionParser_ccc$1032$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:16
                pushOntoCallStack("bracedIdentifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1032, 16);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1032$16;
                try {
                    list = identifierList();
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:40
                EnumSet followSet49 = null;
                if (outerFollowSet != null) {
                    followSet49 = follow_set$RankingExpressionParser_ccc$1032$40.clone();
                    followSet49.addAll(outerFollowSet);
                }
                consumeToken(RBRACE, false, followSet49);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:49
                return list;
            } else {
                pushOntoCallStack("bracedIdentifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1030, 5);
                throw new ParseException(lastConsumedToken, bracedIdentifierList_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet tag_FIRST_SET = tag_FIRST_SET_init();

    private static EnumSet tag_FIRST_SET_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, IDENTIFIER);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1036:1
    final public String tag() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tag";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1036:1
        tag thisProduction = null;
        if (buildTree) {
            thisProduction = new tag();
            openNodeScope(thisProduction);
        }
        String name;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:5
            if (pendingRecovery) {
                recover$tag();
            }
            if (first_set$RankingExpressionParser_ccc$1041$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:5
                pushOntoCallStack("tag", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1041, 5);
                try {
                    name = identifierStr();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:28
                return name;
            } else if (nextTokenType() == SUB) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1042:5
                consumeToken(SUB, false, follow_set$RankingExpressionParser_ccc$1042$5);
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1042:11
                EnumSet followSet31 = null;
                if (outerFollowSet != null) {
                    followSet31 = follow_set$RankingExpressionParser_ccc$1042$11.clone();
                    followSet31.addAll(outerFollowSet);
                }
                consumeToken(INTEGER, false, followSet31);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1042:21
                return "-" + lastConsumedToken.toString();
            } else if (nextTokenType() == INTEGER) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1043:5
                EnumSet followSet42 = null;
                if (outerFollowSet != null) {
                    followSet42 = follow_set$RankingExpressionParser_ccc$1043$5.clone();
                    followSet42.addAll(outerFollowSet);
                }
                consumeToken(INTEGER, false, followSet42);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1043:15
                return lastConsumedToken.toString();
            } else {
                pushOntoCallStack("tag", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1041, 5);
                throw new ParseException(lastConsumedToken, tag_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1046:1
    final public List tagCommaLeadingList() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tagCommaLeadingList";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1046:1
        tagCommaLeadingList thisProduction = null;
        if (buildTree) {
            thisProduction = new tagCommaLeadingList();
            openNodeScope(thisProduction);
        }
        List list = new ArrayList();
        String element;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:5
            while (true) {
                if (!(nextTokenType() == COMMA)) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:7
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$1052$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:15
                pushOntoCallStack("tagCommaLeadingList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1052, 15);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$1052$15.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    element = tag();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:31
                list.add(element);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1053:5
            return list;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1056:1
    final public ExpressionNode constantPrimitive(boolean negate) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "constantPrimitive";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1056:1
        constantPrimitive thisProduction = null;
        if (buildTree) {
            thisProduction = new constantPrimitive();
            openNodeScope(thisProduction);
        }
        String value;
        ExpressionNode node;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$constantPrimitive();
            }
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1062:5
            if (nextTokenType() == SUB) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1062:7
                consumeToken(SUB, false, follow_set$RankingExpressionParser_ccc$1062$7);
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1062:13
                negate = !negate;
            }
            if (nextTokenType() == INTEGER || nextTokenType == FLOAT) {
                if (nextTokenType() == INTEGER) {
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1064:9
                    EnumSet followSet49 = null;
                    if (outerFollowSet != null) {
                        followSet49 = follow_set$RankingExpressionParser_ccc$1064$9.clone();
                        followSet49.addAll(outerFollowSet);
                    }
                    consumeToken(INTEGER, false, followSet49);
                    // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1064:19
                    value = lastConsumedToken.toString();
                } else if (nextTokenType() == FLOAT) {
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1065:9
                    EnumSet followSet60 = null;
                    if (outerFollowSet != null) {
                        followSet60 = follow_set$RankingExpressionParser_ccc$1065$9.clone();
                        followSet60.addAll(outerFollowSet);
                    }
                    consumeToken(FLOAT, false, followSet60);
                    // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1065:17
                    value = lastConsumedToken.toString();
                } else {
                    pushOntoCallStack("constantPrimitive", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1064, 9);
                    throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$1064$9$, parsingStack);
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1066:9
                node = new ConstantNode(Value.parse(negate ? ("-" + value) : value));
            } else if (nextTokenType() == TRUE || nextTokenType == FALSE || nextTokenType == STRING) {
                if (nextTokenType() == STRING) {
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1067:9
                    EnumSet followSet84 = null;
                    if (outerFollowSet != null) {
                        followSet84 = follow_set$RankingExpressionParser_ccc$1067$9.clone();
                        followSet84.addAll(outerFollowSet);
                    }
                    consumeToken(STRING, false, followSet84);
                } else if (nextTokenType() == TRUE) {
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1067:20
                    EnumSet followSet93 = null;
                    if (outerFollowSet != null) {
                        followSet93 = follow_set$RankingExpressionParser_ccc$1067$20.clone();
                        followSet93.addAll(outerFollowSet);
                    }
                    consumeToken(TRUE, false, followSet93);
                } else if (nextTokenType() == FALSE) {
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1067:29
                    EnumSet followSet102 = null;
                    if (outerFollowSet != null) {
                        followSet102 = follow_set$RankingExpressionParser_ccc$1067$29.clone();
                        followSet102.addAll(outerFollowSet);
                    }
                    consumeToken(FALSE, false, followSet102);
                } else {
                    pushOntoCallStack("constantPrimitive", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1067, 9);
                    throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$1067$9$, parsingStack);
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1067:39
                node = new ConstantNode(Value.parse(lastConsumedToken.toString()));
                if (negate) node = new NegativeNode(node);
            } else {
                pushOntoCallStack("constantPrimitive", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1064, 7);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$1064$7, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1072:5
            thisProduction.expressionNode = node;
            return node;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1078:1
    final public TensorFunctionNode tensorValueBody(TensorType type, List dimensionOrder) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorValueBody";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1078:1
        tensorValueBody thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorValueBody();
            openNodeScope(thisProduction);
        }
        DynamicTensor dynamicTensor;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorValueBody();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1083:5
            consumeToken(COLON, false, follow_set$RankingExpressionParser_ccc$1083$5);
            if (scan$RankingExpressionParser_ccc$1085$9()) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:16
                pushOntoCallStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1085, 16);
                try {
                    dynamicTensor = mixedTensorValueBody(type, dimensionOrder);
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == LCURLY) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1086:9
                pushOntoCallStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1086, 9);
                try {
                    dynamicTensor = mappedTensorValueBody(type);
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == LSQUARE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1087:9
                pushOntoCallStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1087, 9);
                try {
                    dynamicTensor = indexedTensorValueBody(type, dimensionOrder);
                } finally {
                    popCallStack();
                }
            } else {
                pushOntoCallStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1085, 9);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$1085$9, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1089:5
            thisProduction.expressionNode = new TensorFunctionNode(dynamicTensor);
            return (TensorFunctionNode) thisProduction.expressionNode;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1095:1
    final public DynamicTensor mappedTensorValueBody(TensorType type) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "mappedTensorValueBody";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1095:1
        mappedTensorValueBody thisProduction = null;
        if (buildTree) {
            thisProduction = new mappedTensorValueBody();
            openNodeScope(thisProduction);
        }
        java.util.Map cells = new LinkedHashMap();
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$mappedTensorValueBody();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1100:5
            consumeToken(LCURLY, false, follow_set$RankingExpressionParser_ccc$1100$5);
            // Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1101:9
            if (nextTokenType() == LCURLY) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1101:19
                pushOntoCallStack("mappedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1101, 19);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1101$19;
                try {
                    tensorCell(type, cells);
                } finally {
                    popCallStack();
                }
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:9
            while (true) {
                if (!(nextTokenType() == COMMA)) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:11
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$1102$11);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:19
                pushOntoCallStack("mappedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1102, 19);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1102$19;
                try {
                    tensorCell(type, cells);
                } finally {
                    popCallStack();
                }
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1103:5
            EnumSet followSet45 = null;
            if (outerFollowSet != null) {
                followSet45 = follow_set$RankingExpressionParser_ccc$1103$5.clone();
                followSet45.addAll(outerFollowSet);
            }
            consumeToken(RCURLY, false, followSet45);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1104:5
            return DynamicTensor.from(type, TensorFunctionNode.wrapScalars(cells));
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1107:1
    final public DynamicTensor mixedTensorValueBody(TensorType type, List dimensionOrder) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "mixedTensorValueBody";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1107:1
        mixedTensorValueBody thisProduction = null;
        if (buildTree) {
            thisProduction = new mixedTensorValueBody();
            openNodeScope(thisProduction);
        }
        CellMapHelper cells = new CellMapHelper(type, dimensionOrder);
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$mixedTensorValueBody();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1111:5
            pushOntoCallStack("mixedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1111, 5);
            try {
                mixedValueObject(cells);
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1112:5
            return DynamicTensor.from(type, cells.map());
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1115:1
    final public void mixedValueObject(CellMapHelper cells) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "mixedValueObject";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1115:1
        mixedValueObject thisProduction = null;
        if (buildTree) {
            thisProduction = new mixedValueObject();
            openNodeScope(thisProduction);
        }
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$mixedValueObject();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1116:5
            consumeToken(LCURLY, false, follow_set$RankingExpressionParser_ccc$1116$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1117:9
            pushOntoCallStack("mixedValueObject", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1117, 9);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$1117$9;
            try {
                keyValueOrMixedBlock(cells);
            } finally {
                popCallStack();
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:9
            while (true) {
                if (!(nextTokenType() == COMMA)) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:11
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$1118$11);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:19
                pushOntoCallStack("mixedValueObject", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1118, 19);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1118$19;
                try {
                    keyValueOrMixedBlock(cells);
                } finally {
                    popCallStack();
                }
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1119:5
            EnumSet followSet37 = null;
            if (outerFollowSet != null) {
                followSet37 = follow_set$RankingExpressionParser_ccc$1119$5.clone();
                followSet37.addAll(outerFollowSet);
            }
            consumeToken(RCURLY, false, followSet37);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1122:1
    final public DynamicTensor indexedTensorValueBody(TensorType type, List dimensionOrder) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "indexedTensorValueBody";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1122:1
        indexedTensorValueBody thisProduction = null;
        if (buildTree) {
            thisProduction = new indexedTensorValueBody();
            openNodeScope(thisProduction);
        }
        List cells;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$indexedTensorValueBody();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1126:5
            pushOntoCallStack("indexedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1126, 5);
            try {
                cells = indexedTensorCells();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1127:5
            return DynamicTensor.from(type, TensorFunctionNode.wrapScalars(type, dimensionOrder, cells));
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1130:1
    final public void keyValueOrMixedBlock(CellMapHelper cellMap) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "keyValueOrMixedBlock";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1130:1
        keyValueOrMixedBlock thisProduction = null;
        if (buildTree) {
            thisProduction = new keyValueOrMixedBlock();
            openNodeScope(thisProduction);
        }
        String label;
        CellMapHelper next;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$keyValueOrMixedBlock();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1135:5
            pushOntoCallStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1135, 5);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$1135$5;
            try {
                label = label();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1135:19
            consumeToken(COLON, false, follow_set$RankingExpressionParser_ccc$1135$19);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1135:27
            next = cellMap.bind(label);
            if (first_set$RankingExpressionParser_ccc$1137$9.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:9
                pushOntoCallStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1137, 9);
                try {
                    keyValue(next);
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == LSQUARE) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:26
                pushOntoCallStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1137, 26);
                try {
                    mixedBlock(next);
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == LCURLY) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:45
                pushOntoCallStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1137, 45);
                try {
                    mixedValueObject(next);
                } finally {
                    popCallStack();
                }
            } else {
                pushOntoCallStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1137, 9);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$1137$9$, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1141:1
    final public void keyValue(CellMapHelper cellMap) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "keyValue";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1141:1
        keyValue thisProduction = null;
        if (buildTree) {
            thisProduction = new keyValue();
            openNodeScope(thisProduction);
        }
        ExpressionNode value;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$keyValue();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1145:5
            pushOntoCallStack("keyValue", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1145, 5);
            try {
                value = expression();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1146:5
            cellMap.handleScalar(value);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1149:1
    final public void mixedBlock(CellMapHelper cellMap) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "mixedBlock";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1149:1
        mixedBlock thisProduction = null;
        if (buildTree) {
            thisProduction = new mixedBlock();
            openNodeScope(thisProduction);
        }
        List cells;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$mixedBlock();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1153:5
            pushOntoCallStack("mixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1153, 5);
            try {
                cells = indexedTensorCells();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1154:5
            cellMap.handleDenseSubspace(cells);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1157:1
    final public List indexedTensorCells() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "indexedTensorCells";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1157:1
        indexedTensorCells thisProduction = null;
        if (buildTree) {
            thisProduction = new indexedTensorCells();
            openNodeScope(thisProduction);
        }
        List cells = new ArrayList();
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$indexedTensorCells();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1162:5
            consumeToken(LSQUARE, false, follow_set$RankingExpressionParser_ccc$1162$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1162:15
            pushOntoCallStack("indexedTensorCells", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1162, 15);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$1162$15;
            try {
                indexedTensorCellSubspaceList(cells);
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1162:52
            EnumSet followSet21 = null;
            if (outerFollowSet != null) {
                followSet21 = follow_set$RankingExpressionParser_ccc$1162$52.clone();
                followSet21.addAll(outerFollowSet);
            }
            consumeToken(RSQUARE, false, followSet21);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1163:5
            return cells;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1166:1
    final public void indexedTensorCellSubspaceList(List cells) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "indexedTensorCellSubspaceList";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1166:1
        indexedTensorCellSubspaceList thisProduction = null;
        if (buildTree) {
            thisProduction = new indexedTensorCellSubspaceList();
            openNodeScope(thisProduction);
        }
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$indexedTensorCellSubspaceList();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:5
            pushOntoCallStack("indexedTensorCellSubspaceList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1170, 5);
            if (outerFollowSet != null) {
                EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$1170$5.clone();
                newFollowSet.addAll(outerFollowSet);
                outerFollowSet = newFollowSet;
            }
            try {
                indexedTensorCellSubspace(cells);
            } finally {
                popCallStack();
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:38
            while (true) {
                if (!(scan$RankingExpressionParser_ccc$1170$40())) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:47
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$1170$47);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:55
                pushOntoCallStack("indexedTensorCellSubspaceList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1170, 55);
                if (outerFollowSet != null) {
                    EnumSet newFollowSet = follow_set$RankingExpressionParser_ccc$1170$55.clone();
                    newFollowSet.addAll(outerFollowSet);
                    outerFollowSet = newFollowSet;
                }
                try {
                    indexedTensorCellSubspace(cells);
                } finally {
                    popCallStack();
                }
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private static final EnumSet indexedTensorCellSubspace_FIRST_SET = indexedTensorCellSubspace_FIRST_SET_init();

    private static EnumSet indexedTensorCellSubspace_FIRST_SET_init() {
        return tokenTypeSet(LBRACE, LSQUARE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1173:1
    final public void indexedTensorCellSubspace(List cells) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "indexedTensorCellSubspace";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1173:1
        indexedTensorCellSubspace thisProduction = null;
        if (buildTree) {
            thisProduction = new indexedTensorCellSubspace();
            openNodeScope(thisProduction);
        }
        ExpressionNode value;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            // Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:5
            if (pendingRecovery) {
                recover$indexedTensorCellSubspace();
            }
            if (nextTokenType() == LSQUARE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:7
                consumeToken(LSQUARE, false, follow_set$RankingExpressionParser_ccc$1178$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:17
                pushOntoCallStack("indexedTensorCellSubspace", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1178, 17);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1178$17;
                try {
                    indexedTensorCellSubspaceList(cells);
                } finally {
                    popCallStack();
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:54
                EnumSet followSet32 = null;
                if (outerFollowSet != null) {
                    followSet32 = follow_set$RankingExpressionParser_ccc$1178$54.clone();
                    followSet32.addAll(outerFollowSet);
                }
                consumeToken(RSQUARE, false, followSet32);
            } else if (first_set$RankingExpressionParser_ccc$1180$5.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1180:7
                pushOntoCallStack("indexedTensorCellSubspace", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1180, 7);
                try {
                    value = expression();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1180:28
                cells.add(value);
            } else {
                pushOntoCallStack("indexedTensorCellSubspace", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1178, 5);
                throw new ParseException(lastConsumedToken, indexedTensorCellSubspace_FIRST_SET, parsingStack);
            }
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1183:1
    final public void tensorCell(TensorType type, java.util.Map cells) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "tensorCell";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1183:1
        tensorCell thisProduction = null;
        if (buildTree) {
            thisProduction = new tensorCell();
            openNodeScope(thisProduction);
        }
        ExpressionNode value;
        TensorAddress.Builder addressBuilder = new TensorAddress.Builder(type);
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$tensorCell();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1189:5
            consumeToken(LCURLY, false, follow_set$RankingExpressionParser_ccc$1189$5);
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1190:5
            while (true) {
                if (!(first_set$RankingExpressionParser_ccc$1190$15.contains(nextTokenType()))) break;
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1190:15
                pushOntoCallStack("tensorCell", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1190, 15);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1190$15$;
                try {
                    labelAndDimension(addressBuilder);
                } finally {
                    popCallStack();
                }
            }
            // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:5
            while (true) {
                if (!(nextTokenType() == COMMA)) break;
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:7
                consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$1191$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:15
                pushOntoCallStack("tensorCell", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1191, 15);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1191$15;
                try {
                    labelAndDimension(addressBuilder);
                } finally {
                    popCallStack();
                }
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1192:5
            consumeToken(RCURLY, false, follow_set$RankingExpressionParser_ccc$1192$5);
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1193:5
            consumeToken(COLON, false, follow_set$RankingExpressionParser_ccc$1193$5);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1193:13
            pushOntoCallStack("tensorCell", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1193, 13);
            try {
                value = expression();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1193:34
            cells.put(addressBuilder.build(), value);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1196:1
    final public void labelAndDimension(TensorAddress.Builder addressBuilder) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "labelAndDimension";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1196:1
        labelAndDimension thisProduction = null;
        if (buildTree) {
            thisProduction = new labelAndDimension();
            openNodeScope(thisProduction);
        }
        String dimension, label;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$labelAndDimension();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:5
            pushOntoCallStack("labelAndDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1201, 5);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$1201$5;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:33
            consumeToken(COLON, false, follow_set$RankingExpressionParser_ccc$1201$33);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:41
            pushOntoCallStack("labelAndDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1201, 41);
            try {
                label = label();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1202:5
            addressBuilder.add(dimension, label);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1205:1
    final public void labelAndDimensionValues(List addressValues) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "labelAndDimensionValues";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1205:1
        labelAndDimensionValues thisProduction = null;
        if (buildTree) {
            thisProduction = new labelAndDimensionValues();
            openNodeScope(thisProduction);
        }
        String dimension;
        Slice.DimensionValue dimensionValue;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$labelAndDimensionValues();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:5
            pushOntoCallStack("labelAndDimensionValues", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1211, 5);
            outerFollowSet = follow_set$RankingExpressionParser_ccc$1211$5;
            try {
                dimension = identifierStr();
            } finally {
                popCallStack();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:33
            consumeToken(COLON, false, follow_set$RankingExpressionParser_ccc$1211$33);
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:41
            pushOntoCallStack("labelAndDimensionValues", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1211, 41);
            try {
                dimensionValue = dimensionValue(Optional.of(dimension));
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1212:5
            addressValues.add(dimensionValue);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1216:1
    final public List valueAddress() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "valueAddress";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1216:1
        valueAddress thisProduction = null;
        if (buildTree) {
            thisProduction = new valueAddress();
            openNodeScope(thisProduction);
        }
        List dimensionValues = new ArrayList();
        ExpressionNode valueExpression;
        Slice.DimensionValue dimensionValue;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$valueAddress();
            }
            if (nextTokenType() == LSQUARE) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:7
                consumeToken(LSQUARE, false, follow_set$RankingExpressionParser_ccc$1224$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:19
                pushOntoCallStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1224, 19);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1224$19;
                try {
                    valueExpression = expression();
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:50
                dimensionValues.add(new Slice.DimensionValue(TensorFunctionNode.wrapScalar(valueExpression)));
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:151
                EnumSet followSet48 = null;
                if (outerFollowSet != null) {
                    followSet48 = follow_set$RankingExpressionParser_ccc$1224$151.clone();
                    followSet48.addAll(outerFollowSet);
                }
                consumeToken(RSQUARE, false, followSet48);
            } else if (scan$RankingExpressionParser_ccc$1226$5()) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1226:14
                consumeToken(LCURLY, false, follow_set$RankingExpressionParser_ccc$1226$14);
                // Code for OneOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:7
                while (true) {
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
                    pushOntoCallStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1227, 17);
                    outerFollowSet = follow_set$RankingExpressionParser_ccc$1227$17;
                    try {
                        labelAndDimensionValues(dimensionValues);
                    } finally {
                        popCallStack();
                    }
                    if (!(first_set$RankingExpressionParser_ccc$1227$17$.contains(nextTokenType()))) break;
                }
                // Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:7
                while (true) {
                    if (!(nextTokenType() == COMMA)) break;
                    // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:9
                    consumeToken(COMMA, false, follow_set$RankingExpressionParser_ccc$1228$9);
                    // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:17
                    pushOntoCallStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1228, 17);
                    outerFollowSet = follow_set$RankingExpressionParser_ccc$1228$17;
                    try {
                        labelAndDimensionValues(dimensionValues);
                    } finally {
                        popCallStack();
                    }
                }
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1229:7
                EnumSet followSet96 = null;
                if (outerFollowSet != null) {
                    followSet96 = follow_set$RankingExpressionParser_ccc$1229$7.clone();
                    followSet96.addAll(outerFollowSet);
                }
                consumeToken(RCURLY, false, followSet96);
            } else if (nextTokenType() == LCURLY) {
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:7
                consumeToken(LCURLY, false, follow_set$RankingExpressionParser_ccc$1232$7);
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:16
                pushOntoCallStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1232, 16);
                outerFollowSet = follow_set$RankingExpressionParser_ccc$1232$16;
                try {
                    dimensionValue = dimensionValue(Optional.empty());
                } finally {
                    popCallStack();
                }
                // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:66
                dimensionValues.add(dimensionValue);
                // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:107
                EnumSet followSet122 = null;
                if (outerFollowSet != null) {
                    followSet122 = follow_set$RankingExpressionParser_ccc$1232$107.clone();
                    followSet122.addAll(outerFollowSet);
                }
                consumeToken(RCURLY, false, followSet122);
            } else {
                pushOntoCallStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1224, 5);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$1224$5, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1234:5
            return dimensionValues;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1237:1
    final public Slice.DimensionValue dimensionValue(Optional dimensionName) {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "dimensionValue";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1237:1
        dimensionValue thisProduction = null;
        if (buildTree) {
            thisProduction = new dimensionValue();
            openNodeScope(thisProduction);
        }
        ExpressionNode value;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$dimensionValue();
            }
            // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1242:5
            pushOntoCallStack("dimensionValue", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1242, 5);
            try {
                value = expression();
            } finally {
                popCallStack();
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1243:5
            if (value instanceof ReferenceNode && ((ReferenceNode) value).reference().isIdentifier()) // A label
            return new Slice.DimensionValue(dimensionName, ((ReferenceNode) value).reference().name());
            else if (value instanceof ConstantNode && ((ConstantNode) value).getValue() instanceof StringValue) // A quoted label
            return new Slice.DimensionValue(dimensionName, ((StringValue) ((ConstantNode) value).getValue()).asString());
            else return new Slice.DimensionValue(dimensionName, TensorFunctionNode.wrapScalar(value));
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1253:1
    final public String label() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "label";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1253:1
        label thisProduction = null;
        if (buildTree) {
            thisProduction = new label();
            openNodeScope(thisProduction);
        }
        String label;
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$label();
            }
            if (first_set$RankingExpressionParser_ccc$1258$7.contains(nextTokenType())) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1258:7
                pushOntoCallStack("label", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1258, 7);
                try {
                    label = tag();
                } finally {
                    popCallStack();
                }
            } else if (nextTokenType() == STRING) {
                // Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1258:23
                pushOntoCallStack("label", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1258, 23);
                try {
                    label = stringLiteral();
                } finally {
                    popCallStack();
                }
            } else {
                pushOntoCallStack("label", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1258, 7);
                throw new ParseException(lastConsumedToken, first_set$RankingExpressionParser_ccc$1258$7$, parsingStack);
            }
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1259:5
            return label;
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1262:1
    final public String stringLiteral() {
        if (cancelled) throw new CancellationException();
        this.currentlyParsedProduction = "stringLiteral";
        // Code for BNFProduction specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1262:1
        stringLiteral thisProduction = null;
        if (buildTree) {
            thisProduction = new stringLiteral();
            openNodeScope(thisProduction);
        }
        ParseException parseException3 = null;
        int callStackSize4 = parsingStack.size();
        try {
            if (pendingRecovery) {
                recover$stringLiteral();
            }
            // Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1264:5
            EnumSet followSet13 = null;
            if (outerFollowSet != null) {
                followSet13 = follow_set$RankingExpressionParser_ccc$1264$5.clone();
                followSet13.addAll(outerFollowSet);
            }
            consumeToken(STRING, false, followSet13);
            // Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1264:14
            return lastConsumedToken.toString().substring(1, lastConsumedToken.toString().length() - 1);
        } catch (ParseException e) {
            parseException3 = e;
            if (isParserTolerant()) this.pendingRecovery = true;
            throw e;
        } finally {
            restoreCallStack(callStackSize4);
            if (thisProduction != null) {
                if (parseException3 == null) {
                    closeNodeScope(thisProduction, true);
                } else {
                    closeNodeScope(thisProduction, true);
                    thisProduction.setDirty(true);
                }
            }
        }
    }

    private void recover$featureList() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$rankingExpression() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$expression() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$operationExpression() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$binaryOperator() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$value() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$ifExpression() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$feature() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$legacyQueryFeature() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$outs() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$out() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$function() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$scalarOrTensorFunction() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorFunction() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorMap() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorMapSubspaces() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorReduce() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorReduceComposites() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorJoin() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorMerge() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorRename() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorConcat() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorGenerate() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorGenerateBody() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorRange() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorDiag() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorRandom() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorL1Normalize() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorL2Normalize() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorEuclideanDistance() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorCosineSimilarity() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorMatmul() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorSoftmax() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorXwPlusB() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorExpand() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorArgmax() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorArgmin() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorCellCast() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorMacro() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorUnpackBits() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$lambdaFunction() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorReduceAggregator() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorType() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorTypeDimension() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorFunctionName() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$unaryFunctionName() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$binaryFunctionName() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$expressionList() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$doubleNumber() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$integerNumber() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$identifierStr() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$bracedIdentifierList() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tag() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$constantPrimitive() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorValueBody() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$mappedTensorValueBody() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$mixedTensorValueBody() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$mixedValueObject() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (nextTokenType() == LCURLY) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$indexedTensorValueBody() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$keyValueOrMixedBlock() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$keyValue() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$mixedBlock() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$indexedTensorCells() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$indexedTensorCellSubspaceList() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$indexedTensorCellSubspace() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$tensorCell() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$labelAndDimension() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$labelAndDimensionValues() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$valueAddress() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$dimensionValue() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$label() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private void recover$stringLiteral() {
        Token initialToken = lastConsumedToken;
        java.util.List skippedTokens = new java.util.ArrayList<>();
        boolean success = false;
        while (lastConsumedToken.getType() != EOF) {
            if (true) {
                success = true;
                break;
            }
            lastConsumedToken = nextToken(lastConsumedToken);
            skippedTokens.add(lastConsumedToken);
        }
        if (!success && !skippedTokens.isEmpty()) {
            lastConsumedToken = initialToken;
        }
        if (success && !skippedTokens.isEmpty()) {
            InvalidNode iv = new InvalidNode();
            iv.copyLocationInfo(skippedTokens.get(0));
            for (Token tok : skippedTokens) {
                iv.add(tok);
                iv.setEndOffset(tok.getEndOffset());
            }
            pushNode(iv);
        }
        pendingRecovery = !success;
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$204$9 = first_set$RankingExpressionParser_ccc$204$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$204$9_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$244$9 = first_set$RankingExpressionParser_ccc$244$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$244$9_init() {
        return tokenTypeSet(ADD, SUB, DIV, MUL, MOD, POWOP, GREATEREQUAL, GREATER, LESSEQUAL, LESS, APPROX, NOTEQUAL, EQUAL, AND, OR);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$244$9$ = first_set$RankingExpressionParser_ccc$244$9$_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$244$9$_init() {
        return tokenTypeSet(ADD, SUB, DIV, MUL, MOD, POWOP, GREATEREQUAL, GREATER, LESSEQUAL, LESS, APPROX, NOTEQUAL, EQUAL, AND, OR);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$255$7$ = first_set$RankingExpressionParser_ccc$255$7$_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$255$7$_init() {
        return tokenTypeSet(ADD, SUB, DIV, MUL, MOD, POWOP, GREATEREQUAL, GREATER, LESSEQUAL, LESS, APPROX, NOTEQUAL, EQUAL, AND, OR);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$285$9$$ = first_set$RankingExpressionParser_ccc$285$9$$_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$285$9$$_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$285$9 = tokenTypeSet(SUB, TRUE, FALSE, INTEGER, FLOAT, STRING);
    private static final EnumSet first_set$RankingExpressionParser_ccc$286$9 = first_set$RankingExpressionParser_ccc$286$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$286$9_init() {
        return tokenTypeSet(LBRACE, DOLLAR, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$287$11 = first_set$RankingExpressionParser_ccc$287$11_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$287$11_init() {
        return tokenTypeSet(LBRACE, DOLLAR, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$289$11 = first_set$RankingExpressionParser_ccc$289$11_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$289$11_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$368$7$ = first_set$RankingExpressionParser_ccc$368$7$_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$368$7$_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$370$7 = first_set$RankingExpressionParser_ccc$370$7_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$370$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$380$9 = first_set$RankingExpressionParser_ccc$380$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$380$9_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$389$7 = first_set$RankingExpressionParser_ccc$389$7_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$389$7_init() {
        return tokenTypeSet(ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$389$52 = first_set$RankingExpressionParser_ccc$389$52_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$389$52_init() {
        return tokenTypeSet(MAP, MAP_SUBSPACES, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$402$5 = first_set$RankingExpressionParser_ccc$402$5_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$402$5_init() {
        return tokenTypeSet(ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$403$9 = first_set$RankingExpressionParser_ccc$403$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$403$9_init() {
        return tokenTypeSet(ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$409$5 = first_set$RankingExpressionParser_ccc$409$5_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$409$5_init() {
        return tokenTypeSet(ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAX, MIN);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$410$9 = first_set$RankingExpressionParser_ccc$410$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$410$9_init() {
        return tokenTypeSet(ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAX, MIN);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$424$9 = first_set$RankingExpressionParser_ccc$424$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$424$9_init() {
        return tokenTypeSet(MAP, MAP_SUBSPACES, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$427$9 = tokenTypeSet(AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    private static final EnumSet first_set$RankingExpressionParser_ccc$493$53 = tokenTypeSet(AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    private static final EnumSet first_set$RankingExpressionParser_ccc$507$5 = tokenTypeSet(AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    private static final EnumSet first_set$RankingExpressionParser_ccc$585$9 = tokenTypeSet(LBRACE, COLON);
    private static final EnumSet first_set$RankingExpressionParser_ccc$844$7$ = tokenTypeSet(AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    private static final EnumSet first_set$RankingExpressionParser_ccc$859$7 = first_set$RankingExpressionParser_ccc$859$7_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$859$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$888$7 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet first_set$RankingExpressionParser_ccc$922$5 = tokenTypeSet(AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    private static final EnumSet first_set$RankingExpressionParser_ccc$984$33$ = tokenTypeSet(INTEGER, FLOAT);
    private static final EnumSet first_set$RankingExpressionParser_ccc$1003$12 = first_set$RankingExpressionParser_ccc$1003$12_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1003$12_init() {
        return tokenTypeSet(F, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1004$5 = first_set$RankingExpressionParser_ccc$1004$5_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1004$5_init() {
        return tokenTypeSet(ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1005$5 = first_set$RankingExpressionParser_ccc$1005$5_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1005$5_init() {
        return tokenTypeSet(ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAX, MIN);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1019$7 = first_set$RankingExpressionParser_ccc$1019$7_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1019$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1030$5 = first_set$RankingExpressionParser_ccc$1030$5_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1030$5_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1041$5 = first_set$RankingExpressionParser_ccc$1041$5_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1041$5_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1064$7 = tokenTypeSet(TRUE, FALSE, INTEGER, FLOAT, STRING);
    private static final EnumSet first_set$RankingExpressionParser_ccc$1064$9$ = tokenTypeSet(INTEGER, FLOAT);
    private static final EnumSet first_set$RankingExpressionParser_ccc$1067$9$ = tokenTypeSet(TRUE, FALSE, STRING);
    private static final EnumSet first_set$RankingExpressionParser_ccc$1085$9 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet first_set$RankingExpressionParser_ccc$1137$9$ = first_set$RankingExpressionParser_ccc$1137$9$_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1137$9$_init() {
        return tokenTypeSet(LBRACE, LSQUARE, LCURLY, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1137$9 = first_set$RankingExpressionParser_ccc$1137$9_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1137$9_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1180$5 = first_set$RankingExpressionParser_ccc$1180$5_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1180$5_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1190$15 = first_set$RankingExpressionParser_ccc$1190$15_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1190$15_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1224$5 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet first_set$RankingExpressionParser_ccc$1227$17$ = first_set$RankingExpressionParser_ccc$1227$17$_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1227$17$_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1258$7$ = first_set$RankingExpressionParser_ccc$1258$7$_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1258$7$_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, STRING, IDENTIFIER);
    }

    private static final EnumSet first_set$RankingExpressionParser_ccc$1258$7 = first_set$RankingExpressionParser_ccc$1258$7_init();

    private static EnumSet first_set$RankingExpressionParser_ccc$1258$7_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$204$9$ = follow_set$RankingExpressionParser_ccc$204$9$_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$204$9$_init() {
        return tokenTypeSet(EOF, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$204$46 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$213$7 = tokenTypeSet(EOF);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$213$26 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$226$7 = tokenTypeSet(IN);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$228$13 = tokenTypeSet(LSQUARE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$243$7 = follow_set$RankingExpressionParser_ccc$243$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$243$7_init() {
        return tokenTypeSet(ADD, SUB, DIV, MUL, MOD, POWOP, GREATEREQUAL, GREATER, LESSEQUAL, LESS, APPROX, NOTEQUAL, EQUAL, AND, OR);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$244$9$ = follow_set$RankingExpressionParser_ccc$244$9$_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$244$9$_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$244$37 = follow_set$RankingExpressionParser_ccc$244$37_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$244$37_init() {
        return tokenTypeSet(ADD, SUB, DIV, MUL, MOD, POWOP, GREATEREQUAL, GREATER, LESSEQUAL, LESS, APPROX, NOTEQUAL, EQUAL, AND, OR);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$255$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$256$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$257$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$258$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$259$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$260$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$261$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$262$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$263$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$264$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$265$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$266$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$267$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$268$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$269$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$283$9 = follow_set$RankingExpressionParser_ccc$283$9_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$283$9_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$284$16 = follow_set$RankingExpressionParser_ccc$284$16_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$284$16_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$285$9$ = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$287$18 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$288$18 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$289$11$ = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$290$11 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$291$13 = follow_set$RankingExpressionParser_ccc$291$13_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$291$13_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$291$22 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$291$43 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$311$7 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$311$12 = follow_set$RankingExpressionParser_ccc$311$12_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$311$12_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$311$23 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$312$7 = follow_set$RankingExpressionParser_ccc$312$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$312$7_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$312$15 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$312$37 = follow_set$RankingExpressionParser_ccc$312$37_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$312$37_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$312$45 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$312$70 = tokenTypeSet(SUB, INTEGER, FLOAT);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$312$78 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$312$114 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$325$7 = tokenTypeSet(LBRACE, DOT);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$325$32 = follow_set$RankingExpressionParser_ccc$325$32_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$325$32_init() {
        return tokenTypeSet(LBRACE, RBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$325$41 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$325$55 = tokenTypeSet(DOT);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$325$68 = follow_set$RankingExpressionParser_ccc$325$68_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$325$68_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$343$7 = follow_set$RankingExpressionParser_ccc$343$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$343$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$356$9 = tokenTypeSet(DOT);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$357$9 = follow_set$RankingExpressionParser_ccc$357$9_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$357$9_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$358$9 = tokenTypeSet(DOT);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$368$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$369$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$380$9$ = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$380$64 = follow_set$RankingExpressionParser_ccc$380$64_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$380$64_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$380$72 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$403$9 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$403$40 = follow_set$RankingExpressionParser_ccc$403$40_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$403$40_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$403$49 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$403$69 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$410$9 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$410$41 = follow_set$RankingExpressionParser_ccc$410$41_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$410$41_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$410$50 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$410$70 = follow_set$RankingExpressionParser_ccc$410$70_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$410$70_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$410$78 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$410$98 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$460$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$460$11 = follow_set$RankingExpressionParser_ccc$460$11_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$460$11_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$460$20 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$460$42 = tokenTypeSet(F);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$460$50 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$460$82 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$474$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$474$21 = follow_set$RankingExpressionParser_ccc$474$21_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$474$21_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$474$30 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$474$52 = tokenTypeSet(F);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$474$60 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$474$91 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$493$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$493$14 = follow_set$RankingExpressionParser_ccc$493$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$493$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$493$23 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$493$45 = tokenTypeSet(AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$493$53 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$493$91 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$493$126 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$507$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$508$5 = follow_set$RankingExpressionParser_ccc$508$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$508$5_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$508$14 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$508$36 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$508$71 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$12 = follow_set$RankingExpressionParser_ccc$521$12_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$521$12_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$21 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$44 = follow_set$RankingExpressionParser_ccc$521$44_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$521$44_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$52 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$75 = tokenTypeSet(F);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$83 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$521$115 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$13 = follow_set$RankingExpressionParser_ccc$536$13_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$536$13_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$22 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$45 = follow_set$RankingExpressionParser_ccc$536$45_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$536$45_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$53 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$76 = tokenTypeSet(F);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$84 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$536$116 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$551$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$551$14 = follow_set$RankingExpressionParser_ccc$551$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$551$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$551$23 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$551$45 = follow_set$RankingExpressionParser_ccc$551$45_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$551$45_init() {
        return tokenTypeSet(LBRACE, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$552$23 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$552$63 = follow_set$RankingExpressionParser_ccc$552$63_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$552$63_init() {
        return tokenTypeSet(LBRACE, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$553$23 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$554$14 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$14 = follow_set$RankingExpressionParser_ccc$567$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$567$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$23 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$46 = follow_set$RankingExpressionParser_ccc$567$46_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$567$46_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$54 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$77 = follow_set$RankingExpressionParser_ccc$567$77_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$567$77_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$85 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$567$103 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$583$5 = tokenTypeSet(LBRACE, LESS);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$583$14 = tokenTypeSet(LBRACE, COLON);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$599$5 = follow_set$RankingExpressionParser_ccc$599$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$599$5_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$599$14 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$599$39 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$611$5 = tokenTypeSet(LBRACE, LESS);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$623$5 = tokenTypeSet(LBRACE, LESS);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$635$5 = tokenTypeSet(LBRACE, LESS);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$648$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$648$20 = follow_set$RankingExpressionParser_ccc$648$20_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$648$20_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$648$29 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$648$51 = follow_set$RankingExpressionParser_ccc$648$51_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$648$51_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$648$59 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$648$87 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$661$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$661$20 = follow_set$RankingExpressionParser_ccc$661$20_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$661$20_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$661$29 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$661$51 = follow_set$RankingExpressionParser_ccc$661$51_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$661$51_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$661$59 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$661$87 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$26 = follow_set$RankingExpressionParser_ccc$674$26_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$674$26_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$35 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$58 = follow_set$RankingExpressionParser_ccc$674$58_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$674$58_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$66 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$89 = follow_set$RankingExpressionParser_ccc$674$89_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$674$89_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$97 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$674$125 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$25 = follow_set$RankingExpressionParser_ccc$689$25_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$689$25_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$34 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$57 = follow_set$RankingExpressionParser_ccc$689$57_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$689$57_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$65 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$88 = follow_set$RankingExpressionParser_ccc$689$88_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$689$88_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$96 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$689$124 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$14 = follow_set$RankingExpressionParser_ccc$704$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$704$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$23 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$46 = follow_set$RankingExpressionParser_ccc$704$46_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$704$46_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$54 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$77 = follow_set$RankingExpressionParser_ccc$704$77_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$704$77_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$85 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$704$113 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$719$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$719$15 = follow_set$RankingExpressionParser_ccc$719$15_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$719$15_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$719$24 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$719$46 = follow_set$RankingExpressionParser_ccc$719$46_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$719$46_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$719$54 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$719$82 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$732$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$732$17 = follow_set$RankingExpressionParser_ccc$732$17_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$732$17_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$732$26 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$732$49 = follow_set$RankingExpressionParser_ccc$732$49_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$732$49_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$733$26 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$733$49 = follow_set$RankingExpressionParser_ccc$733$49_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$733$49_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$734$26 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$734$49 = follow_set$RankingExpressionParser_ccc$734$49_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$734$49_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$735$26 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$735$54 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$751$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$751$14 = follow_set$RankingExpressionParser_ccc$751$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$751$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$751$23 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$751$47 = follow_set$RankingExpressionParser_ccc$751$47_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$751$47_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$751$55 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$751$83 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$764$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$764$14 = follow_set$RankingExpressionParser_ccc$764$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$764$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$764$23 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$764$45 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$764$80 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$777$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$777$14 = follow_set$RankingExpressionParser_ccc$777$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$777$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$777$23 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$777$45 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$777$80 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$790$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$790$17 = follow_set$RankingExpressionParser_ccc$790$17_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$790$17_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$790$26 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$790$48 = follow_set$RankingExpressionParser_ccc$790$48_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$790$48_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$790$56 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$790$84 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$818$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$818$19 = follow_set$RankingExpressionParser_ccc$818$19_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$818$19_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$818$28 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$819$7 = follow_set$RankingExpressionParser_ccc$819$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$819$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$819$15 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$820$9 = follow_set$RankingExpressionParser_ccc$820$9_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$820$9_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$820$17 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$820$52 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$833$8 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$833$12 = follow_set$RankingExpressionParser_ccc$833$12_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$833$12_init() {
        return tokenTypeSet(RBRACE, COMMA, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$833$21 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$833$50 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$833$59 = follow_set$RankingExpressionParser_ccc$833$59_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$833$59_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$833$68 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$833$102 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$844$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$844$15 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$844$25 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$844$33 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$844$44 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$844$52 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$844$61 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$856$5 = tokenTypeSet(LBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$858$5 = follow_set$RankingExpressionParser_ccc$858$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$858$5_init() {
        return tokenTypeSet(RBRACE, COMMA, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$859$7$ = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$860$7 = follow_set$RankingExpressionParser_ccc$860$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$860$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$860$15 = tokenTypeSet(RBRACE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$861$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$872$7 = follow_set$RankingExpressionParser_ccc$872$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$872$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$872$14 = tokenTypeSet(GREATER);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$872$42 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$882$5 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$888$9 = tokenTypeSet(RCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$888$18 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$889$16 = tokenTypeSet(RSQUARE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$889$26 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$890$9 = tokenTypeSet(SUB, INTEGER);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$890$19 = tokenTypeSet(RSQUARE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$890$42 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$900$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$901$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$902$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$903$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$904$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$905$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$906$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$907$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$908$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$909$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$910$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$911$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$912$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$913$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$914$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$915$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$916$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$917$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$918$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$919$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$920$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$921$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$927$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$928$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$929$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$930$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$931$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$932$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$933$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$934$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$935$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$936$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$937$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$938$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$939$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$940$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$941$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$942$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$943$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$944$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$945$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$946$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$947$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$948$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$949$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$950$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$951$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$956$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$957$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$958$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$959$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$960$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$961$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$962$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$963$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$972$5 = follow_set$RankingExpressionParser_ccc$972$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$972$5_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$973$5 = tokenTypeSet(RSQUARE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$974$14 = follow_set$RankingExpressionParser_ccc$974$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$974$14_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$974$22 = tokenTypeSet(RSQUARE, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$975$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$984$7 = tokenTypeSet(INTEGER, FLOAT);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$984$33 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$984$43 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$993$7 = tokenTypeSet(INTEGER);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$993$33 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1006$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1007$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1008$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1009$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1010$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1019$7$ = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1020$7 = follow_set$RankingExpressionParser_ccc$1020$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1020$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1020$15 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1032$7 = follow_set$RankingExpressionParser_ccc$1032$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1032$7_init() {
        return tokenTypeSet(RBRACE, COMMA, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1032$16 = tokenTypeSet(RBRACE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1032$40 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1042$5 = tokenTypeSet(INTEGER);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1042$11 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1043$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1052$7 = follow_set$RankingExpressionParser_ccc$1052$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1052$7_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1052$15 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1062$7 = tokenTypeSet(TRUE, FALSE, INTEGER, FLOAT, STRING);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1064$9 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1065$9 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1067$9 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1067$20 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1067$29 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1083$5 = tokenTypeSet(LSQUARE, LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1100$5 = tokenTypeSet(LCURLY, RCURLY, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1101$19 = tokenTypeSet(RCURLY, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1102$11 = tokenTypeSet(LCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1102$19 = tokenTypeSet(RCURLY, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1103$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1116$5 = follow_set$RankingExpressionParser_ccc$1116$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1116$5_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1117$9 = tokenTypeSet(RCURLY, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1118$11 = follow_set$RankingExpressionParser_ccc$1118$11_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1118$11_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1118$19 = tokenTypeSet(RCURLY, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1119$5 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1135$5 = tokenTypeSet(COLON);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1135$19 = follow_set$RankingExpressionParser_ccc$1135$19_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1135$19_init() {
        return tokenTypeSet(LBRACE, LSQUARE, LCURLY, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1162$5 = follow_set$RankingExpressionParser_ccc$1162$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1162$5_init() {
        return tokenTypeSet(LBRACE, LSQUARE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1162$15 = tokenTypeSet(RSQUARE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1162$52 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1170$5 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1170$47 = follow_set$RankingExpressionParser_ccc$1170$47_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1170$47_init() {
        return tokenTypeSet(LBRACE, LSQUARE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1170$55 = tokenTypeSet(COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1178$7 = follow_set$RankingExpressionParser_ccc$1178$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1178$7_init() {
        return tokenTypeSet(LBRACE, LSQUARE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1178$17 = tokenTypeSet(RSQUARE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1178$54 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1189$5 = follow_set$RankingExpressionParser_ccc$1189$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1189$5_init() {
        return tokenTypeSet(RCURLY, COMMA, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1190$15$ = follow_set$RankingExpressionParser_ccc$1190$15$_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1190$15$_init() {
        return tokenTypeSet(RCURLY, COMMA, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1191$7 = follow_set$RankingExpressionParser_ccc$1191$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1191$7_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1191$15 = tokenTypeSet(RCURLY, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1192$5 = tokenTypeSet(COLON);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1193$5 = follow_set$RankingExpressionParser_ccc$1193$5_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1193$5_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1201$5 = tokenTypeSet(COLON);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1201$33 = follow_set$RankingExpressionParser_ccc$1201$33_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1201$33_init() {
        return tokenTypeSet(SUB, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1211$5 = tokenTypeSet(COLON);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1211$33 = follow_set$RankingExpressionParser_ccc$1211$33_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1211$33_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1224$7 = follow_set$RankingExpressionParser_ccc$1224$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1224$7_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1224$19 = tokenTypeSet(RSQUARE);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1224$151 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1226$14 = follow_set$RankingExpressionParser_ccc$1226$14_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1226$14_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1227$17 = follow_set$RankingExpressionParser_ccc$1227$17_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1227$17_init() {
        return tokenTypeSet(RCURLY, COMMA, IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1228$9 = follow_set$RankingExpressionParser_ccc$1228$9_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1228$9_init() {
        return tokenTypeSet(IF, IN, F, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1228$17 = tokenTypeSet(RCURLY, COMMA);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1229$7 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1232$7 = follow_set$RankingExpressionParser_ccc$1232$7_init();

    private static EnumSet follow_set$RankingExpressionParser_ccc$1232$7_init() {
        return tokenTypeSet(LBRACE, SUB, DOLLAR, IF, IN, F, NOT, ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, ELU, EXP, FABS, FLOOR, ISNAN, LOG, LOG10, RELU, ROUND, SIGMOID, SIGN, SIN, SINH, SQUARE, SQRT, TAN, TANH, ERF, ATAN2, FMOD, LDEXP, POW, BIT, HAMMING, MAP, MAP_SUBSPACES, UNPACK_BITS, REDUCE, JOIN, MERGE, RENAME, CONCAT, TENSOR, RANGE, DIAG, RANDOM, L1_NORMALIZE, L2_NORMALIZE, EUCLIDEAN_DISTANCE, COSINE_SIMILARITY, MATMUL, SOFTMAX, XW_PLUS_B, ARGMAX, ARGMIN, CELL_CAST, EXPAND, AVG, COUNT, MAX, MEDIAN, MIN, PROD, SUM, TRUE, FALSE, INTEGER, FLOAT, STRING, IDENTIFIER);
    }

    private static final EnumSet follow_set$RankingExpressionParser_ccc$1232$16 = tokenTypeSet(RCURLY);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1232$107 = EnumSet.noneOf(TokenType.class);
    private static final EnumSet follow_set$RankingExpressionParser_ccc$1264$5 = EnumSet.noneOf(TokenType.class);

    private boolean scanToken(TokenType expectedType, TokenType...additionalTypes) {
        Token peekedToken = nextToken(currentLookaheadToken);
        TokenType type = peekedToken.getType();
        if (type != expectedType) {
            boolean matched = false;
            for (TokenType tt : additionalTypes) {
                if (type == tt) {
                    matched = true;
                    break;
                }
            }
            if (!matched) return false;
        }
        --remainingLookahead;
        currentLookaheadToken = peekedToken;
        return true;
    }

    private boolean scanToken(EnumSet types) {
        Token peekedToken = nextToken(currentLookaheadToken);
        TokenType type = peekedToken.getType();
        if (!types.contains(type)) return false;
        --remainingLookahead;
        currentLookaheadToken = peekedToken;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$228$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:13
            if (!scanToken(IN)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:28
            // NonTerminal expressionList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:28
            pushOntoLookaheadStack("expression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 228, 28);
            currentLookaheadProduction = "expressionList";
            try {
                if (!check$expressionList(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:228:57
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$244$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:9
            if (!scanToken(first_set$RankingExpressionParser_ccc$244$9$)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:37
            // NonTerminal value at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:37
            pushOntoLookaheadStack("operationExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 244, 37);
            currentLookaheadProduction = "value";
            try {
                if (!check$value(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:53
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$284$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:16
            if (!scanToken(SUB)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:55
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:285:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$285$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:285:9
            // NonTerminal constantPrimitive at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:285:9
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 285, 9);
            currentLookaheadProduction = "constantPrimitive";
            try {
                if (!check$constantPrimitive(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:286:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$286$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:11
            Token token4 = currentLookaheadToken;
            int remainingLookahead4 = remainingLookahead;
            boolean hitFailure4 = hitFailure;
            boolean passedPredicate4 = passedPredicate;
            try {
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$287$11(false)) {
                    currentLookaheadToken = token4;
                    remainingLookahead = remainingLookahead4;
                    hitFailure = hitFailure4;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$288$11(false)) {
                        currentLookaheadToken = token4;
                        remainingLookahead = remainingLookahead4;
                        hitFailure = hitFailure4;
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        passedPredicate = false;
                        if (!check$RankingExpressionParser_ccc$289$11(false)) {
                            currentLookaheadToken = token4;
                            remainingLookahead = remainingLookahead4;
                            hitFailure = hitFailure4;
                            if (passedPredicate && !legacyGlitchyLookahead) return false;
                            passedPredicate = false;
                            if (!check$RankingExpressionParser_ccc$290$11(false)) {
                                currentLookaheadToken = token4;
                                remainingLookahead = remainingLookahead4;
                                hitFailure = hitFailure4;
                                if (passedPredicate && !legacyGlitchyLookahead) return false;
                                passedPredicate = false;
                                if (!check$RankingExpressionParser_ccc$291$11(false)) {
                                    currentLookaheadToken = token4;
                                    remainingLookahead = remainingLookahead4;
                                    hitFailure = hitFailure4;
                                    return false;
                                }
                            }
                        }
                    }
                }
            } finally {
                passedPredicate = passedPredicate4;
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:292:11
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$287$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:18
            // NonTerminal ifExpression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:18
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 287, 18);
            currentLookaheadProduction = "ifExpression";
            try {
                if (!check$ifExpression(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:288:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$288$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 4;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:288:18
            // NonTerminal function at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:288:18
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 288, 18);
            currentLookaheadProduction = "function";
            try {
                if (!check$function(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:289:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$289$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:289:11
            // NonTerminal feature at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:289:11
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 289, 11);
            currentLookaheadProduction = "feature";
            try {
                if (!check$feature(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:290:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$290$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:290:11
            // NonTerminal legacyQueryFeature at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:290:11
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 290, 11);
            currentLookaheadProduction = "legacyQueryFeature";
            try {
                if (!check$legacyQueryFeature(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$291$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:13
            if (!scanToken(LBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:22
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:22
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 291, 22);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:43
            if (!scanToken(RBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:291:52
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$296$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:14
            // NonTerminal valueAddress at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:14
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 296, 14);
            currentLookaheadProduction = "valueAddress";
            try {
                if (!check$valueAddress(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:44
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:70
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$312$70(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:70
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:78
            // NonTerminal doubleNumber at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:78
            pushOntoLookaheadStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 312, 78);
            currentLookaheadProduction = "doubleNumber";
            try {
                if (!check$doubleNumber(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:32
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$325$32(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:32
            if (!scanToken(LBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:41
            // NonTerminal args at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:41
            pushOntoLookaheadStack("feature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 325, 41);
            currentLookaheadProduction = "args";
            try {
                if (!check$args(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:55
            if (!scanToken(RBRACE)) return false;
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:68
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$325$68(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:68
            if (!scanToken(DOT)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:74
            // NonTerminal outs at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:74
            pushOntoLookaheadStack("feature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 325, 74);
            currentLookaheadProduction = "outs";
            try {
                if (!check$outs(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:357:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$357$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:357:9
            if (!scanToken(DOT)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:357:21
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:358:9
            // NonTerminal out at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:358:9
            pushOntoLookaheadStack("outs", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 358, 9);
            currentLookaheadProduction = "out";
            try {
                if (!check$out(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:358:21
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:370:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$370$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:370:7
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:370:7
            pushOntoLookaheadStack("out", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 370, 7);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(false)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:370:37
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$380$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:9
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:9
            pushOntoLookaheadStack("args", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 380, 9);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(false)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:33
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:62
            boolean passedPredicate5 = passedPredicate;
            try {
                while (remainingLookahead > 0 && !hitFailure) {
                    Token token6 = currentLookaheadToken;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$380$64(false)) {
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        currentLookaheadToken = token6;
                        break;
                    }
                }
            } finally {
                passedPredicate = passedPredicate5;
            }
            hitFailure = false;
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:64
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$380$64(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:64
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:72
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:72
            pushOntoLookaheadStack("args", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 380, 72);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:96
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$389$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:14
            // NonTerminal scalarOrTensorFunction at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:14
            pushOntoLookaheadStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 14);
            currentLookaheadProduction = "scalarOrTensorFunction";
            try {
                if (!check$scalarOrTensorFunction(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:52
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$389$52(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:52
            // NonTerminal tensorFunction at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:52
            pushOntoLookaheadStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 52);
            currentLookaheadProduction = "tensorFunction";
            try {
                if (!check$tensorFunction(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:82
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$389$82(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:82
            // NonTerminal tensorMacro at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:82
            pushOntoLookaheadStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 82);
            currentLookaheadProduction = "tensorMacro";
            try {
                if (!check$tensorMacro(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:402:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$402$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:9
            if (!scanToken(first_set$RankingExpressionParser_ccc$403$9)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:40
            if (!scanToken(LBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:49
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:49
            pushOntoLookaheadStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 403, 49);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:403:69
            if (!scanToken(RBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:404:7
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:409:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$409$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:9
            if (!scanToken(first_set$RankingExpressionParser_ccc$410$9)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:41
            if (!scanToken(LBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:50
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:50
            pushOntoLookaheadStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 410, 50);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:70
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:78
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:78
            pushOntoLookaheadStack("scalarOrTensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 410, 78);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:410:98
            if (!scanToken(RBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:411:7
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:424:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$424$9$(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:424:9
            // NonTerminal tensorMap at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:424:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 424, 9);
            currentLookaheadProduction = "tensorMap";
            try {
                if (!check$tensorMap(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:425:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$425$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:425:9
            // NonTerminal tensorMapSubspaces at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:425:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 425, 9);
            currentLookaheadProduction = "tensorMapSubspaces";
            try {
                if (!check$tensorMapSubspaces(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:426:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$426$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:426:9
            // NonTerminal tensorReduce at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:426:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 426, 9);
            currentLookaheadProduction = "tensorReduce";
            try {
                if (!check$tensorReduce(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:427:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$427$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:427:9
            // NonTerminal tensorReduceComposites at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:427:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 427, 9);
            currentLookaheadProduction = "tensorReduceComposites";
            try {
                if (!check$tensorReduceComposites(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:428:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$428$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:428:9
            // NonTerminal tensorJoin at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:428:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 428, 9);
            currentLookaheadProduction = "tensorJoin";
            try {
                if (!check$tensorJoin(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:429:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$429$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:429:9
            // NonTerminal tensorMerge at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:429:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 429, 9);
            currentLookaheadProduction = "tensorMerge";
            try {
                if (!check$tensorMerge(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:430:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$430$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:430:9
            // NonTerminal tensorRename at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:430:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 430, 9);
            currentLookaheadProduction = "tensorRename";
            try {
                if (!check$tensorRename(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:431:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$431$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:431:9
            // NonTerminal tensorConcat at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:431:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 431, 9);
            currentLookaheadProduction = "tensorConcat";
            try {
                if (!check$tensorConcat(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:432:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$432$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:432:9
            // NonTerminal tensorGenerate at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:432:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 432, 9);
            currentLookaheadProduction = "tensorGenerate";
            try {
                if (!check$tensorGenerate(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:433:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$433$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:433:9
            // NonTerminal tensorRange at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:433:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 433, 9);
            currentLookaheadProduction = "tensorRange";
            try {
                if (!check$tensorRange(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:434:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$434$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:434:9
            // NonTerminal tensorDiag at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:434:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 434, 9);
            currentLookaheadProduction = "tensorDiag";
            try {
                if (!check$tensorDiag(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:435:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$435$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:435:9
            // NonTerminal tensorRandom at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:435:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 435, 9);
            currentLookaheadProduction = "tensorRandom";
            try {
                if (!check$tensorRandom(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:436:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$436$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:436:9
            // NonTerminal tensorL1Normalize at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:436:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 436, 9);
            currentLookaheadProduction = "tensorL1Normalize";
            try {
                if (!check$tensorL1Normalize(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:437:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$437$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:437:9
            // NonTerminal tensorL2Normalize at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:437:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 437, 9);
            currentLookaheadProduction = "tensorL2Normalize";
            try {
                if (!check$tensorL2Normalize(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:438:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$438$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:438:9
            // NonTerminal tensorEuclideanDistance at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:438:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 438, 9);
            currentLookaheadProduction = "tensorEuclideanDistance";
            try {
                if (!check$tensorEuclideanDistance(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:439:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$439$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:439:9
            // NonTerminal tensorCosineSimilarity at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:439:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 439, 9);
            currentLookaheadProduction = "tensorCosineSimilarity";
            try {
                if (!check$tensorCosineSimilarity(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:440:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$440$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:440:9
            // NonTerminal tensorMatmul at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:440:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 440, 9);
            currentLookaheadProduction = "tensorMatmul";
            try {
                if (!check$tensorMatmul(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:441:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$441$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:441:9
            // NonTerminal tensorSoftmax at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:441:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 441, 9);
            currentLookaheadProduction = "tensorSoftmax";
            try {
                if (!check$tensorSoftmax(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:442:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$442$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:442:9
            // NonTerminal tensorXwPlusB at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:442:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 442, 9);
            currentLookaheadProduction = "tensorXwPlusB";
            try {
                if (!check$tensorXwPlusB(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:443:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$443$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:443:9
            // NonTerminal tensorArgmax at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:443:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 443, 9);
            currentLookaheadProduction = "tensorArgmax";
            try {
                if (!check$tensorArgmax(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:444:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$444$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:444:9
            // NonTerminal tensorArgmin at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:444:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 444, 9);
            currentLookaheadProduction = "tensorArgmin";
            try {
                if (!check$tensorArgmin(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:445:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$445$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:445:9
            // NonTerminal tensorCellCast at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:445:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 445, 9);
            currentLookaheadProduction = "tensorCellCast";
            try {
                if (!check$tensorCellCast(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:446:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$446$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:446:9
            // NonTerminal tensorExpand at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:446:9
            pushOntoLookaheadStack("tensorFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 446, 9);
            currentLookaheadProduction = "tensorExpand";
            try {
                if (!check$tensorExpand(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:585:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$585$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:585:9
            // NonTerminal tensorGenerateBody at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:585:9
            pushOntoLookaheadStack("tensorGenerate", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 585, 9);
            currentLookaheadProduction = "tensorGenerateBody";
            try {
                if (!check$tensorGenerateBody(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:586:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$586$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:586:9
            // NonTerminal tensorValueBody at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:586:9
            pushOntoLookaheadStack("tensorGenerate", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 586, 9);
            currentLookaheadProduction = "tensorValueBody";
            try {
                if (!check$tensorValueBody(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$819$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:7
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:15
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:15
            pushOntoLookaheadStack("tensorUnpackBits", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 819, 15);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:819:48
            Token token5 = currentLookaheadToken;
            boolean passedPredicate5 = passedPredicate;
            passedPredicate = false;
            try {
                if (!check$RankingExpressionParser_ccc$820$9(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token5;
                    hitFailure = false;
                }
            } finally {
                passedPredicate = passedPredicate5;
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$820$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:9
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:17
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:17
            pushOntoLookaheadStack("tensorUnpackBits", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 820, 17);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:859:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$859$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:859:7
            // NonTerminal tensorTypeDimension at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:859:7
            pushOntoLookaheadStack("tensorType", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 859, 7);
            currentLookaheadProduction = "tensorTypeDimension";
            try {
                if (!check$tensorTypeDimension(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$860$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:7
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:15
            // NonTerminal tensorTypeDimension at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:15
            pushOntoLookaheadStack("tensorType", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 860, 15);
            currentLookaheadProduction = "tensorTypeDimension";
            try {
                if (!check$tensorTypeDimension(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$872$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:7
            if (!scanToken(LESS)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:14
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:14
            pushOntoLookaheadStack("optionalTensorValueTypeParameter", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 872, 14);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:42
            if (!scanToken(GREATER)) return false;
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$888$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:9
            if (!scanToken(LCURLY)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:18
            if (!scanToken(RCURLY)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:27
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$889$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:16
            if (!scanToken(LSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:26
            if (!scanToken(RSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:36
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$890$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:9
            if (!scanToken(LSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:19
            // NonTerminal integerNumber at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:19
            pushOntoLookaheadStack("tensorTypeDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 890, 19);
            currentLookaheadProduction = "integerNumber";
            try {
                if (!check$integerNumber(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:42
            if (!scanToken(RSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:890:52
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$974$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:14
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:22
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:22
            pushOntoLookaheadStack("expressionList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 974, 22);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:48
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1003$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:12
            if (!scanToken(first_set$RankingExpressionParser_ccc$1003$12)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:40
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1019$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:7
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:7
            pushOntoLookaheadStack("identifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1019, 7);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(false)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:33
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1020$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:7
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:15
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:15
            pushOntoLookaheadStack("identifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1020, 15);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:41
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1030$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:7
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:7
            pushOntoLookaheadStack("bracedIdentifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1030, 7);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(false)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:33
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1032$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:7
            if (!scanToken(LBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:16
            // NonTerminal identifierList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:16
            pushOntoLookaheadStack("bracedIdentifierList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1032, 16);
            currentLookaheadProduction = "identifierList";
            try {
                if (!check$identifierList(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:40
            if (!scanToken(RBRACE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1032:49
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1041$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:5
            // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:5
            pushOntoLookaheadStack("tag", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1041, 5);
            currentLookaheadProduction = "identifierStr";
            try {
                if (!check$identifierStr(false)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:28
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1042:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1042$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1042:5
            if (!scanToken(SUB)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1042:11
            if (!scanToken(INTEGER)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1042:21
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1052$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:7
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:15
            // NonTerminal tag at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:15
            pushOntoLookaheadStack("tagCommaLeadingList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1052, 15);
            currentLookaheadProduction = "tag";
            try {
                if (!check$tag(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:31
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1085$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:16
            // NonTerminal mixedTensorValueBody at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:16
            pushOntoLookaheadStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1085, 16);
            currentLookaheadProduction = "mixedTensorValueBody";
            try {
                if (!check$mixedTensorValueBody(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1086:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1086$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1086:9
            // NonTerminal mappedTensorValueBody at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1086:9
            pushOntoLookaheadStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1086, 9);
            currentLookaheadProduction = "mappedTensorValueBody";
            try {
                if (!check$mappedTensorValueBody(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1087:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1087$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1087:9
            // NonTerminal indexedTensorValueBody at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1087:9
            pushOntoLookaheadStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1087, 9);
            currentLookaheadProduction = "indexedTensorValueBody";
            try {
                if (!check$indexedTensorValueBody(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1101:19
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1101$19(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1101:19
            // NonTerminal tensorCell at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1101:19
            pushOntoLookaheadStack("mappedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1101, 19);
            currentLookaheadProduction = "tensorCell";
            try {
                if (!check$tensorCell(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1102$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:11
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:19
            // NonTerminal tensorCell at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:19
            pushOntoLookaheadStack("mappedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1102, 19);
            currentLookaheadProduction = "tensorCell";
            try {
                if (!check$tensorCell(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:11
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1118$11(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:11
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:19
            // NonTerminal keyValueOrMixedBlock at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:19
            pushOntoLookaheadStack("mixedValueObject", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1118, 19);
            currentLookaheadProduction = "keyValueOrMixedBlock";
            try {
                if (!check$keyValueOrMixedBlock(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1137$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:9
            // NonTerminal keyValue at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:9
            pushOntoLookaheadStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1137, 9);
            currentLookaheadProduction = "keyValue";
            try {
                if (!check$keyValue(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:26
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1137$26(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:26
            // NonTerminal mixedBlock at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:26
            pushOntoLookaheadStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1137, 26);
            currentLookaheadProduction = "mixedBlock";
            try {
                if (!check$mixedBlock(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:45
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1137$45(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:45
            // NonTerminal mixedValueObject at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:45
            pushOntoLookaheadStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1137, 45);
            currentLookaheadProduction = "mixedValueObject";
            try {
                if (!check$mixedValueObject(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:40
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1170$40(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 2;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:47
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:55
            // NonTerminal indexedTensorCellSubspace at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:55
            pushOntoLookaheadStack("indexedTensorCellSubspaceList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1170, 55);
            currentLookaheadProduction = "indexedTensorCellSubspace";
            try {
                if (!check$indexedTensorCellSubspace(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1178$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:7
            if (!scanToken(LSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:17
            // NonTerminal indexedTensorCellSubspaceList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:17
            pushOntoLookaheadStack("indexedTensorCellSubspace", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1178, 17);
            currentLookaheadProduction = "indexedTensorCellSubspaceList";
            try {
                if (!check$indexedTensorCellSubspaceList(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:54
            if (!scanToken(RSQUARE)) return false;
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1180:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1180$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1180:7
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1180:7
            pushOntoLookaheadStack("indexedTensorCellSubspace", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1180, 7);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(false)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1180:28
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1190:15
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1190$15(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1190:15
            // NonTerminal labelAndDimension at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1190:15
            pushOntoLookaheadStack("tensorCell", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1190, 15);
            currentLookaheadProduction = "labelAndDimension";
            try {
                if (!check$labelAndDimension(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1191$7(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:7
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:15
            // NonTerminal labelAndDimension at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:15
            pushOntoLookaheadStack("tensorCell", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1191, 15);
            currentLookaheadProduction = "labelAndDimension";
            try {
                if (!check$labelAndDimension(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1224$5$(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:7
            if (!scanToken(LSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:19
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:19
            pushOntoLookaheadStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1224, 19);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:50
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:151
            if (!scanToken(RSQUARE)) return false;
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1226:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1226$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 3;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1226:14
            if (!scanToken(LCURLY)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for OneOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:7
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
            // NonTerminal labelAndDimensionValues at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
            pushOntoLookaheadStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1227, 17);
            currentLookaheadProduction = "labelAndDimensionValues";
            try {
                if (!check$labelAndDimensionValues(false)) return false;
            } finally {
                popLookaheadStack();
            }
            boolean passedPredicate8 = passedPredicate;
            try {
                while (remainingLookahead > 0 && !hitFailure) {
                    Token token9 = currentLookaheadToken;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$1227$17(false)) {
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        currentLookaheadToken = token9;
                        break;
                    }
                }
            } finally {
                passedPredicate = passedPredicate8;
            }
            hitFailure = false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:7
            boolean passedPredicate11 = passedPredicate;
            try {
                while (remainingLookahead > 0 && !hitFailure) {
                    Token token12 = currentLookaheadToken;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$1228$9(false)) {
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        currentLookaheadToken = token12;
                        break;
                    }
                }
            } finally {
                passedPredicate = passedPredicate11;
            }
            hitFailure = false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1229:7
            if (!scanToken(RCURLY)) return false;
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1227$17(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
            // NonTerminal labelAndDimensionValues at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
            pushOntoLookaheadStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1227, 17);
            currentLookaheadProduction = "labelAndDimensionValues";
            try {
                if (!check$labelAndDimensionValues(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:9
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1228$9(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:9
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:17
            // NonTerminal labelAndDimensionValues at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:17
            pushOntoLookaheadStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1228, 17);
            currentLookaheadProduction = "labelAndDimensionValues";
            try {
                if (!check$labelAndDimensionValues(true)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:5
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1232$5(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:7
            if (!scanToken(LCURLY)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:16
            // NonTerminal dimensionValue at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:16
            pushOntoLookaheadStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1232, 16);
            currentLookaheadProduction = "dimensionValue";
            try {
                if (!check$dimensionValue(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:66
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1232:107
            if (!scanToken(RCURLY)) return false;
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // scanahead routine for expansion at:
    // /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1258:7
    // BuildScanRoutine macro
    private boolean check$RankingExpressionParser_ccc$1258$7$(boolean scanToEnd) {
        boolean reachedScanCode = false;
        int passedPredicateThreshold = remainingLookahead - 1;
        try {
            lookaheadRoutineNesting++;
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            reachedScanCode = true;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1258:7
            // NonTerminal tag at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1258:7
            pushOntoLookaheadStack("label", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1258, 7);
            currentLookaheadProduction = "tag";
            try {
                if (!check$tag(false)) return false;
            } finally {
                popLookaheadStack();
            }
        } finally {
            lookaheadRoutineNesting--;
            if (reachedScanCode && remainingLookahead <= passedPredicateThreshold) {
                passedPredicate = true;
            }
        }
        passedPredicate = false;
        return true;
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:9
    private boolean scan$RankingExpressionParser_ccc$284$9() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:16
            if (!scanToken(SUB)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:55
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:11
    private boolean scan$RankingExpressionParser_ccc$287$11() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:18
            // NonTerminal ifExpression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:287:18
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 287, 18);
            currentLookaheadProduction = "ifExpression";
            try {
                if (!check$ifExpression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:288:11
    private boolean scan$RankingExpressionParser_ccc$288$11() {
        remainingLookahead = 4;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:288:18
            // NonTerminal function at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:288:18
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 288, 18);
            currentLookaheadProduction = "function";
            try {
                if (!check$function(true)) return false;
            } finally {
                popLookaheadStack();
            }
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:7
    private boolean scan$RankingExpressionParser_ccc$296$7() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:14
            // NonTerminal valueAddress at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:14
            pushOntoLookaheadStack("value", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 296, 14);
            currentLookaheadProduction = "valueAddress";
            try {
                if (!check$valueAddress(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:44
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:7
    private boolean scan$RankingExpressionParser_ccc$389$7() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:14
            // NonTerminal scalarOrTensorFunction at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:14
            pushOntoLookaheadStack("function", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 389, 14);
            currentLookaheadProduction = "scalarOrTensorFunction";
            try {
                if (!check$scalarOrTensorFunction(true)) return false;
            } finally {
                popLookaheadStack();
            }
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:7
    private boolean scan$RankingExpressionParser_ccc$889$7() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:16
            if (!scanToken(LSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:26
            if (!scanToken(RSQUARE)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:889:36
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:7
    private boolean scan$RankingExpressionParser_ccc$974$7() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:14
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:22
            // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:22
            pushOntoLookaheadStack("expressionList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 974, 22);
            currentLookaheadProduction = "expression";
            try {
                if (!check$expression(true)) return false;
            } finally {
                popLookaheadStack();
            }
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:48
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:5
    private boolean scan$RankingExpressionParser_ccc$1003$5() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:12
            if (!scanToken(first_set$RankingExpressionParser_ccc$1003$12)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:40
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:9
    private boolean scan$RankingExpressionParser_ccc$1085$9() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:16
            // NonTerminal mixedTensorValueBody at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:16
            pushOntoLookaheadStack("tensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1085, 16);
            currentLookaheadProduction = "mixedTensorValueBody";
            try {
                if (!check$mixedTensorValueBody(true)) return false;
            } finally {
                popLookaheadStack();
            }
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:40
    private boolean scan$RankingExpressionParser_ccc$1170$40() {
        remainingLookahead = 2;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:47
            if (!scanToken(COMMA)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:55
            // NonTerminal indexedTensorCellSubspace at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:55
            pushOntoLookaheadStack("indexedTensorCellSubspaceList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1170, 55);
            currentLookaheadProduction = "indexedTensorCellSubspace";
            try {
                if (!check$indexedTensorCellSubspace(true)) return false;
            } finally {
                popLookaheadStack();
            }
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildPredicateRoutine: expansion at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1226:5
    private boolean scan$RankingExpressionParser_ccc$1226$5() {
        remainingLookahead = 3;
        currentLookaheadToken = lastConsumedToken;
        final boolean scanToEnd = false;
        try {
            // BuildPredicateCode macro
            // End BuildPredicateCode macro
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1226:14
            if (!scanToken(LCURLY)) return false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for OneOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:7
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
            // NonTerminal labelAndDimensionValues at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1227:17
            pushOntoLookaheadStack("valueAddress", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1227, 17);
            currentLookaheadProduction = "labelAndDimensionValues";
            try {
                if (!check$labelAndDimensionValues(false)) return false;
            } finally {
                popLookaheadStack();
            }
            boolean passedPredicate8 = passedPredicate;
            try {
                while (remainingLookahead > 0 && !hitFailure) {
                    Token token9 = currentLookaheadToken;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$1227$17(false)) {
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        currentLookaheadToken = token9;
                        break;
                    }
                }
            } finally {
                passedPredicate = passedPredicate8;
            }
            hitFailure = false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1228:7
            boolean passedPredicate11 = passedPredicate;
            try {
                while (remainingLookahead > 0 && !hitFailure) {
                    Token token12 = currentLookaheadToken;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$1228$9(false)) {
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        currentLookaheadToken = token12;
                        break;
                    }
                }
            } finally {
                passedPredicate = passedPredicate11;
            }
            hitFailure = false;
            if (hitFailure) return false;
            if (remainingLookahead <= 0) {
                return true;
            }
            // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1229:7
            if (!scanToken(RCURLY)) return false;
            return true;
        } finally {
            lookaheadRoutineNesting = 0;
            currentLookaheadToken = null;
            hitFailure = false;
        }
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$expression(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:226:7
        // NonTerminal operationExpression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:226:7
        pushOntoLookaheadStack("expression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 226, 7);
        currentLookaheadProduction = "operationExpression";
        try {
            if (!check$operationExpression(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:227:7
        Token token6 = currentLookaheadToken;
        boolean passedPredicate6 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$228$11(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token6;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:231:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$operationExpression(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:243:7
        // NonTerminal value at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:243:7
        pushOntoLookaheadStack("operationExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 243, 7);
        currentLookaheadProduction = "value";
        try {
            if (!check$value(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:244:7
        boolean passedPredicate6 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token7 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$244$9(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token7;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:246:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$value(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:283:7
        Token token5 = currentLookaheadToken;
        boolean passedPredicate5 = passedPredicate;
        passedPredicate = false;
        try {
            if (!scanToken(NOT)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token5;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate5;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:284:7
        Token token7 = currentLookaheadToken;
        boolean passedPredicate7 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$284$9(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token7;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate7;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:285:9
        Token token10 = currentLookaheadToken;
        int remainingLookahead10 = remainingLookahead;
        boolean hitFailure10 = hitFailure;
        boolean passedPredicate10 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$285$9(false)) {
                currentLookaheadToken = token10;
                remainingLookahead = remainingLookahead10;
                hitFailure = hitFailure10;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$286$9(false)) {
                    currentLookaheadToken = token10;
                    remainingLookahead = remainingLookahead10;
                    hitFailure = hitFailure10;
                    return false;
                }
            }
        } finally {
            passedPredicate = passedPredicate10;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:296:5
        Token token12 = currentLookaheadToken;
        boolean passedPredicate12 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$296$7(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token12;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate12;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:297:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$ifExpression(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:311:7
        if (!scanToken(IF)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:311:12
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:311:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:311:23
        pushOntoLookaheadStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 311, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:7
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:15
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:15
        pushOntoLookaheadStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 312, 15);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:37
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:45
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:45
        pushOntoLookaheadStack("ifExpression", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 312, 45);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:68
        Token token14 = currentLookaheadToken;
        boolean passedPredicate14 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$312$70(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token14;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate14;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:312:114
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:313:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$feature(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:7
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:7
        pushOntoLookaheadStack("feature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 325, 7);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:30
        Token token6 = currentLookaheadToken;
        boolean passedPredicate6 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$325$32(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token6;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:325:66
        Token token8 = currentLookaheadToken;
        boolean passedPredicate8 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$325$68(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token8;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate8;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:326:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$legacyQueryFeature(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:343:7
        if (!scanToken(DOLLAR)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:343:16
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:343:16
        pushOntoLookaheadStack("legacyQueryFeature", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 343, 16);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:344:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$outs(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:356:9
        // NonTerminal out at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:356:9
        pushOntoLookaheadStack("outs", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 356, 9);
        currentLookaheadProduction = "out";
        try {
            if (!check$out(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:356:21
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:357:7
        boolean passedPredicate7 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token8 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$357$9(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token8;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate7;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:359:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$out(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:368:7
        Token token4 = currentLookaheadToken;
        int remainingLookahead4 = remainingLookahead;
        boolean hitFailure4 = hitFailure;
        boolean passedPredicate4 = passedPredicate;
        try {
            passedPredicate = false;
            if (!scanToken(INTEGER)) {
                currentLookaheadToken = token4;
                remainingLookahead = remainingLookahead4;
                hitFailure = hitFailure4;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!scanToken(FLOAT)) {
                    currentLookaheadToken = token4;
                    remainingLookahead = remainingLookahead4;
                    hitFailure = hitFailure4;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$370$7(false)) {
                        currentLookaheadToken = token4;
                        remainingLookahead = remainingLookahead4;
                        hitFailure = hitFailure4;
                        return false;
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:371:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$args(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:380:7
        Token token5 = currentLookaheadToken;
        boolean passedPredicate5 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$380$9(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token5;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate5;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:381:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$function(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:389:7
        Token token4 = currentLookaheadToken;
        int remainingLookahead4 = remainingLookahead;
        boolean hitFailure4 = hitFailure;
        boolean passedPredicate4 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$389$7(false)) {
                currentLookaheadToken = token4;
                remainingLookahead = remainingLookahead4;
                hitFailure = hitFailure4;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$389$52(false)) {
                    currentLookaheadToken = token4;
                    remainingLookahead = remainingLookahead4;
                    hitFailure = hitFailure4;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$389$82(false)) {
                        currentLookaheadToken = token4;
                        remainingLookahead = remainingLookahead4;
                        hitFailure = hitFailure4;
                        return false;
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:390:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$scalarOrTensorFunction(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:402:5
        Token token2 = currentLookaheadToken;
        int remainingLookahead2 = remainingLookahead;
        boolean hitFailure2 = hitFailure;
        boolean passedPredicate2 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$402$5(false)) {
                currentLookaheadToken = token2;
                remainingLookahead = remainingLookahead2;
                hitFailure = hitFailure2;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$409$5(false)) {
                    currentLookaheadToken = token2;
                    remainingLookahead = remainingLookahead2;
                    hitFailure = hitFailure2;
                    return false;
                }
            }
        } finally {
            passedPredicate = passedPredicate2;
        }
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorFunction(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:424:9
        Token token4 = currentLookaheadToken;
        int remainingLookahead4 = remainingLookahead;
        boolean hitFailure4 = hitFailure;
        boolean passedPredicate4 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$424$9$(false)) {
                currentLookaheadToken = token4;
                remainingLookahead = remainingLookahead4;
                hitFailure = hitFailure4;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$425$9(false)) {
                    currentLookaheadToken = token4;
                    remainingLookahead = remainingLookahead4;
                    hitFailure = hitFailure4;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$426$9(false)) {
                        currentLookaheadToken = token4;
                        remainingLookahead = remainingLookahead4;
                        hitFailure = hitFailure4;
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        passedPredicate = false;
                        if (!check$RankingExpressionParser_ccc$427$9(false)) {
                            currentLookaheadToken = token4;
                            remainingLookahead = remainingLookahead4;
                            hitFailure = hitFailure4;
                            if (passedPredicate && !legacyGlitchyLookahead) return false;
                            passedPredicate = false;
                            if (!check$RankingExpressionParser_ccc$428$9(false)) {
                                currentLookaheadToken = token4;
                                remainingLookahead = remainingLookahead4;
                                hitFailure = hitFailure4;
                                if (passedPredicate && !legacyGlitchyLookahead) return false;
                                passedPredicate = false;
                                if (!check$RankingExpressionParser_ccc$429$9(false)) {
                                    currentLookaheadToken = token4;
                                    remainingLookahead = remainingLookahead4;
                                    hitFailure = hitFailure4;
                                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                                    passedPredicate = false;
                                    if (!check$RankingExpressionParser_ccc$430$9(false)) {
                                        currentLookaheadToken = token4;
                                        remainingLookahead = remainingLookahead4;
                                        hitFailure = hitFailure4;
                                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                                        passedPredicate = false;
                                        if (!check$RankingExpressionParser_ccc$431$9(false)) {
                                            currentLookaheadToken = token4;
                                            remainingLookahead = remainingLookahead4;
                                            hitFailure = hitFailure4;
                                            if (passedPredicate && !legacyGlitchyLookahead) return false;
                                            passedPredicate = false;
                                            if (!check$RankingExpressionParser_ccc$432$9(false)) {
                                                currentLookaheadToken = token4;
                                                remainingLookahead = remainingLookahead4;
                                                hitFailure = hitFailure4;
                                                if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                passedPredicate = false;
                                                if (!check$RankingExpressionParser_ccc$433$9(false)) {
                                                    currentLookaheadToken = token4;
                                                    remainingLookahead = remainingLookahead4;
                                                    hitFailure = hitFailure4;
                                                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                    passedPredicate = false;
                                                    if (!check$RankingExpressionParser_ccc$434$9(false)) {
                                                        currentLookaheadToken = token4;
                                                        remainingLookahead = remainingLookahead4;
                                                        hitFailure = hitFailure4;
                                                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                        passedPredicate = false;
                                                        if (!check$RankingExpressionParser_ccc$435$9(false)) {
                                                            currentLookaheadToken = token4;
                                                            remainingLookahead = remainingLookahead4;
                                                            hitFailure = hitFailure4;
                                                            if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                            passedPredicate = false;
                                                            if (!check$RankingExpressionParser_ccc$436$9(false)) {
                                                                currentLookaheadToken = token4;
                                                                remainingLookahead = remainingLookahead4;
                                                                hitFailure = hitFailure4;
                                                                if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                passedPredicate = false;
                                                                if (!check$RankingExpressionParser_ccc$437$9(false)) {
                                                                    currentLookaheadToken = token4;
                                                                    remainingLookahead = remainingLookahead4;
                                                                    hitFailure = hitFailure4;
                                                                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                    passedPredicate = false;
                                                                    if (!check$RankingExpressionParser_ccc$438$9(false)) {
                                                                        currentLookaheadToken = token4;
                                                                        remainingLookahead = remainingLookahead4;
                                                                        hitFailure = hitFailure4;
                                                                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                        passedPredicate = false;
                                                                        if (!check$RankingExpressionParser_ccc$439$9(false)) {
                                                                            currentLookaheadToken = token4;
                                                                            remainingLookahead = remainingLookahead4;
                                                                            hitFailure = hitFailure4;
                                                                            if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                            passedPredicate = false;
                                                                            if (!check$RankingExpressionParser_ccc$440$9(false)) {
                                                                                currentLookaheadToken = token4;
                                                                                remainingLookahead = remainingLookahead4;
                                                                                hitFailure = hitFailure4;
                                                                                if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                                passedPredicate = false;
                                                                                if (!check$RankingExpressionParser_ccc$441$9(false)) {
                                                                                    currentLookaheadToken = token4;
                                                                                    remainingLookahead = remainingLookahead4;
                                                                                    hitFailure = hitFailure4;
                                                                                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                                    passedPredicate = false;
                                                                                    if (!check$RankingExpressionParser_ccc$442$9(false)) {
                                                                                        currentLookaheadToken = token4;
                                                                                        remainingLookahead = remainingLookahead4;
                                                                                        hitFailure = hitFailure4;
                                                                                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                                        passedPredicate = false;
                                                                                        if (!check$RankingExpressionParser_ccc$443$9(false)) {
                                                                                            currentLookaheadToken = token4;
                                                                                            remainingLookahead = remainingLookahead4;
                                                                                            hitFailure = hitFailure4;
                                                                                            if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                                            passedPredicate = false;
                                                                                            if (!check$RankingExpressionParser_ccc$444$9(false)) {
                                                                                                currentLookaheadToken = token4;
                                                                                                remainingLookahead = remainingLookahead4;
                                                                                                hitFailure = hitFailure4;
                                                                                                if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                                                passedPredicate = false;
                                                                                                if (!check$RankingExpressionParser_ccc$445$9(false)) {
                                                                                                    currentLookaheadToken = token4;
                                                                                                    remainingLookahead = remainingLookahead4;
                                                                                                    hitFailure = hitFailure4;
                                                                                                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                                                                                                    passedPredicate = false;
                                                                                                    if (!check$RankingExpressionParser_ccc$446$9(false)) {
                                                                                                        currentLookaheadToken = token4;
                                                                                                        remainingLookahead = remainingLookahead4;
                                                                                                        hitFailure = hitFailure4;
                                                                                                        return false;
                                                                                                    }
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:448:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorMap(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:5
        if (!scanToken(MAP)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:11
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:20
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:20
        pushOntoLookaheadStack("tensorMap", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 460, 20);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:42
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:50
        // NonTerminal lambdaFunction at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:50
        pushOntoLookaheadStack("tensorMap", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 460, 50);
        currentLookaheadProduction = "lambdaFunction";
        try {
            if (!check$lambdaFunction(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:460:82
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:461:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorMapSubspaces(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:5
        if (!scanToken(MAP_SUBSPACES)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:21
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:30
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:30
        pushOntoLookaheadStack("tensorMapSubspaces", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 474, 30);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:52
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:60
        // NonTerminal lambdaFunction at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:60
        pushOntoLookaheadStack("tensorMapSubspaces", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 474, 60);
        currentLookaheadProduction = "lambdaFunction";
        try {
            if (!check$lambdaFunction(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:474:91
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:475:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorReduce(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:5
        if (!scanToken(REDUCE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:14
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:23
        pushOntoLookaheadStack("tensorReduce", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 493, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:45
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:53
        if (!scanToken(first_set$RankingExpressionParser_ccc$493$53)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:91
        // NonTerminal tagCommaLeadingList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:91
        pushOntoLookaheadStack("tensorReduce", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 493, 91);
        currentLookaheadProduction = "tagCommaLeadingList";
        try {
            if (!check$tagCommaLeadingList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:493:126
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:494:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorReduceComposites(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:507:5
        if (!scanToken(first_set$RankingExpressionParser_ccc$507$5)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:5
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:14
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:14
        pushOntoLookaheadStack("tensorReduceComposites", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 508, 14);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:36
        // NonTerminal tagCommaLeadingList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:36
        pushOntoLookaheadStack("tensorReduceComposites", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 508, 36);
        currentLookaheadProduction = "tagCommaLeadingList";
        try {
            if (!check$tagCommaLeadingList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:508:71
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:509:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorJoin(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:5
        if (!scanToken(JOIN)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:12
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:21
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:21
        pushOntoLookaheadStack("tensorJoin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 521, 21);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:44
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:52
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:52
        pushOntoLookaheadStack("tensorJoin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 521, 52);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:75
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:83
        // NonTerminal lambdaFunction at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:83
        pushOntoLookaheadStack("tensorJoin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 521, 83);
        currentLookaheadProduction = "lambdaFunction";
        try {
            if (!check$lambdaFunction(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:521:115
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:522:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorMerge(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:5
        if (!scanToken(MERGE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:13
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:22
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:22
        pushOntoLookaheadStack("tensorMerge", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 536, 22);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:45
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:53
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:53
        pushOntoLookaheadStack("tensorMerge", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 536, 53);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:76
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:84
        // NonTerminal lambdaFunction at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:84
        pushOntoLookaheadStack("tensorMerge", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 536, 84);
        currentLookaheadProduction = "lambdaFunction";
        try {
            if (!check$lambdaFunction(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:536:116
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:537:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorRename(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:5
        if (!scanToken(RENAME)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:14
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:23
        pushOntoLookaheadStack("tensorRename", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 551, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:551:45
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:552:23
        // NonTerminal bracedIdentifierList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:552:23
        pushOntoLookaheadStack("tensorRename", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 552, 23);
        currentLookaheadProduction = "bracedIdentifierList";
        try {
            if (!check$bracedIdentifierList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:552:63
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:553:23
        // NonTerminal bracedIdentifierList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:553:23
        pushOntoLookaheadStack("tensorRename", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 553, 23);
        currentLookaheadProduction = "bracedIdentifierList";
        try {
            if (!check$bracedIdentifierList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:554:14
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:555:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorConcat(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:5
        if (!scanToken(CONCAT)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:14
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:23
        pushOntoLookaheadStack("tensorConcat", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 567, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:46
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:54
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:54
        pushOntoLookaheadStack("tensorConcat", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 567, 54);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:77
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:85
        // NonTerminal tag at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:85
        pushOntoLookaheadStack("tensorConcat", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 567, 85);
        currentLookaheadProduction = "tag";
        try {
            if (!check$tag(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:567:103
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:568:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorGenerate(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:583:5
        if (!scanToken(TENSOR)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:583:14
        // NonTerminal tensorType at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:583:14
        pushOntoLookaheadStack("tensorGenerate", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 583, 14);
        currentLookaheadProduction = "tensorType";
        try {
            if (!check$tensorType(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:585:9
        Token token6 = currentLookaheadToken;
        int remainingLookahead6 = remainingLookahead;
        boolean hitFailure6 = hitFailure;
        boolean passedPredicate6 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$585$9(false)) {
                currentLookaheadToken = token6;
                remainingLookahead = remainingLookahead6;
                hitFailure = hitFailure6;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$586$9(false)) {
                    currentLookaheadToken = token6;
                    remainingLookahead = remainingLookahead6;
                    hitFailure = hitFailure6;
                    return false;
                }
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:588:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorGenerateBody(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:599:5
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:599:14
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:599:14
        pushOntoLookaheadStack("tensorGenerateBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 599, 14);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:599:39
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:600:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorRange(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:611:5
        if (!scanToken(RANGE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:611:13
        // NonTerminal tensorType at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:611:13
        pushOntoLookaheadStack("tensorRange", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 611, 13);
        currentLookaheadProduction = "tensorType";
        try {
            if (!check$tensorType(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:612:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorDiag(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:623:5
        if (!scanToken(DIAG)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:623:12
        // NonTerminal tensorType at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:623:12
        pushOntoLookaheadStack("tensorDiag", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 623, 12);
        currentLookaheadProduction = "tensorType";
        try {
            if (!check$tensorType(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:624:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorRandom(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:635:5
        if (!scanToken(RANDOM)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:635:14
        // NonTerminal tensorType at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:635:14
        pushOntoLookaheadStack("tensorRandom", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 635, 14);
        currentLookaheadProduction = "tensorType";
        try {
            if (!check$tensorType(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:636:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorL1Normalize(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:5
        if (!scanToken(L1_NORMALIZE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:20
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:29
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:29
        pushOntoLookaheadStack("tensorL1Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 648, 29);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:51
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:59
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:59
        pushOntoLookaheadStack("tensorL1Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 648, 59);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:648:87
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:649:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorL2Normalize(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:5
        if (!scanToken(L2_NORMALIZE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:20
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:29
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:29
        pushOntoLookaheadStack("tensorL2Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 661, 29);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:51
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:59
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:59
        pushOntoLookaheadStack("tensorL2Normalize", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 661, 59);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:661:87
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:662:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorEuclideanDistance(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:5
        if (!scanToken(EUCLIDEAN_DISTANCE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:26
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:35
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:35
        pushOntoLookaheadStack("tensorEuclideanDistance", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 674, 35);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:58
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:66
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:66
        pushOntoLookaheadStack("tensorEuclideanDistance", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 674, 66);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:89
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:97
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:97
        pushOntoLookaheadStack("tensorEuclideanDistance", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 674, 97);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:674:125
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:675:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorCosineSimilarity(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:5
        if (!scanToken(COSINE_SIMILARITY)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:25
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:34
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:34
        pushOntoLookaheadStack("tensorCosineSimilarity", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 689, 34);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:57
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:65
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:65
        pushOntoLookaheadStack("tensorCosineSimilarity", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 689, 65);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:88
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:96
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:96
        pushOntoLookaheadStack("tensorCosineSimilarity", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 689, 96);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:689:124
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:690:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorMatmul(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:5
        if (!scanToken(MATMUL)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:14
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:23
        pushOntoLookaheadStack("tensorMatmul", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 704, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:46
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:54
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:54
        pushOntoLookaheadStack("tensorMatmul", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 704, 54);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:77
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:85
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:85
        pushOntoLookaheadStack("tensorMatmul", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 704, 85);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:704:113
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:705:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorSoftmax(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:5
        if (!scanToken(SOFTMAX)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:15
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:24
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:24
        pushOntoLookaheadStack("tensorSoftmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 719, 24);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:46
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:54
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:54
        pushOntoLookaheadStack("tensorSoftmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 719, 54);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:719:82
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:720:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorXwPlusB(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:5
        if (!scanToken(XW_PLUS_B)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:17
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:26
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:26
        pushOntoLookaheadStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 732, 26);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:732:49
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:733:26
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:733:26
        pushOntoLookaheadStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 733, 26);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:733:49
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:734:26
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:734:26
        pushOntoLookaheadStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 734, 26);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:734:49
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:735:26
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:735:26
        pushOntoLookaheadStack("tensorXwPlusB", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 735, 26);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:735:54
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:736:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorExpand(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:5
        if (!scanToken(EXPAND)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:14
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:23
        pushOntoLookaheadStack("tensorExpand", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 751, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:47
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:55
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:55
        pushOntoLookaheadStack("tensorExpand", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 751, 55);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:751:83
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:752:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorArgmax(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:5
        if (!scanToken(ARGMAX)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:14
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:23
        pushOntoLookaheadStack("tensorArgmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 764, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:45
        // NonTerminal tagCommaLeadingList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:45
        pushOntoLookaheadStack("tensorArgmax", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 764, 45);
        currentLookaheadProduction = "tagCommaLeadingList";
        try {
            if (!check$tagCommaLeadingList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:764:80
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:765:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorArgmin(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:5
        if (!scanToken(ARGMIN)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:14
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:23
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:23
        pushOntoLookaheadStack("tensorArgmin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 777, 23);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:45
        // NonTerminal tagCommaLeadingList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:45
        pushOntoLookaheadStack("tensorArgmin", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 777, 45);
        currentLookaheadProduction = "tagCommaLeadingList";
        try {
            if (!check$tagCommaLeadingList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:777:80
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:778:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorCellCast(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:5
        if (!scanToken(CELL_CAST)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:17
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:26
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:26
        pushOntoLookaheadStack("tensorCellCast", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 790, 26);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:48
        if (!scanToken(COMMA)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:56
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:56
        pushOntoLookaheadStack("tensorCellCast", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 790, 56);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:790:84
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:791:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorMacro(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:803:9
        // NonTerminal tensorUnpackBits at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:803:9
        pushOntoLookaheadStack("tensorMacro", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 803, 9);
        currentLookaheadProduction = "tensorUnpackBits";
        try {
            if (!check$tensorUnpackBits(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:805:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorUnpackBits(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:5
        if (!scanToken(UNPACK_BITS)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:19
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:28
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:28
        pushOntoLookaheadStack("tensorUnpackBits", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 818, 28);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:818:50
        Token token6 = currentLookaheadToken;
        boolean passedPredicate6 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$819$7(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token6;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:820:52
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:821:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$lambdaFunction(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:8
        if (!scanToken(F)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:12
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:21
        // NonTerminal identifierList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:21
        pushOntoLookaheadStack("lambdaFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 833, 21);
        currentLookaheadProduction = "identifierList";
        try {
            if (!check$identifierList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:50
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:59
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:68
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:68
        pushOntoLookaheadStack("lambdaFunction", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 833, 68);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:833:102
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:834:6
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorType(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:856:5
        // NonTerminal optionalTensorValueTypeParameter at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:856:5
        pushOntoLookaheadStack("tensorType", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 856, 5);
        currentLookaheadProduction = "optionalTensorValueTypeParameter";
        try {
            if (!check$optionalTensorValueTypeParameter(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:857:5
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:858:5
        if (!scanToken(LBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:859:5
        Token token6 = currentLookaheadToken;
        boolean passedPredicate6 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$859$7(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token6;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:860:5
        boolean passedPredicate8 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token9 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$860$7(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token9;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate8;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:861:5
        if (!scanToken(RBRACE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:862:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$optionalTensorValueTypeParameter(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:872:5
        Token token3 = currentLookaheadToken;
        boolean passedPredicate3 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$872$7(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token3;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate3;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:873:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorTypeDimension(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:882:5
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:882:5
        pushOntoLookaheadStack("tensorTypeDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 882, 5);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:883:5
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:888:7
        Token token6 = currentLookaheadToken;
        int remainingLookahead6 = remainingLookahead;
        boolean hitFailure6 = hitFailure;
        boolean passedPredicate6 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$888$7(false)) {
                currentLookaheadToken = token6;
                remainingLookahead = remainingLookahead6;
                hitFailure = hitFailure6;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$889$7(false)) {
                    currentLookaheadToken = token6;
                    remainingLookahead = remainingLookahead6;
                    hitFailure = hitFailure6;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$890$7(false)) {
                        currentLookaheadToken = token6;
                        remainingLookahead = remainingLookahead6;
                        hitFailure = hitFailure6;
                        return false;
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$expressionList(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:972:5
        if (!scanToken(LSQUARE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:973:5
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:973:5
        pushOntoLookaheadStack("expressionList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 973, 5);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:973:31
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:974:5
        boolean passedPredicate6 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token7 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$974$7(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token7;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:975:5
        if (!scanToken(RSQUARE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:976:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$doubleNumber(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:984:5
        Token token3 = currentLookaheadToken;
        boolean passedPredicate3 = passedPredicate;
        passedPredicate = false;
        try {
            if (!scanToken(SUB)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token3;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate3;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:984:33
        if (!scanToken(INTEGER, FLOAT)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:985:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$integerNumber(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:993:5
        Token token3 = currentLookaheadToken;
        boolean passedPredicate3 = passedPredicate;
        passedPredicate = false;
        try {
            if (!scanToken(SUB)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token3;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate3;
        }
        if (!scanToken(INTEGER)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:994:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$identifierStr(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1003:5
        Token token2 = currentLookaheadToken;
        int remainingLookahead2 = remainingLookahead;
        boolean hitFailure2 = hitFailure;
        boolean passedPredicate2 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1003$5(false)) {
                currentLookaheadToken = token2;
                remainingLookahead = remainingLookahead2;
                hitFailure = hitFailure2;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!scanToken(first_set$RankingExpressionParser_ccc$1004$5)) {
                    currentLookaheadToken = token2;
                    remainingLookahead = remainingLookahead2;
                    hitFailure = hitFailure2;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!scanToken(first_set$RankingExpressionParser_ccc$1005$5)) {
                        currentLookaheadToken = token2;
                        remainingLookahead = remainingLookahead2;
                        hitFailure = hitFailure2;
                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                        passedPredicate = false;
                        if (!scanToken(IF)) {
                            currentLookaheadToken = token2;
                            remainingLookahead = remainingLookahead2;
                            hitFailure = hitFailure2;
                            if (passedPredicate && !legacyGlitchyLookahead) return false;
                            passedPredicate = false;
                            if (!scanToken(IN)) {
                                currentLookaheadToken = token2;
                                remainingLookahead = remainingLookahead2;
                                hitFailure = hitFailure2;
                                if (passedPredicate && !legacyGlitchyLookahead) return false;
                                passedPredicate = false;
                                if (!scanToken(IDENTIFIER)) {
                                    currentLookaheadToken = token2;
                                    remainingLookahead = remainingLookahead2;
                                    hitFailure = hitFailure2;
                                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                                    passedPredicate = false;
                                    if (!scanToken(TRUE)) {
                                        currentLookaheadToken = token2;
                                        remainingLookahead = remainingLookahead2;
                                        hitFailure = hitFailure2;
                                        if (passedPredicate && !legacyGlitchyLookahead) return false;
                                        passedPredicate = false;
                                        if (!scanToken(FALSE)) {
                                            currentLookaheadToken = token2;
                                            remainingLookahead = remainingLookahead2;
                                            hitFailure = hitFailure2;
                                            return false;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate2;
        }
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$identifierList(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1019:5
        Token token3 = currentLookaheadToken;
        boolean passedPredicate3 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$1019$7(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token3;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate3;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1020:5
        boolean passedPredicate5 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token6 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1020$7(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token6;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate5;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1021:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$bracedIdentifierList(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1030:5
        Token token2 = currentLookaheadToken;
        int remainingLookahead2 = remainingLookahead;
        boolean hitFailure2 = hitFailure;
        boolean passedPredicate2 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1030$5(false)) {
                currentLookaheadToken = token2;
                remainingLookahead = remainingLookahead2;
                hitFailure = hitFailure2;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1032$5(false)) {
                    currentLookaheadToken = token2;
                    remainingLookahead = remainingLookahead2;
                    hitFailure = hitFailure2;
                    return false;
                }
            }
        } finally {
            passedPredicate = passedPredicate2;
        }
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tag(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1041:5
        Token token2 = currentLookaheadToken;
        int remainingLookahead2 = remainingLookahead;
        boolean hitFailure2 = hitFailure;
        boolean passedPredicate2 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1041$5(false)) {
                currentLookaheadToken = token2;
                remainingLookahead = remainingLookahead2;
                hitFailure = hitFailure2;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1042$5(false)) {
                    currentLookaheadToken = token2;
                    remainingLookahead = remainingLookahead2;
                    hitFailure = hitFailure2;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!scanToken(INTEGER)) {
                        currentLookaheadToken = token2;
                        remainingLookahead = remainingLookahead2;
                        hitFailure = hitFailure2;
                        return false;
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate2;
        }
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tagCommaLeadingList(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1052:5
        boolean passedPredicate3 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token4 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1052$7(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token4;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate3;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1053:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$constantPrimitive(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1062:5
        Token token3 = currentLookaheadToken;
        boolean passedPredicate3 = passedPredicate;
        passedPredicate = false;
        try {
            if (!scanToken(SUB)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token3;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate3;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1064:7
        if (!scanToken(first_set$RankingExpressionParser_ccc$1064$7)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1072:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorValueBody(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1083:5
        if (!scanToken(COLON)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1085:9
        Token token5 = currentLookaheadToken;
        int remainingLookahead5 = remainingLookahead;
        boolean hitFailure5 = hitFailure;
        boolean passedPredicate5 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1085$9(false)) {
                currentLookaheadToken = token5;
                remainingLookahead = remainingLookahead5;
                hitFailure = hitFailure5;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1086$9(false)) {
                    currentLookaheadToken = token5;
                    remainingLookahead = remainingLookahead5;
                    hitFailure = hitFailure5;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$1087$9(false)) {
                        currentLookaheadToken = token5;
                        remainingLookahead = remainingLookahead5;
                        hitFailure = hitFailure5;
                        return false;
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate5;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1089:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$mappedTensorValueBody(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1100:5
        if (!scanToken(LCURLY)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrOne specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1101:9
        Token token4 = currentLookaheadToken;
        boolean passedPredicate4 = passedPredicate;
        passedPredicate = false;
        try {
            if (!check$RankingExpressionParser_ccc$1101$19(false)) {
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                currentLookaheadToken = token4;
                hitFailure = false;
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1102:9
        boolean passedPredicate6 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token7 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1102$11(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token7;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate6;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1103:5
        if (!scanToken(RCURLY)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1104:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$mixedTensorValueBody(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1111:5
        // NonTerminal mixedValueObject at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1111:5
        pushOntoLookaheadStack("mixedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1111, 5);
        currentLookaheadProduction = "mixedValueObject";
        try {
            if (!check$mixedValueObject(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1112:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$mixedValueObject(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1116:5
        if (!scanToken(LCURLY)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1117:9
        // NonTerminal keyValueOrMixedBlock at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1117:9
        pushOntoLookaheadStack("mixedValueObject", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1117, 9);
        currentLookaheadProduction = "keyValueOrMixedBlock";
        try {
            if (!check$keyValueOrMixedBlock(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1118:9
        boolean passedPredicate5 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token6 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1118$11(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token6;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate5;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1119:5
        if (!scanToken(RCURLY)) return false;
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$indexedTensorValueBody(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1126:5
        // NonTerminal indexedTensorCells at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1126:5
        pushOntoLookaheadStack("indexedTensorValueBody", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1126, 5);
        currentLookaheadProduction = "indexedTensorCells";
        try {
            if (!check$indexedTensorCells(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1127:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$keyValueOrMixedBlock(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1135:5
        // NonTerminal label at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1135:5
        pushOntoLookaheadStack("keyValueOrMixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1135, 5);
        currentLookaheadProduction = "label";
        try {
            if (!check$label(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1135:19
        if (!scanToken(COLON)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1135:27
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1137:9
        Token token7 = currentLookaheadToken;
        int remainingLookahead7 = remainingLookahead;
        boolean hitFailure7 = hitFailure;
        boolean passedPredicate7 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1137$9(false)) {
                currentLookaheadToken = token7;
                remainingLookahead = remainingLookahead7;
                hitFailure = hitFailure7;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1137$26(false)) {
                    currentLookaheadToken = token7;
                    remainingLookahead = remainingLookahead7;
                    hitFailure = hitFailure7;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$1137$45(false)) {
                        currentLookaheadToken = token7;
                        remainingLookahead = remainingLookahead7;
                        hitFailure = hitFailure7;
                        return false;
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate7;
        }
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$keyValue(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1145:5
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1145:5
        pushOntoLookaheadStack("keyValue", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1145, 5);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1146:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$mixedBlock(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1153:5
        // NonTerminal indexedTensorCells at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1153:5
        pushOntoLookaheadStack("mixedBlock", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1153, 5);
        currentLookaheadProduction = "indexedTensorCells";
        try {
            if (!check$indexedTensorCells(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1154:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$indexedTensorCells(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1162:5
        if (!scanToken(LSQUARE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1162:15
        // NonTerminal indexedTensorCellSubspaceList at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1162:15
        pushOntoLookaheadStack("indexedTensorCells", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1162, 15);
        currentLookaheadProduction = "indexedTensorCellSubspaceList";
        try {
            if (!check$indexedTensorCellSubspaceList(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1162:52
        if (!scanToken(RSQUARE)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1163:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$indexedTensorCellSubspaceList(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:5
        // NonTerminal indexedTensorCellSubspace at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:5
        pushOntoLookaheadStack("indexedTensorCellSubspaceList", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1170, 5);
        currentLookaheadProduction = "indexedTensorCellSubspace";
        try {
            if (!check$indexedTensorCellSubspace(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1170:38
        boolean passedPredicate4 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token5 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1170$40(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token5;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        hitFailure = false;
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$indexedTensorCellSubspace(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1178:5
        Token token2 = currentLookaheadToken;
        int remainingLookahead2 = remainingLookahead;
        boolean hitFailure2 = hitFailure;
        boolean passedPredicate2 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1178$5(false)) {
                currentLookaheadToken = token2;
                remainingLookahead = remainingLookahead2;
                hitFailure = hitFailure2;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1180$5(false)) {
                    currentLookaheadToken = token2;
                    remainingLookahead = remainingLookahead2;
                    hitFailure = hitFailure2;
                    return false;
                }
            }
        } finally {
            passedPredicate = passedPredicate2;
        }
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$tensorCell(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1189:5
        if (!scanToken(LCURLY)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1190:5
        boolean passedPredicate4 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token5 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1190$15(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token5;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ZeroOrMore specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1191:5
        boolean passedPredicate7 = passedPredicate;
        try {
            while (remainingLookahead > 0 && !hitFailure) {
                Token token8 = currentLookaheadToken;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1191$7(false)) {
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    currentLookaheadToken = token8;
                    break;
                }
            }
        } finally {
            passedPredicate = passedPredicate7;
        }
        hitFailure = false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1192:5
        if (!scanToken(RCURLY)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1193:5
        if (!scanToken(COLON)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1193:13
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1193:13
        pushOntoLookaheadStack("tensorCell", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1193, 13);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1193:34
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$labelAndDimension(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:5
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:5
        pushOntoLookaheadStack("labelAndDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1201, 5);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:33
        if (!scanToken(COLON)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:41
        // NonTerminal label at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1201:41
        pushOntoLookaheadStack("labelAndDimension", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1201, 41);
        currentLookaheadProduction = "label";
        try {
            if (!check$label(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1202:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$labelAndDimensionValues(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:5
        // NonTerminal identifierStr at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:5
        pushOntoLookaheadStack("labelAndDimensionValues", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1211, 5);
        currentLookaheadProduction = "identifierStr";
        try {
            if (!check$identifierStr(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for Terminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:33
        if (!scanToken(COLON)) return false;
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:41
        // NonTerminal dimensionValue at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1211:41
        pushOntoLookaheadStack("labelAndDimensionValues", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1211, 41);
        currentLookaheadProduction = "dimensionValue";
        try {
            if (!check$dimensionValue(true)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1212:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$valueAddress(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1224:5
        Token token4 = currentLookaheadToken;
        int remainingLookahead4 = remainingLookahead;
        boolean hitFailure4 = hitFailure;
        boolean passedPredicate4 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1224$5$(false)) {
                currentLookaheadToken = token4;
                remainingLookahead = remainingLookahead4;
                hitFailure = hitFailure4;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!check$RankingExpressionParser_ccc$1226$5(false)) {
                    currentLookaheadToken = token4;
                    remainingLookahead = remainingLookahead4;
                    hitFailure = hitFailure4;
                    if (passedPredicate && !legacyGlitchyLookahead) return false;
                    passedPredicate = false;
                    if (!check$RankingExpressionParser_ccc$1232$5(false)) {
                        currentLookaheadToken = token4;
                        remainingLookahead = remainingLookahead4;
                        hitFailure = hitFailure4;
                        return false;
                    }
                }
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1234:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$dimensionValue(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for NonTerminal specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1242:5
        // NonTerminal expression at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1242:5
        pushOntoLookaheadStack("dimensionValue", "/workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc", 1242, 5);
        currentLookaheadProduction = "expression";
        try {
            if (!check$expression(false)) return false;
        } finally {
            popLookaheadStack();
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1243:5
        return true;
    }

    // BuildProductionLookaheadMethod macro
    private boolean check$label(boolean scanToEnd) {
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for ExpansionChoice specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1258:7
        Token token4 = currentLookaheadToken;
        int remainingLookahead4 = remainingLookahead;
        boolean hitFailure4 = hitFailure;
        boolean passedPredicate4 = passedPredicate;
        try {
            passedPredicate = false;
            if (!check$RankingExpressionParser_ccc$1258$7$(false)) {
                currentLookaheadToken = token4;
                remainingLookahead = remainingLookahead4;
                hitFailure = hitFailure4;
                if (passedPredicate && !legacyGlitchyLookahead) return false;
                passedPredicate = false;
                if (!scanToken(STRING)) {
                    currentLookaheadToken = token4;
                    remainingLookahead = remainingLookahead4;
                    hitFailure = hitFailure4;
                    return false;
                }
            }
        } finally {
            passedPredicate = passedPredicate4;
        }
        if (hitFailure) return false;
        if (remainingLookahead <= 0) {
            return true;
        }
        // Lookahead Code for CodeBlock specified at /workspace/build/buildkite/vespaai/vespa-engine-vespa/integration/schema-language-server/language-server/src/main/ccc/rankingexpression/RankingExpressionParser.ccc:1259:5
        return true;
    }

    private ArrayList parsingStack = new ArrayList<>();
    private final ArrayList lookaheadStack = new ArrayList<>();
    private EnumSet currentFollowSet;

    private void pushOntoCallStack(String methodName, String fileName, int line, int column) {
        parsingStack.add(new NonTerminalCall("RankingExpressionParser", token_source, fileName, methodName, line, column, currentFollowSet));
    }

    private void popCallStack() {
        NonTerminalCall ntc = parsingStack.remove(parsingStack.size() - 1);
        this.currentlyParsedProduction = ntc.productionName;
        this.outerFollowSet = (EnumSet) ntc.followSet;
    }

    private void restoreCallStack(int prevSize) {
        while (parsingStack.size() > prevSize) {
            popCallStack();
        }
    }

    private void pushOntoLookaheadStack(String methodName, String fileName, int line, int column) {
        lookaheadStack.add(new NonTerminalCall("RankingExpressionParser", token_source, fileName, methodName, line, column, null));
    }

    private void popLookaheadStack() {
        NonTerminalCall ntc = lookaheadStack.remove(lookaheadStack.size() - 1);
        this.currentLookaheadProduction = ntc.productionName;
    }

    void dumpLookaheadStack(PrintStream ps) {
        ListIterator it = lookaheadStack.listIterator(lookaheadStack.size());
        while (it.hasPrevious()) {
            it.previous().dump(ps);
        }
    }

    void dumpCallStack(PrintStream ps) {
        ListIterator it = parsingStack.listIterator(parsingStack.size());
        while (it.hasPrevious()) {
            it.previous().dump(ps);
        }
    }

    void dumpLookaheadCallStack(PrintStream ps) {
        ps.println("Current Parser Production is: " + currentlyParsedProduction);
        ps.println("Current Lookahead Production is: " + currentLookaheadProduction);
        ps.println("---Lookahead Stack---");
        dumpLookaheadStack(ps);
        ps.println("---Call Stack---");
        dumpCallStack(ps);
    }

    private boolean tolerantParsing = true;
    // Are we pending a recovery routine to
    // get back on the rails?
    private boolean pendingRecovery;
    private java.util.List parsingProblems = new java.util.ArrayList<>();

    public java.util.List getParsingProblems() {
        return parsingProblems;
    }

    public boolean hasProblems() {
        return !parsingProblems.isEmpty();
    }

    void addParsingProblem(ParsingProblem problem) {
        parsingProblems.add(problem);
    }

    public boolean isParserTolerant() {
        return tolerantParsing;
    }

    public void setParserTolerant(boolean tolerantParsing) {
        this.tolerantParsing = tolerantParsing;
    }

    private Token consumeToken(TokenType expectedType, boolean tolerant, EnumSet followSet) {
        Token nextToken = nextToken(lastConsumedToken);
        if (nextToken.getType() != expectedType) {
            nextToken = handleUnexpectedTokenType(expectedType, nextToken, tolerant, followSet);
        }
        this.lastConsumedToken = nextToken;
        this.nextTokenType = null;
        if (buildTree && tokensAreNodes) {
            lastConsumedToken.open();
            pushNode(lastConsumedToken);
            lastConsumedToken.close();
        }
        // Check whether the very next token is in the follow set of the last consumed token
        // and if it is not, we check one token ahead to see if skipping the next token remedies
        // the problem.
        if (followSet != null && isParserTolerant()) {
            nextToken = nextToken(lastConsumedToken);
            if (!followSet.contains(nextToken.getType())) {
                Token nextNext = nextToken(nextToken);
                if (followSet.contains(nextNext.getType())) {
                    nextToken.setSkipped(true);
                }
            }
        }
        return lastConsumedToken;
    }

    private Token handleUnexpectedTokenType(TokenType expectedType, Token nextToken, boolean tolerant, EnumSet followSet) {
        if (!this.tolerantParsing) {
            throw new ParseException(nextToken, EnumSet.of(expectedType), parsingStack);
        }
        Token nextNext = nextToken(nextToken);
        if (nextNext.getType() == expectedType) {
            nextToken.setSkipped(true);
            pushNode(nextToken);
            return nextNext;
        }
        if (tolerant || followSet == null || followSet.contains(nextToken.getType())) {
            Token virtualToken = Token.newToken(expectedType, token_source, 0, 0);
            virtualToken.setVirtual(true);
            virtualToken.copyLocationInfo(nextToken);
            return virtualToken;
        }
        throw new ParseException(nextToken, EnumSet.of(expectedType), parsingStack);
    }

    private boolean buildTree = true;
    private boolean tokensAreNodes = true;
    private boolean unparsedTokensAreNodes = false;

    public boolean isTreeBuildingEnabled() {
        return buildTree;
    }

    public void setUnparsedTokensAreNodes(boolean unparsedTokensAreNodes) {
        this.unparsedTokensAreNodes = unparsedTokensAreNodes;
    }

    public void setTokensAreNodes(boolean tokensAreNodes) {
        this.tokensAreNodes = tokensAreNodes;
    }

    NodeScope currentNodeScope = new NodeScope();

    /**
    * @return the root node of the AST. It only makes sense to call
    * this after a successful parse.
    */
    public Node rootNode() {
        return currentNodeScope.rootNode();
    }

    /**
    * push a node onto the top of the node stack
    * @param n the node to push
    */
    public void pushNode(Node n) {
        currentNodeScope.add(n);
    }

    /**
    * @return the node on the top of the stack, and remove it from the
    * stack.
    */
    public Node popNode() {
        return currentNodeScope.pop();
    }

    /**
    * @return the node currently on the top of the tree-building stack.
    */
    public Node peekNode() {
        return currentNodeScope.peek();
    }

    /**
    * Puts the node on the top of the stack. However, unlike pushNode()
    * it replaces the node that is currently on the top of the stack.
    * This is effectively equivalent to popNode() followed by pushNode(n)
    * @param n the node to poke
    */
    public void pokeNode(Node n) {
        currentNodeScope.poke(n);
    }

    /**
    * @return the number of Nodes on the tree-building stack in the current node
    * scope.
    */
    public int nodeArity() {
        return currentNodeScope.size();
    }

    private void openNodeScope(Node n) {
        new NodeScope();
        if (n != null) {
            n.setTokenSource(lastConsumedToken.getTokenSource());
            // We set the begin/end offsets based on the ending location
            // of the last consumed token. So, we start with a Node
            // of length zero. Typically this is overridden in the
            // closeNodeScope() method, unless this node has no children
            n.setBeginOffset(lastConsumedToken.getEndOffset());
            n.setEndOffset(n.getBeginOffset());
            n.setTokenSource(this.token_source);
            n.open();
        }
    }

    /* A definite node is constructed from a specified number of
    * children.  That number of nodes are popped from the stack and
    * made the children of the definite node.  Then the definite node
    * is pushed on to the stack.
    * @param n is the node whose scope is being closed
    * @param num is the number of child nodes to pop as children
    * @return @{code true}
    */
    private boolean closeNodeScope(Node n, int num) {
        n.setBeginOffset(lastConsumedToken.getEndOffset());
        n.setEndOffset(lastConsumedToken.getEndOffset());
        currentNodeScope.close();
        ArrayList nodes = new ArrayList<>();
        for (int i = 0; i < num; i++) {
            nodes.add(popNode());
        }
        Collections.reverse(nodes);
        for (Node child : nodes) {
            if (child.getInputSource() == n.getInputSource()) {
                n.setBeginOffset(child.getBeginOffset());
                break;
            }
        }
        for (Node child : nodes) {
            if (unparsedTokensAreNodes && child instanceof Token) {
                Token tok = (Token) child;
                while (tok.previousCachedToken() != null && tok.previousCachedToken().isUnparsed()) {
                    tok = tok.previousCachedToken();
                }
                boolean locationSet = false;
                while (tok.isUnparsed()) {
                    n.add(tok);
                    if (!locationSet && tok.getInputSource() == n.getInputSource() && tok.getBeginOffset() < n.getBeginOffset()) {
                        n.setBeginOffset(tok.getBeginOffset());
                        locationSet = true;
                    }
                    tok = tok.nextCachedToken();
                }
            }
            if (child.getInputSource() == n.getInputSource()) {
                n.setEndOffset(child.getEndOffset());
            }
            n.add(child);
        }
        n.close();
        pushNode(n);
        return true;
    }

    /**
    * A conditional node is constructed if the condition is true.  All
    * the nodes that have been pushed since the node was opened are
    * made children of the conditional node, which is then pushed
    * on to the stack.  If the condition is false the node is not
    * constructed and they are left on the stack.
    */
    private boolean closeNodeScope(Node n, boolean condition) {
        if (n == null || !condition) {
            currentNodeScope.close();
            return false;
        }
        return closeNodeScope(n, nodeArity());
    }

    public boolean getBuildTree() {
        return buildTree;
    }

    public void setBuildTree(boolean buildTree) {
        this.buildTree = buildTree;
    }


    @SuppressWarnings("serial")
    class NodeScope extends ArrayList {
        NodeScope parentScope;

        NodeScope() {
            this.parentScope = RankingExpressionParser.this.currentNodeScope;
            RankingExpressionParser.this.currentNodeScope = this;
        }

        boolean isRootScope() {
            return parentScope == null;
        }

        Node rootNode() {
            NodeScope ns = this;
            while (ns.parentScope != null) {
                ns = ns.parentScope;
            }
            return ns.isEmpty() ? null : ns.get(0);
        }

        Node peek() {
            if (isEmpty()) {
                return parentScope == null ? null : parentScope.peek();
            }
            return get(size() - 1);
        }

        Node pop() {
            return isEmpty() ? parentScope.pop() : remove(size() - 1);
        }

        void poke(Node n) {
            if (isEmpty()) {
                parentScope.poke(n);
            } else {
                set(size() - 1, n);
            }
        }

        void close() {
            parentScope.addAll(this);
            RankingExpressionParser.this.currentNodeScope = parentScope;
        }

        int nestingLevel() {
            int result = 0;
            NodeScope parent = this;
            while (parent.parentScope != null) {
                result++;
                parent = parent.parentScope;
            }
            return result;
        }

        public NodeScope clone() {
            NodeScope clone = (NodeScope) super.clone();
            if (parentScope != null) {
                clone.parentScope = parentScope.clone();
            }
            return clone;
        }

    }

}






© 2015 - 2024 Weber Informatics LLC | Privacy Policy