From a7ef19bb93d5359ebc7405b1fe59d0599d8d1d32 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Fri, 1 Mar 2024 12:17:26 +0000 Subject: track inputs vs newlines and warn on missing newlines --- config-model/src/main/javacc/SchemaParser.jj | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/config-model/src/main/javacc/SchemaParser.jj b/config-model/src/main/javacc/SchemaParser.jj index 7d251bd3514..255cc3cde70 100644 --- a/config-model/src/main/javacc/SchemaParser.jj +++ b/config-model/src/main/javacc/SchemaParser.jj @@ -2006,14 +2006,27 @@ void inputs(ParsedRankProfile profile) : { Reference reference; TensorType type; + List seenInputs = new ArrayList<>(); } { ()* - ( input(profile) ()*) * + ( + reference = input(profile) { seenInputs.add(reference); } + ( { seenInputs.add(null); })* + )* + { + Reference last = null; + for (Reference current : seenInputs) { + if (last != null && current != null) { + deployLogger.logApplicationPackage(Level.WARNING, "Expected newline between inputs " + last + " and " + current); + } + last = current; + } + } } -void input(ParsedRankProfile profile) : +Reference input(ParsedRankProfile profile) : { Reference reference; InputType type = new InputType(TensorType.empty, false); @@ -2021,7 +2034,10 @@ void input(ParsedRankProfile profile) : } { reference = inputName() ( type = valueType(reference))? ( ()* defaultValue = tensorValue(type.tensorType()) )? - { profile.addInput(reference, new RankProfile.Input(reference, type, Optional.ofNullable(defaultValue))); } + { + profile.addInput(reference, new RankProfile.Input(reference, type, Optional.ofNullable(defaultValue))); + return reference; + } } /** Returns the reference "query(name)" for both "query(name)" and "name". */ -- cgit v1.2.3