Files
JavaCompilerCore/resources/AllgemeinTest/Kombinatoren_Satisfy.jav
pl@gohorb.ba-horb.de 76f2048797
SonarQube Scan / SonarQube Trigger (push) Failing after 1m28s
new file: resources/AllgemeinTest/Kombinatoren_After.jav
new file:   resources/AllgemeinTest/Kombinatoren_After_Lazy.jav
	modified:   resources/AllgemeinTest/Kombinatoren_Or.jav
	renamed:    resources/AllgemeinTest/Kombinatoren.jav -> resources/AllgemeinTest/Kombinatoren_Satisfy.jav
	new file:   resources/AllgemeinTest/Kombinatoren_Trans.jav
	modified:   resources/AllgemeinTest/Kombinatoren_failure.jav
	new file:   resources/AllgemeinTest/Pair.java
	new file:   resources/AllgemeinTest/Parser.jav
	modified:   src/test/java/AllgemeinTest.java
2026-05-18 18:50:40 +02:00

71 lines
1.7 KiB
Java

import java.util.stream.Stream;
//import java.util.List;
import java.util.ArrayList;
import java.io.PrintStream;
import java.lang.System;
//import java.lang.String;
import java.lang.Boolean;
import java.util.function.Function;
import Pair;
import Kombinatoren_failure;
public class Kombinatoren_Satisfy {
kb = new Kombinatoren_failure();
satisfy(cond) {
// return () -> Stream.of (newToks -> new Kombinatoren_failure().failure().apply().map(x -> x.apply(newToks)));
//}
return () -> Stream.of (toks -> {
if(toks.isEmpty()) {
return new ArrayList<>().stream();
}
else
{
var fst = toks.getFirst();
if (cond.apply(fst))
{
//var newToks = List.copyOf(toks.subList(1, toks.size()));
var newToks = new ArrayList<>(toks);
return newToks.removeFirst();
kb.getContent(
kb.succeed(fst).apply().map(x -> x.apply(newToks))
);
// ;
}
}
}
);
}
/* () -> Stream.of (toks -> {
//System.out.println(toks);
if(toks.isEmpty())
{
return new ArrayList<>().stream();
}
else {
var fst = toks.getFirst();
if (cond.apply(fst))
{
var newToks = List.copyOf(toks.subList(1, toks.size()));
//System.out.println("satisfy ok " + fst.toString());
//return get(succeed(fst).apply().map(x -> x.apply(newToks)));
}
else {
//System.out.println("satisfy failure " + fst.toString());
//return get(failure().apply()).apply(toks);
}
return new ArrayList<>().stream();
} } ) ;
}
*/
}