Skip to content

Commit f7296d7

Browse files
committed
formatting
1 parent 739a67a commit f7296d7

18 files changed

+410
-291
lines changed

src/main/java/com/igormaznitsa/prologparser/AstItem.java

Lines changed: 68 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import com.igormaznitsa.prologparser.tokenizer.Op;
3333
import com.igormaznitsa.prologparser.tokenizer.OpAssoc;
3434
import com.igormaznitsa.prologparser.tokenizer.TermWrapper;
35-
3635
import java.util.ArrayList;
3736

3837
final class AstItem {
@@ -168,19 +167,26 @@ private boolean isPrecedenceOk() {
168167
final Op wrappedOperator = (Op) ((TermWrapper) this.savedTerm).getWrappedTerm();
169168
switch (wrappedOperator.getAssoc()) {
170169
case FX:
171-
return this.leftItem == null && (this.rightItem != null && this.rightItem.getPrecedence() < thisPrecedence);
170+
return this.leftItem == null &&
171+
(this.rightItem != null && this.rightItem.getPrecedence() < thisPrecedence);
172172
case FY:
173-
return this.leftItem == null && (this.rightItem != null && this.rightItem.getPrecedence() <= thisPrecedence);
173+
return this.leftItem == null &&
174+
(this.rightItem != null && this.rightItem.getPrecedence() <= thisPrecedence);
174175
case YF:
175-
return (this.leftItem != null && this.leftItem.getPrecedence() <= thisPrecedence) && this.rightItem == null;
176+
return (this.leftItem != null && this.leftItem.getPrecedence() <= thisPrecedence) &&
177+
this.rightItem == null;
176178
case XF:
177-
return (this.leftItem != null && this.leftItem.getPrecedence() < thisPrecedence) && this.rightItem == null;
179+
return (this.leftItem != null && this.leftItem.getPrecedence() < thisPrecedence) &&
180+
this.rightItem == null;
178181
case XFX:
179-
return (this.leftItem != null && this.leftItem.getPrecedence() < thisPrecedence) && (this.rightItem != null && this.rightItem.getPrecedence() < thisPrecedence);
182+
return (this.leftItem != null && this.leftItem.getPrecedence() < thisPrecedence) &&
183+
(this.rightItem != null && this.rightItem.getPrecedence() < thisPrecedence);
180184
case XFY:
181-
return (this.leftItem != null && this.leftItem.getPrecedence() < thisPrecedence) && (this.rightItem != null && this.rightItem.getPrecedence() <= thisPrecedence);
185+
return (this.leftItem != null && this.leftItem.getPrecedence() < thisPrecedence) &&
186+
(this.rightItem != null && this.rightItem.getPrecedence() <= thisPrecedence);
182187
case YFX:
183-
return (this.leftItem != null && this.leftItem.getPrecedence() <= thisPrecedence) && (this.rightItem != null && this.rightItem.getPrecedence() < thisPrecedence);
188+
return (this.leftItem != null && this.leftItem.getPrecedence() <= thisPrecedence) &&
189+
(this.rightItem != null && this.rightItem.getPrecedence() < thisPrecedence);
184190
default:
185191
throw new CriticalUnexpectedError();
186192
}
@@ -217,66 +223,91 @@ PrologTerm convertToTermAndRelease(final PrologParser parser) {
217223
final TermWrapper wrapper = (TermWrapper) this.savedTerm;
218224
if (this.leftItem == null && this.rightItem == null) {
219225
// it is an atom because it has not any argument
220-
return new PrologAtom(wrapper.getWrappedTerm().getText(), wrapper.getQuotation(), wrapper.getPos(), wrapper.getLine());
226+
return new PrologAtom(wrapper.getWrappedTerm().getText(), wrapper.getQuotation(),
227+
wrapper.getPos(), wrapper.getLine());
221228
}
222229

223230
if (this.leftItem == null) {
224-
if (this.rightItem.getType() == TermType.STRUCT && this.rightItem.savedTerm.isAnyBlock() && !((PrologStruct) this.rightItem.savedTerm).isEmpty()) {
231+
if (this.rightItem.getType() == TermType.STRUCT &&
232+
this.rightItem.savedTerm.isAnyBlock() &&
233+
!((PrologStruct) this.rightItem.savedTerm).isEmpty()) {
225234

226235
final PrologTerm rightTerm = this.rightItem.convertToTermAndRelease(parser);
227236
Op operator = (Op) wrapper.getWrappedTerm();
228237
final PrologTerm blockContent = ((PrologStruct) rightTerm).getTermAt(0);
229238

230239
if (blockContent.getType() == TermType.STRUCT) {
231-
final PrologTerm[] terms = blockContent.flatComma(new ArrayList<>()).toArray(PrologParser.EMPTY_TERM_ARRAY);
240+
final PrologTerm[] terms =
241+
blockContent.flatComma(new ArrayList<>()).toArray(PrologParser.EMPTY_TERM_ARRAY);
232242

233243
if (operator.getArity() == terms.length) {
234244
return new PrologStruct(operator, terms, wrapper.getLine(), wrapper.getPos());
235245
} else {
236-
final Op appropriateOperator = parser.getContext().findOpForName(parser, operator.getText()).findForArity(terms.length);
246+
final Op appropriateOperator =
247+
parser.getContext().findOpForName(parser, operator.getText())
248+
.findForArity(terms.length);
237249

238250
if (appropriateOperator == null) {
239251
if (operator.getArity() == 1) {
240-
return new PrologStruct(operator, new PrologTerm[] {blockContent}, wrapper.getLine(), wrapper.getPos());
252+
return new PrologStruct(operator, new PrologTerm[] {blockContent},
253+
wrapper.getLine(), wrapper.getPos());
241254
} else {
242-
return new PrologStruct(new PrologAtom(wrapper.getText(), Quotation.SINGLE, wrapper.getLine(), wrapper.getPos()), terms, wrapper.getLine(), wrapper.getPos());
255+
return new PrologStruct(
256+
new PrologAtom(wrapper.getText(), Quotation.SINGLE, wrapper.getLine(),
257+
wrapper.getPos()), terms, wrapper.getLine(), wrapper.getPos());
243258
}
244259
} else {
245-
return new PrologStruct(appropriateOperator, terms, wrapper.getLine(), wrapper.getPos());
260+
return new PrologStruct(appropriateOperator, terms, wrapper.getLine(),
261+
wrapper.getPos());
246262
}
247263
}
248264

249265
} else {
250266
if (rightTerm.isCurlyBlock()) {
251-
return new PrologStruct(operator, new PrologTerm[] {rightTerm}, wrapper.getLine(), wrapper.getPos());
267+
return new PrologStruct(operator, new PrologTerm[] {rightTerm}, wrapper.getLine(),
268+
wrapper.getPos());
252269
} else {
253270
if (operator.getArity() == 1) {
254-
return new PrologStruct(operator, new PrologTerm[] {blockContent}, wrapper.getLine(), wrapper.getPos());
271+
return new PrologStruct(operator, new PrologTerm[] {blockContent},
272+
wrapper.getLine(), wrapper.getPos());
255273
} else {
256-
operator = parser.getContext().findOpForName(parser, operator.getText()).findForArity(1);
257-
return operator == null ? new PrologStruct(new PrologAtom(wrapper.getText(), Quotation.SINGLE, wrapper.getLine(), wrapper.getPos()), new PrologTerm[] {blockContent}, wrapper.getLine(), wrapper.getPos())
258-
: new PrologStruct(operator, new PrologTerm[] {blockContent}, wrapper.getLine(), wrapper.getPos());
274+
operator =
275+
parser.getContext().findOpForName(parser, operator.getText()).findForArity(1);
276+
return operator == null ? new PrologStruct(
277+
new PrologAtom(wrapper.getText(), Quotation.SINGLE, wrapper.getLine(),
278+
wrapper.getPos()), new PrologTerm[] {blockContent}, wrapper.getLine(),
279+
wrapper.getPos())
280+
:
281+
new PrologStruct(operator, new PrologTerm[] {blockContent}, wrapper.getLine(),
282+
wrapper.getPos());
259283
}
260284
}
261285
}
262286
}
263287
} else if (this.isAnyBlock() && this.leftItem.isAnyBlock()) {
264-
return new PrologStruct(wrapper.getWrappedTerm(), new PrologTerm[] {this.leftItem.convertToTermAndRelease(parser)}, wrapper.getLine(), wrapper.getPos());
288+
return new PrologStruct(wrapper.getWrappedTerm(),
289+
new PrologTerm[] {this.leftItem.convertToTermAndRelease(parser)}, wrapper.getLine(),
290+
wrapper.getPos());
265291
}
266292

267293
if (!isOperandsOk()) {
268-
throw new PrologParserException("No operands: [" + wrapper.getText() + ']', wrapper.getLine(), wrapper.getPos());
294+
throw new PrologParserException("No operands: [" + wrapper.getText() + ']',
295+
wrapper.getLine(), wrapper.getPos());
269296
}
270297

271298
final PrologTerm left;
272299
final PrologTerm right;
273300

274301
if (!isPrecedenceOk()) {
275-
if (this.rightItem != null && this.rightItem.isOperator() && this.rightItem.getOpAssoc().isPrefix()) {
302+
if (this.rightItem != null && this.rightItem.isOperator() &&
303+
this.rightItem.getOpAssoc().isPrefix()) {
276304
left = this.leftItem == null ? null : this.leftItem.convertToTermAndRelease(parser);
277-
right = new PrologStruct(Op.VIRTUAL_OPERATOR_BLOCK, new PrologTerm[] {this.rightItem.convertToTermAndRelease(parser)});
305+
right = new PrologStruct(Op.VIRTUAL_OPERATOR_BLOCK,
306+
new PrologTerm[] {this.rightItem.convertToTermAndRelease(parser)});
278307
} else {
279-
throw new PrologParserException("Operator precedence clash or missing operator: [" + wrapper.getText() + ']', wrapper.getLine(), wrapper.getPos());
308+
throw new PrologParserException(
309+
"Operator precedence clash or missing operator: [" + wrapper.getText() + ']',
310+
wrapper.getLine(), wrapper.getPos());
280311
}
281312
} else {
282313
left = this.leftItem == null ? null : this.leftItem.convertToTermAndRelease(parser);
@@ -294,23 +325,30 @@ PrologTerm convertToTermAndRelease(final PrologParser parser) {
294325

295326
final PrologStruct operatorStruct;
296327
if (left == null) {
297-
operatorStruct = new PrologStruct(wrapper.getWrappedTerm(), new PrologTerm[] {right}, wrapper.getLine(), wrapper.getPos());
328+
operatorStruct = new PrologStruct(wrapper.getWrappedTerm(), new PrologTerm[] {right},
329+
wrapper.getLine(), wrapper.getPos());
298330
} else {
299-
operatorStruct = new PrologStruct(wrapper.getWrappedTerm(), right == null ? new PrologTerm[] {left} : new PrologTerm[] {left, right}, wrapper.getLine(), wrapper.getPos());
331+
operatorStruct = new PrologStruct(wrapper.getWrappedTerm(),
332+
right == null ? new PrologTerm[] {left} : new PrologTerm[] {left, right},
333+
wrapper.getLine(), wrapper.getPos());
300334
}
301335
result = operatorStruct;
302336
}
303337
break;
304338
case STRUCT: {
305339
final PrologStruct thisStruct = (PrologStruct) this.savedTerm;
306-
if ((thisStruct.getFunctor() == Op.VIRTUAL_OPERATOR_BLOCK || thisStruct.getFunctor() == Op.VIRTUAL_OPERATOR_CURLY_BLOCK)
340+
if ((thisStruct.getFunctor() == Op.VIRTUAL_OPERATOR_BLOCK ||
341+
thisStruct.getFunctor() == Op.VIRTUAL_OPERATOR_CURLY_BLOCK)
307342
&& thisStruct.getArity() == 1) {
308343

309344
final PrologTerm thatTerm = thisStruct.getTermAt(0);
310345

311-
if (thatTerm.getType() == TermType.STRUCT && (thatTerm.getFunctor() == Op.VIRTUAL_OPERATOR_BLOCK || thatTerm.getFunctor() == Op.VIRTUAL_OPERATOR_CURLY_BLOCK)) {
346+
if (thatTerm.getType() == TermType.STRUCT &&
347+
(thatTerm.getFunctor() == Op.VIRTUAL_OPERATOR_BLOCK ||
348+
thatTerm.getFunctor() == Op.VIRTUAL_OPERATOR_CURLY_BLOCK)) {
312349
// rolling normal blocks
313-
result = thatTerm.isBlock() && this.isBlock() && (this.parentItem == null || this.parentItem.isBlock()) ? thatTerm : thisStruct;
350+
result = thatTerm.isBlock() && this.isBlock() &&
351+
(this.parentItem == null || this.parentItem.isBlock()) ? thatTerm : thisStruct;
314352
} else {
315353
result = thisStruct;
316354
}

src/main/java/com/igormaznitsa/prologparser/DefaultParserContext.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@
2121

2222
package com.igormaznitsa.prologparser;
2323

24+
import static java.util.stream.IntStream.rangeClosed;
25+
2426
import com.igormaznitsa.prologparser.terms.OpContainer;
2527
import com.igormaznitsa.prologparser.tokenizer.Op;
26-
2728
import java.util.Collections;
2829
import java.util.HashMap;
2930
import java.util.HashSet;
@@ -33,8 +34,6 @@
3334
import java.util.Set;
3435
import java.util.stream.Stream;
3536

36-
import static java.util.stream.IntStream.rangeClosed;
37-
3837
/**
3938
* Default implementation of parser context.
4039
* <b>It is not thread safe one!</b>
@@ -102,7 +101,8 @@ public DefaultParserContext addOps(final Op... operators) {
102101
}
103102

104103
@Override
105-
public boolean hasOpStartsWith(final PrologParser source, final String operatorNameStartSubstring) {
104+
public boolean hasOpStartsWith(final PrologParser source,
105+
final String operatorNameStartSubstring) {
106106
return this.opPrefixes.contains(operatorNameStartSubstring);
107107
}
108108

src/main/java/com/igormaznitsa/prologparser/ParserContext.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public interface ParserContext {
6464
int FLAG_DOT2_AS_LIST = 32;
6565
/**
6666
* White-space char is allowed in zero quotation mode.
67+
*
6768
* @since 2.0.2
6869
*/
6970
int FLAG_ZERO_QUOTATION_ALLOWS_WHITESPACE_CHAR = 64;

src/main/java/com/igormaznitsa/prologparser/ParserContextChain.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,13 @@
2121

2222
package com.igormaznitsa.prologparser;
2323

24-
import com.igormaznitsa.prologparser.terms.OpContainer;
24+
import static java.util.Arrays.stream;
25+
import static java.util.Objects.requireNonNull;
2526

27+
import com.igormaznitsa.prologparser.terms.OpContainer;
2628
import java.util.Objects;
2729
import java.util.stream.Stream;
2830

29-
import static java.util.Arrays.stream;
30-
import static java.util.Objects.requireNonNull;
31-
3231
/**
3332
* Auxiliary class allows to make chain of prolog contexts.
3433
*/
@@ -39,7 +38,9 @@ public class ParserContextChain implements ParserContext {
3938

4039
public ParserContextChain(final ParserContext... contexts) {
4140
this.contexts = stream(contexts).filter(Objects::nonNull).toArray(ParserContext[]::new);
42-
this.minDetectedAllowedBufferSize = Stream.of(this.contexts).mapToInt(ParserContext::getMaxTokenizerBufferLength).min().orElse(Integer.MAX_VALUE);
41+
this.minDetectedAllowedBufferSize =
42+
Stream.of(this.contexts).mapToInt(ParserContext::getMaxTokenizerBufferLength).min()
43+
.orElse(Integer.MAX_VALUE);
4344
this.tokenizerFlags = stream(this.contexts)
4445
.mapToInt(ParserContext::getFlags)
4546
.reduce(FLAG_NONE, (a, b) -> a | b);

0 commit comments

Comments
 (0)