Update the copyright notice with the license. Remove obsolete artefacts and "generated" markings.
This commit is contained in:
parent
7c5274aacb
commit
90044e69c7
|
|
@ -0,0 +1,6 @@
|
|||
<component name="CopyrightManager">
|
||||
<copyright>
|
||||
<option name="myName" value="Apache 2.0" />
|
||||
<option name="notice" value="Copyright 2014-&#36;today.year JetBrains s.r.o. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." />
|
||||
</copyright>
|
||||
</component>
|
||||
|
|
@ -1,3 +1,7 @@
|
|||
<component name="CopyrightManager">
|
||||
<settings default="" />
|
||||
<settings default="Apache 2.0">
|
||||
<module2copyright>
|
||||
<element module="source" copyright="Apache 2.0" />
|
||||
</module2copyright>
|
||||
</settings>
|
||||
</component>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<component name="DependencyValidationManager">
|
||||
<scope name="source" pattern="file[API]:src//*||file[Core]:src//*" />
|
||||
</component>
|
||||
|
|
@ -2,41 +2,20 @@
|
|||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="1">
|
||||
<option name="compilerInfo">
|
||||
<KotlinCompilerInfo>
|
||||
<option name="compilerSettings">
|
||||
<CompilerSettings />
|
||||
</option>
|
||||
<option name="k2jsCompilerArguments">
|
||||
<K2JSCompilerArguments />
|
||||
</option>
|
||||
<option name="k2jvmCompilerArguments">
|
||||
<K2JVMCompilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
</K2JVMCompilerArguments>
|
||||
</option>
|
||||
<option name="_commonCompilerArguments">
|
||||
<DummyImpl>
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</DummyImpl>
|
||||
</option>
|
||||
</KotlinCompilerInfo>
|
||||
</option>
|
||||
<option name="useProjectSettings" value="false" />
|
||||
<option name="versionInfo">
|
||||
<KotlinVersionInfo>
|
||||
<option name="apiLevel" value="1.1" />
|
||||
<option name="languageLevel" value="1.1" />
|
||||
<option name="targetPlatformName" value="JVM 1.8" />
|
||||
</KotlinVersionInfo>
|
||||
</option>
|
||||
<configuration version="2" platform="JVM 1.8" useProjectSettings="false">
|
||||
<compilerSettings />
|
||||
<compilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
<option name="languageVersion" value="1.1" />
|
||||
<option name="apiVersion" value="1.1" />
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,25 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/**
|
||||
* Not very useful now.
|
||||
* Serves as an abstract superclass for implementations, as a mixin of Instructible and Queryable.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public abstract class AbstractSolver implements Instructible, Queryable {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,21 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.logical.LogicalContext;
|
||||
import jetbrains.mps.logic.reactor.program.Constraint;
|
||||
|
|
@ -9,6 +24,8 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* Represents a run-time object corresponding to an actual constraint.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface ConstraintOccurrence {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,35 @@
|
|||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
|
||||
/**
|
||||
* Thrown in case evaluation fails.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public class EvaluationFailureException extends RuntimeException {
|
||||
|
||||
public EvaluationFailureException(String message) {
|
||||
super(message);
|
||||
}
|
||||
public EvaluationFailureException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public EvaluationFailureException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
public EvaluationFailureException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,41 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.logical.LogicalContext;
|
||||
import jetbrains.mps.logic.reactor.program.*;
|
||||
|
||||
import java.util.List;
|
||||
import jetbrains.mps.logic.reactor.program.Constraint;
|
||||
import jetbrains.mps.logic.reactor.program.Predicate;
|
||||
import jetbrains.mps.logic.reactor.program.PredicateSymbol;
|
||||
import jetbrains.mps.logic.reactor.program.Program;
|
||||
|
||||
/**
|
||||
* The starting point to evaluate a program.
|
||||
*
|
||||
* <p>
|
||||
* The session is started with {@code newSession}, provided the backend has been initialized.
|
||||
*
|
||||
* <p>
|
||||
* The backend is supposed to be provided at startup.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public abstract class EvaluationSession {
|
||||
|
||||
private static EvaluationSession.Backend ourBackend;
|
||||
|
||||
public static EvaluationSession current() {
|
||||
if (ourBackend == null) {
|
||||
throw new IllegalStateException("no backend");
|
||||
|
|
@ -30,6 +50,36 @@ public abstract class EvaluationSession {
|
|||
return ourBackend.createConfig(program);
|
||||
}
|
||||
|
||||
protected static void setBackend(EvaluationSession.Backend backend) {
|
||||
if (ourBackend != null) {
|
||||
throw new IllegalStateException("backend already assigned");
|
||||
}
|
||||
ourBackend = backend;
|
||||
}
|
||||
|
||||
protected static void clearBackend(EvaluationSession.Backend backend) {
|
||||
if (ourBackend != backend) {
|
||||
throw new IllegalStateException("illegal access");
|
||||
}
|
||||
ourBackend = null;
|
||||
}
|
||||
|
||||
public abstract SessionSolver sessionSolver();
|
||||
|
||||
public abstract StoreView storeView();
|
||||
|
||||
public abstract PredicateInvocation invocation(Predicate predicate, LogicalContext logicalContext);
|
||||
|
||||
public abstract ConstraintOccurrence occurrence(Constraint constraint, LogicalContext logicalContext);
|
||||
|
||||
protected interface Backend {
|
||||
|
||||
EvaluationSession current();
|
||||
|
||||
EvaluationSession.Config createConfig(Program program);
|
||||
|
||||
}
|
||||
|
||||
public static abstract class Config {
|
||||
|
||||
public abstract EvaluationSession.Config withPredicates(PredicateSymbol... predicateSymbols);
|
||||
|
|
@ -44,36 +94,4 @@ public abstract class EvaluationSession {
|
|||
|
||||
}
|
||||
|
||||
public abstract SessionSolver sessionSolver();
|
||||
|
||||
public abstract StoreView storeView();
|
||||
|
||||
public abstract PredicateInvocation invocation(Predicate predicate, LogicalContext logicalContext);
|
||||
|
||||
public abstract ConstraintOccurrence occurrence(Constraint constraint, LogicalContext logicalContext);
|
||||
|
||||
protected static void setBackend(EvaluationSession.Backend backend) {
|
||||
if (ourBackend != null) {
|
||||
throw new IllegalStateException("backend already assigned");
|
||||
}
|
||||
ourBackend = backend;
|
||||
}
|
||||
|
||||
protected static void clearBackend(EvaluationSession.Backend backend) {
|
||||
if (ourBackend != backend) {
|
||||
throw new IllegalStateException("illegal access");
|
||||
}
|
||||
ourBackend = null;
|
||||
}
|
||||
|
||||
protected interface Backend {
|
||||
|
||||
EvaluationSession current();
|
||||
|
||||
EvaluationSession.Config createConfig(Program program);
|
||||
|
||||
}
|
||||
|
||||
private static EvaluationSession.Backend ourBackend;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,68 +1,96 @@
|
|||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
|
||||
/**
|
||||
* An interface to be implemented by clients wishing to be notified of the events during evaluation.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface EvaluationTrace {
|
||||
|
||||
void activate(ConstraintOccurrence occurrence);
|
||||
EvaluationTrace NULL = new EvaluationTrace() {
|
||||
|
||||
void reactivate(ConstraintOccurrence occurrence);
|
||||
public void activate(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
|
||||
void suspend(ConstraintOccurrence occurrence);
|
||||
public void reactivate(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
|
||||
void discard(ConstraintOccurrence occurrence);
|
||||
public void suspend(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
|
||||
void trying(MatchRule matchRule);
|
||||
public void discard(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
|
||||
void reject(MatchRule matchRule);
|
||||
public void trying(MatchRule matchRule) {
|
||||
}
|
||||
|
||||
void trigger(MatchRule matchRule);
|
||||
public void reject(MatchRule matchRule) {
|
||||
}
|
||||
|
||||
void retry(MatchRule matchRule);
|
||||
public void trigger(MatchRule matchRule) {
|
||||
}
|
||||
|
||||
void finish(MatchRule matchRule);
|
||||
public void retry(MatchRule matchRule) {
|
||||
}
|
||||
|
||||
void tell(PredicateInvocation invocation);
|
||||
public void finish(MatchRule matchRule) {
|
||||
}
|
||||
|
||||
void ask(boolean result, PredicateInvocation invocation);
|
||||
public void tell(PredicateInvocation invocation) {
|
||||
}
|
||||
|
||||
void failure(EvaluationFailureException fail);
|
||||
public void ask(boolean result, PredicateInvocation invocation) {
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
void reportFailure(String message);
|
||||
public void failure(EvaluationFailureException fail) {
|
||||
}
|
||||
|
||||
EvaluationTrace NULL = new EvaluationTrace() {
|
||||
public void reportFailure(String message) {
|
||||
}
|
||||
|
||||
public void activate(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
public void reactivate(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
public void suspend(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
public void discard(ConstraintOccurrence occurrence) {
|
||||
}
|
||||
public void trying(MatchRule matchRule) {
|
||||
}
|
||||
public void reject(MatchRule matchRule) {
|
||||
}
|
||||
public void trigger(MatchRule matchRule) {
|
||||
}
|
||||
public void retry(MatchRule matchRule) {
|
||||
}
|
||||
public void finish(MatchRule matchRule) {
|
||||
}
|
||||
public void tell(PredicateInvocation invocation) {
|
||||
}
|
||||
public void ask(boolean result, PredicateInvocation invocation) {
|
||||
}
|
||||
public void failure(EvaluationFailureException fail) {
|
||||
}
|
||||
public void reportFailure(String message) {
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
void activate(ConstraintOccurrence occurrence);
|
||||
|
||||
void reactivate(ConstraintOccurrence occurrence);
|
||||
|
||||
void suspend(ConstraintOccurrence occurrence);
|
||||
|
||||
void discard(ConstraintOccurrence occurrence);
|
||||
|
||||
void trying(MatchRule matchRule);
|
||||
|
||||
void reject(MatchRule matchRule);
|
||||
|
||||
void trigger(MatchRule matchRule);
|
||||
|
||||
void retry(MatchRule matchRule);
|
||||
|
||||
void finish(MatchRule matchRule);
|
||||
|
||||
void tell(PredicateInvocation invocation);
|
||||
|
||||
void ask(boolean result, PredicateInvocation invocation);
|
||||
|
||||
void failure(EvaluationFailureException fail);
|
||||
|
||||
@Deprecated
|
||||
void reportFailure(String message);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,26 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
/**
|
||||
* Abstract interface to a predicate.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface Instructible {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,35 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.program.Rule;
|
||||
|
||||
/**
|
||||
* A binding of a rule and the constraints that matched its head.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface MatchRule {
|
||||
|
||||
Rule rule();
|
||||
Rule rule();
|
||||
|
||||
Iterable<ConstraintOccurrence> matchHeadKept();
|
||||
Iterable<ConstraintOccurrence> matchHeadKept();
|
||||
|
||||
Iterable<ConstraintOccurrence> matchHeadReplaced();
|
||||
Iterable<ConstraintOccurrence> matchHeadReplaced();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,21 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.logical.LogicalContext;
|
||||
import jetbrains.mps.logic.reactor.program.Predicate;
|
||||
|
|
@ -8,7 +23,9 @@ import jetbrains.mps.logic.reactor.program.Predicate;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A run-time object representing invocation of a predicate.
|
||||
* A run-time object representing invocation of a predicate.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface PredicateInvocation {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,26 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
/**
|
||||
* Abstract interface to a predicate.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface Queryable extends Instructible {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,21 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.logical.LogicalContext;
|
||||
import jetbrains.mps.logic.reactor.program.AndItem;
|
||||
|
|
@ -12,9 +27,14 @@ import java.util.Map;
|
|||
|
||||
/**
|
||||
* Is used to provide an interface for handlers and solvers working together in a single session.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public abstract class SessionSolver implements Queryable, Instructible {
|
||||
|
||||
private Map<PredicateSymbol, AbstractSolver> solvers = new HashMap<PredicateSymbol, AbstractSolver>();
|
||||
private EvaluationTrace tracer = EvaluationTrace.NULL;
|
||||
|
||||
public void init(PredicateSymbol... predicateSymbols) {
|
||||
registerSymbols(predicateSymbols);
|
||||
}
|
||||
|
|
@ -72,8 +92,4 @@ public abstract class SessionSolver implements Queryable, Instructible {
|
|||
}
|
||||
}
|
||||
|
||||
private Map<PredicateSymbol, AbstractSolver> solvers = new HashMap<PredicateSymbol, AbstractSolver>();
|
||||
|
||||
private EvaluationTrace tracer = EvaluationTrace.NULL;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,27 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.evaluation;
|
||||
|
||||
import jetbrains.mps.logic.reactor.program.ConstraintSymbol;
|
||||
|
||||
/**
|
||||
* A read-only view on the constraints store.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface StoreView {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,441 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<debug-info version="2">
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123140:jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123155:jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068390468200:jetbrains.mps.baseLanguage.structure.FieldDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1144226303539:jetbrains.mps.baseLanguage.structure.ForeachStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123159:jetbrains.mps.baseLanguage.structure.IfStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123165:jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242864:jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242878:jetbrains.mps.baseLanguage.structure.ReturnStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123157:jetbrains.mps.baseLanguage.structure.Statement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070462154015:jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1081236700938:jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070475587102:jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1164991038168:jetbrains.mps.baseLanguage.structure.ThrowStatement" />
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/2394628030058821331">
|
||||
<file name="EvaluationTrace.java">
|
||||
<node id="1568093847249272547" at="8,0,9,0" concept="5" trace="activate#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="1568093847249273983" at="10,0,11,0" concept="5" trace="reactivate#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="1568093847249274899" at="12,0,13,0" concept="5" trace="suspend#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="1568093847249275822" at="14,0,15,0" concept="5" trace="discard#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="1568093847249552578" at="16,0,17,0" concept="5" trace="trying#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="3333055194078038340" at="18,0,19,0" concept="5" trace="reject#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="3363149567546654801" at="20,0,21,0" concept="5" trace="trigger#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="2986800734055686125" at="22,0,23,0" concept="5" trace="retry#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="3363149567546659619" at="24,0,25,0" concept="5" trace="finish#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="3363149567546696093" at="26,0,27,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)V" />
|
||||
<node id="3363149567546698865" at="28,0,29,0" concept="5" trace="ask#(ZLjetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)V" />
|
||||
<node id="8638394859473148184" at="30,0,31,0" concept="5" trace="failure#(Ljetbrains/mps/logic/reactor/evaluation/EvaluationFailureException;)V" />
|
||||
<node id="8344829839210112466" at="32,0,34,0" concept="5" trace="reportFailure#(Ljava/lang/String;)V" />
|
||||
<node id="1568093847249278110" at="37,0,39,0" concept="5" trace="activate#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="1568093847249278118" at="39,0,41,0" concept="5" trace="reactivate#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="1568093847249278126" at="41,0,43,0" concept="5" trace="suspend#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="1568093847249278134" at="43,0,45,0" concept="5" trace="discard#(Ljetbrains/mps/logic/reactor/evaluation/ConstraintOccurrence;)V" />
|
||||
<node id="3363149567546683107" at="45,0,47,0" concept="5" trace="trying#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="3333055194078066890" at="47,0,49,0" concept="5" trace="reject#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="1568093847249562172" at="49,0,51,0" concept="5" trace="trigger#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="2986800734055864889" at="51,0,53,0" concept="5" trace="retry#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="3363149567546683115" at="53,0,55,0" concept="5" trace="finish#(Ljetbrains/mps/logic/reactor/evaluation/MatchRule;)V" />
|
||||
<node id="3363149567546702045" at="55,0,57,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)V" />
|
||||
<node id="3363149567546702053" at="57,0,59,0" concept="5" trace="ask#(ZLjetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)V" />
|
||||
<node id="8638394859473171854" at="59,0,61,0" concept="5" trace="failure#(Ljetbrains/mps/logic/reactor/evaluation/EvaluationFailureException;)V" />
|
||||
<node id="5160444407776325559" at="61,0,63,0" concept="5" trace="reportFailure#(Ljava/lang/String;)V" />
|
||||
<node id="5160444407776320865" at="35,0,65,0" concept="9" trace="NULL" />
|
||||
<scope id="1568093847249278117" at="37,59,37,59" />
|
||||
<scope id="1568093847249278125" at="39,61,39,61" />
|
||||
<scope id="1568093847249278133" at="41,58,41,58" />
|
||||
<scope id="1568093847249278141" at="43,58,43,58" />
|
||||
<scope id="3363149567546683114" at="45,45,45,45" />
|
||||
<scope id="3333055194078066897" at="47,45,47,45" />
|
||||
<scope id="1568093847249562179" at="49,46,49,46" />
|
||||
<scope id="2986800734055864896" at="51,44,51,44" />
|
||||
<scope id="3363149567546683122" at="53,45,53,45" />
|
||||
<scope id="3363149567546702052" at="55,54,55,54" />
|
||||
<scope id="3363149567546702062" at="57,69,57,69" />
|
||||
<scope id="8638394859473171861" at="59,58,59,58" />
|
||||
<scope id="5160444407776325565" at="61,47,61,47" />
|
||||
<scope id="1568093847249272547" at="8,0,9,0">
|
||||
<var name="occurrence" id="1568093847249273451" />
|
||||
</scope>
|
||||
<scope id="1568093847249273983" at="10,0,11,0">
|
||||
<var name="occurrence" id="1568093847249273984" />
|
||||
</scope>
|
||||
<scope id="1568093847249274899" at="12,0,13,0">
|
||||
<var name="occurrence" id="1568093847249274900" />
|
||||
</scope>
|
||||
<scope id="1568093847249275822" at="14,0,15,0">
|
||||
<var name="occurrence" id="1568093847249275823" />
|
||||
</scope>
|
||||
<scope id="1568093847249552578" at="16,0,17,0">
|
||||
<var name="matchRule" id="6976745534798433645" />
|
||||
</scope>
|
||||
<scope id="3333055194078038340" at="18,0,19,0">
|
||||
<var name="matchRule" id="3333055194078038341" />
|
||||
</scope>
|
||||
<scope id="3363149567546654801" at="20,0,21,0">
|
||||
<var name="matchRule" id="3363149567546654802" />
|
||||
</scope>
|
||||
<scope id="2986800734055686125" at="22,0,23,0">
|
||||
<var name="matchRule" id="2986800734055689899" />
|
||||
</scope>
|
||||
<scope id="3363149567546659619" at="24,0,25,0">
|
||||
<var name="matchRule" id="3363149567546682377" />
|
||||
</scope>
|
||||
<scope id="3363149567546696093" at="26,0,27,0">
|
||||
<var name="invocation" id="3363149567546697590" />
|
||||
</scope>
|
||||
<scope id="3363149567546698865" at="28,0,29,0">
|
||||
<var name="invocation" id="3363149567546698866" />
|
||||
<var name="result" id="3363149567546700611" />
|
||||
</scope>
|
||||
<scope id="8638394859473148184" at="30,0,31,0">
|
||||
<var name="fail" id="8638394859473148185" />
|
||||
</scope>
|
||||
<scope id="8344829839210112466" at="32,0,34,0">
|
||||
<var name="message" id="8344829839210112700" />
|
||||
</scope>
|
||||
<scope id="1568093847249278110" at="37,0,39,0">
|
||||
<var name="occurrence" id="1568093847249278111" />
|
||||
</scope>
|
||||
<scope id="1568093847249278118" at="39,0,41,0">
|
||||
<var name="occurrence" id="1568093847249278119" />
|
||||
</scope>
|
||||
<scope id="1568093847249278126" at="41,0,43,0">
|
||||
<var name="occurrence" id="1568093847249278127" />
|
||||
</scope>
|
||||
<scope id="1568093847249278134" at="43,0,45,0">
|
||||
<var name="occurrence" id="1568093847249278135" />
|
||||
</scope>
|
||||
<scope id="3363149567546683107" at="45,0,47,0">
|
||||
<var name="matchRule" id="3363149567546683108" />
|
||||
</scope>
|
||||
<scope id="3333055194078066890" at="47,0,49,0">
|
||||
<var name="matchRule" id="3333055194078066891" />
|
||||
</scope>
|
||||
<scope id="1568093847249562172" at="49,0,51,0">
|
||||
<var name="matchRule" id="1568093847249562173" />
|
||||
</scope>
|
||||
<scope id="2986800734055864889" at="51,0,53,0">
|
||||
<var name="matchRule" id="2986800734055864890" />
|
||||
</scope>
|
||||
<scope id="3363149567546683115" at="53,0,55,0">
|
||||
<var name="matchRule" id="3363149567546683116" />
|
||||
</scope>
|
||||
<scope id="3363149567546702045" at="55,0,57,0">
|
||||
<var name="invocation" id="3363149567546702046" />
|
||||
</scope>
|
||||
<scope id="3363149567546702053" at="57,0,59,0">
|
||||
<var name="invocation" id="3363149567546702056" />
|
||||
<var name="result" id="3363149567546702054" />
|
||||
</scope>
|
||||
<scope id="8638394859473171854" at="59,0,61,0">
|
||||
<var name="fail" id="8638394859473171855" />
|
||||
</scope>
|
||||
<scope id="5160444407776325559" at="61,0,63,0">
|
||||
<var name="message" id="5160444407776325560" />
|
||||
</scope>
|
||||
<unit id="5160444407776325513" at="35,29,64,3" name="jetbrains.mps.logic.reactor.evaluation.EvaluationTrace$1" />
|
||||
<unit id="2394628030058821331" at="6,0,66,0" name="jetbrains.mps.logic.reactor.evaluation.EvaluationTrace" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/4787618122020806150">
|
||||
<file name="PredicateInvocation.java">
|
||||
<node id="4787618122020806193" at="10,0,11,0" concept="5" trace="predicate#()Ljetbrains/mps/logic/reactor/program/Predicate;" />
|
||||
<node id="4787618122020806252" at="12,0,13,0" concept="5" trace="arguments#()Ljava/util/List;" />
|
||||
<scope id="4787618122020806193" at="10,0,11,0" />
|
||||
<scope id="4787618122020806252" at="12,0,13,0" />
|
||||
<unit id="4787618122020806150" at="8,0,15,0" name="jetbrains.mps.logic.reactor.evaluation.PredicateInvocation" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/6317379717812926797">
|
||||
<file name="EvaluationSession.java">
|
||||
<node id="6317379717813100052" at="15,29,16,52" concept="12" />
|
||||
<node id="6317379717813100659" at="17,5,18,32" concept="7" />
|
||||
<node id="6168558935191972039" at="22,29,23,52" concept="12" />
|
||||
<node id="6168558935191972049" at="24,5,25,44" concept="7" />
|
||||
<node id="6317379717813101174" at="30,0,31,0" concept="5" trace="withPredicates#(null)Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession/Config;" />
|
||||
<node id="6317379717813105701" at="32,0,33,0" concept="5" trace="withTrace#(Ljetbrains/mps/logic/reactor/evaluation/EvaluationTrace;)Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession/Config;" />
|
||||
<node id="6168558935191895490" at="34,0,35,0" concept="5" trace="withParam#(Ljava/lang/String;Ljava/lang/Object;)Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession/Config;" />
|
||||
<node id="3363149567557374122" at="36,0,37,0" concept="5" trace="start#(Ljetbrains/mps/logic/reactor/evaluation/SessionSolver;)Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession;" />
|
||||
<node id="6317379717827086566" at="39,0,40,0" concept="5" trace="sessionSolver#()Ljetbrains/mps/logic/reactor/evaluation/SessionSolver;" />
|
||||
<node id="6317379717812938932" at="41,0,42,0" concept="5" trace="constraintSymbols#()Ljava/lang/Iterable;" />
|
||||
<node id="6317379717812938847" at="43,0,44,0" concept="5" trace="constraintOccurrences#()Ljava/lang/Iterable;" />
|
||||
<node id="6168558935192236908" at="45,0,46,0" concept="5" trace="constraintOccurrences#(Ljetbrains/mps/logic/reactor/program/ConstraintSymbol;)Ljava/lang/Iterable;" />
|
||||
<node id="6317379717813102752" at="48,29,49,66" concept="12" />
|
||||
<node id="6317379717813102233" at="50,5,51,25" concept="1" />
|
||||
<node id="95655808403437439" at="55,32,56,56" concept="12" />
|
||||
<node id="95655808403437449" at="57,5,58,22" concept="1" />
|
||||
<node id="6317379717813098484" at="63,0,64,0" concept="5" trace="current#()Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession;" />
|
||||
<node id="6168558935191972549" at="65,0,66,0" concept="5" trace="createConfig#(Ljetbrains/mps/logic/reactor/program/Program;)Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession/Config;" />
|
||||
<node id="6317379717813099242" at="69,0,70,0" concept="9" trace="ourBackend" />
|
||||
<node id="6317379717813099888" at="14,45,17,5" concept="4" />
|
||||
<node id="6168558935191972037" at="21,70,24,5" concept="4" />
|
||||
<node id="6317379717813102551" at="47,71,50,5" concept="4" />
|
||||
<node id="95655808403437437" at="54,73,57,5" concept="4" />
|
||||
<node id="6317379717813096791" at="14,0,20,0" concept="10" trace="current#()Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession;" />
|
||||
<node id="139299000606655469" at="21,0,27,0" concept="10" trace="newSession#(Ljetbrains/mps/logic/reactor/program/Program;)Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession/Config;" />
|
||||
<node id="6317379717813098786" at="47,0,53,0" concept="10" trace="setBackend#(Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession/Backend;)V" />
|
||||
<node id="95655808403436479" at="54,0,60,0" concept="10" trace="clearBackend#(Ljetbrains/mps/logic/reactor/evaluation/EvaluationSession/Backend;)V" />
|
||||
<scope id="6317379717813099889" at="15,29,16,52" />
|
||||
<scope id="6168558935191972038" at="22,29,23,52" />
|
||||
<scope id="6317379717813101174" at="30,0,31,0">
|
||||
<var name="predicateSymbols" id="6317379717813101556" />
|
||||
</scope>
|
||||
<scope id="6317379717813105701" at="32,0,33,0">
|
||||
<var name="computingTracer" id="6168558935191960377" />
|
||||
</scope>
|
||||
<scope id="6168558935191895490" at="34,0,35,0">
|
||||
<var name="key" id="6168558935191897683" />
|
||||
<var name="param" id="6168558935191897958" />
|
||||
</scope>
|
||||
<scope id="3363149567557374122" at="36,0,37,0">
|
||||
<var name="sessionSolver" id="3363149567557374361" />
|
||||
</scope>
|
||||
<scope id="6317379717827086566" at="39,0,40,0" />
|
||||
<scope id="6317379717812938932" at="41,0,42,0" />
|
||||
<scope id="6317379717812938847" at="43,0,44,0" />
|
||||
<scope id="6168558935192236908" at="45,0,46,0">
|
||||
<var name="symbol" id="6168558935192236909" />
|
||||
</scope>
|
||||
<scope id="6317379717813102553" at="48,29,49,66" />
|
||||
<scope id="95655808403437438" at="55,32,56,56" />
|
||||
<scope id="6317379717813098484" at="63,0,64,0" />
|
||||
<scope id="6168558935191972549" at="65,0,66,0">
|
||||
<var name="program" id="8018003882644448705" />
|
||||
</scope>
|
||||
<scope id="6317379717813096795" at="14,45,18,32" />
|
||||
<scope id="139299000606655473" at="21,70,25,44" />
|
||||
<scope id="6317379717813098790" at="47,71,51,25" />
|
||||
<scope id="95655808403436100" at="54,73,58,22" />
|
||||
<scope id="6317379717813096791" at="14,0,20,0" />
|
||||
<scope id="139299000606655469" at="21,0,27,0">
|
||||
<var name="program" id="8018003882644425854" />
|
||||
</scope>
|
||||
<scope id="6317379717813098786" at="47,0,53,0">
|
||||
<var name="backend" id="6317379717813098959" />
|
||||
</scope>
|
||||
<scope id="95655808403436479" at="54,0,60,0">
|
||||
<var name="backend" id="95655808403437286" />
|
||||
</scope>
|
||||
<unit id="6317379717813098039" at="61,0,68,0" name="jetbrains.mps.logic.reactor.evaluation.EvaluationSession$Backend" />
|
||||
<unit id="6317379717813097023" at="28,0,38,0" name="jetbrains.mps.logic.reactor.evaluation.EvaluationSession$Config" />
|
||||
<unit id="6317379717812926797" at="12,0,72,0" name="jetbrains.mps.logic.reactor.evaluation.EvaluationSession" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/6317379717821145892">
|
||||
<file name="ConstraintOccurrence.java">
|
||||
<node id="6317379717821145919" at="10,0,11,0" concept="5" trace="constraint#()Ljetbrains/mps/logic/reactor/program/Constraint;" />
|
||||
<node id="6317379717821146080" at="12,0,13,0" concept="5" trace="arguments#()Ljava/util/List;" />
|
||||
<scope id="6317379717821145919" at="10,0,11,0" />
|
||||
<scope id="6317379717821146080" at="12,0,13,0" />
|
||||
<unit id="6317379717821145892" at="8,0,15,0" name="jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/6976745534798407019">
|
||||
<file name="MatchRule.java">
|
||||
<node id="6976745534798407051" at="9,0,10,0" concept="5" trace="rule#()Ljetbrains/mps/logic/reactor/program/Rule;" />
|
||||
<node id="6976745534798407110" at="11,0,12,0" concept="5" trace="matchHeadKept#()Ljava/lang/Iterable;" />
|
||||
<node id="6976745534798407558" at="13,0,14,0" concept="5" trace="matchHeadReplaced#()Ljava/lang/Iterable;" />
|
||||
<scope id="6976745534798407051" at="9,0,10,0" />
|
||||
<scope id="6976745534798407110" at="11,0,12,0" />
|
||||
<scope id="6976745534798407558" at="13,0,14,0" />
|
||||
<unit id="6976745534798407019" at="7,0,16,0" name="jetbrains.mps.logic.reactor.evaluation.MatchRule" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/7728771328120100825">
|
||||
<file name="Solver.java">
|
||||
<unit id="7728771328120100825" at="7,0,9,0" name="jetbrains.mps.logic.reactor.evaluation.Solver" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/7785665572546273004">
|
||||
<file name="Instructible.java">
|
||||
<node id="3363149567549910458" at="8,0,9,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)V" />
|
||||
<scope id="3363149567549910458" at="8,0,9,0">
|
||||
<var name="invocation" id="3363149567549910612" />
|
||||
</scope>
|
||||
<unit id="7785665572546273004" at="6,0,11,0" name="jetbrains.mps.logic.reactor.evaluation.Instructible" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/7785665572546275793">
|
||||
<file name="Queryable.java">
|
||||
<node id="3363149567549910804" at="8,0,9,0" concept="5" trace="ask#(Ljetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)Z" />
|
||||
<scope id="3363149567549910804" at="8,0,9,0">
|
||||
<var name="invocation" id="3363149567549911069" />
|
||||
</scope>
|
||||
<unit id="7785665572546275793" at="6,0,11,0" name="jetbrains.mps.logic.reactor.evaluation.Queryable" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/7785665572546282176">
|
||||
<file name="SessionSolver.java">
|
||||
<node id="2831834914716488778" at="18,57,19,38" concept="1" />
|
||||
<node id="7014572411587984891" at="22,90,23,29" concept="1" />
|
||||
<node id="7014572411587985397" at="23,29,24,27" concept="1" />
|
||||
<node id="3363149567550414683" at="28,54,29,77" concept="6" />
|
||||
<node id="3363149567550414116" at="29,77,30,35" concept="1" />
|
||||
<node id="3363149567550416932" at="30,35,31,18" concept="7" />
|
||||
<node id="7728771328121471038" at="37,71,38,44" concept="6" />
|
||||
<node id="7728771328121471045" at="38,44,39,66" concept="6" />
|
||||
<node id="7728771328121471055" at="39,66,40,103" concept="6" />
|
||||
<node id="7728771328126535745" at="40,103,41,0" concept="8" />
|
||||
<node id="5217246026231915802" at="41,0,42,51" concept="7" />
|
||||
<node id="3363149567550424405" at="46,52,47,28" concept="1" />
|
||||
<node id="3363149567550423403" at="47,28,48,62" concept="1" />
|
||||
<node id="7728771328121395765" at="54,51,55,53" concept="6" />
|
||||
<node id="7728771328121399126" at="55,53,56,75" concept="6" />
|
||||
<node id="7728771328121463787" at="56,75,57,103" concept="6" />
|
||||
<node id="7728771328121511891" at="57,103,58,0" concept="8" />
|
||||
<node id="7728771328121465285" at="58,0,59,28" concept="1" />
|
||||
<node id="7835819612253026878" at="62,0,63,0" concept="5" trace="queueIfBusy#(Ljava/lang/Runnable;)Z" />
|
||||
<node id="3724831866538106796" at="64,0,65,0" concept="5" trace="fail#(Ljava/lang/String;)V" />
|
||||
<node id="6317379717822079128" at="67,69,68,41" concept="6" />
|
||||
<node id="5217246026233178759" at="69,57,70,25" concept="7" />
|
||||
<node id="5217246026233191067" at="72,5,73,16" concept="7" />
|
||||
<node id="2831834914719725967" at="76,0,77,0" concept="5" trace="solverClass#(Ljetbrains/mps/logic/reactor/program/PredicateSymbol;)Ljava/lang/Class;" />
|
||||
<node id="2831834914716457503" at="78,0,79,0" concept="5" trace="registerSymbol#(Ljetbrains/mps/logic/reactor/program/PredicateSymbol;Ljetbrains/mps/logic/reactor/evaluation/EvaluationTrace;)V" />
|
||||
<node id="7785665572546333582" at="80,76,81,36" concept="1" />
|
||||
<node id="2831834914716388776" at="84,47,85,44" concept="7" />
|
||||
<node id="95655808403401608" at="89,53,90,37" concept="1" />
|
||||
<node id="7785665572546325981" at="95,50,96,72" concept="12" />
|
||||
<node id="7785665572546325992" at="97,5,98,40" concept="7" />
|
||||
<node id="7728771328121437336" at="103,58,104,33" concept="1" />
|
||||
<node id="7728771328121438910" at="104,33,105,23" concept="1" />
|
||||
<node id="7728771328121439355" at="108,34,109,23" concept="7" />
|
||||
<node id="7728771328121440180" at="112,32,113,18" concept="7" />
|
||||
<node id="7728771328121437332" at="116,0,117,0" concept="2" trace="predicate" />
|
||||
<node id="7728771328121438905" at="117,0,118,0" concept="2" trace="args" />
|
||||
<node id="7785665572546302065" at="120,0,121,0" concept="2" trace="solvers" />
|
||||
<node id="7014572411587970459" at="121,0,122,0" concept="2" trace="tracer" />
|
||||
<node id="2831834914716484929" at="18,0,21,0" concept="5" trace="init#(null)V" />
|
||||
<node id="5217246026233173468" at="68,41,71,7" concept="4" />
|
||||
<node id="7785665572546292859" at="80,0,83,0" concept="5" trace="registerSolver#(Ljetbrains/mps/logic/reactor/program/PredicateSymbol;Ljetbrains/mps/logic/reactor/evaluation/Solver;)V" />
|
||||
<node id="7785665572546284968" at="84,0,87,0" concept="5" trace="handler#(Ljetbrains/mps/logic/reactor/program/Symbol;)Ljetbrains/mps/logic/reactor/evaluation/Instructible;" />
|
||||
<node id="6168558935193484641" at="88,69,91,5" concept="3" />
|
||||
<node id="7785665572546325979" at="94,58,97,5" concept="4" />
|
||||
<node id="7728771328121436383" at="108,0,111,0" concept="5" trace="predicate#()Ljetbrains/mps/logic/reactor/program/Predicate;" />
|
||||
<node id="7728771328121436390" at="112,0,115,0" concept="5" trace="arguments#()Ljava/util/List;" />
|
||||
<node id="2831834914717569542" at="22,0,26,0" concept="5" trace="init#(Ljetbrains/mps/logic/reactor/evaluation/EvaluationTrace;null)V" />
|
||||
<node id="7728771328121436895" at="103,0,107,0" concept="0" trace="Invocation#(Ljetbrains/mps/logic/reactor/program/Predicate;Ljava/util/List;)V" />
|
||||
<node id="3363149567550418752" at="45,0,50,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)V" />
|
||||
<node id="95655808403395937" at="88,0,93,0" concept="5" trace="registerSymbols#(null)V" />
|
||||
<node id="3363149567550406684" at="27,0,33,0" concept="5" trace="ask#(Ljetbrains/mps/logic/reactor/evaluation/PredicateInvocation;)Z" />
|
||||
<node id="5217246026233172453" at="66,52,72,5" concept="3" />
|
||||
<node id="7785665572546285620" at="94,0,100,0" concept="5" trace="solver#(Ljetbrains/mps/logic/reactor/program/PredicateSymbol;)Ljetbrains/mps/logic/reactor/evaluation/Solver;" />
|
||||
<node id="5217246026231897797" at="37,0,44,0" concept="5" trace="ask#(Ljetbrains/mps/logic/reactor/program/PredicateSymbol;null)Z" />
|
||||
<node id="5217246026231929908" at="54,0,61,0" concept="5" trace="tell#(Ljetbrains/mps/logic/reactor/program/Symbol;null)V" />
|
||||
<node id="5217246026233157724" at="66,0,75,0" concept="5" trace="lookupQueryable#(Ljava/lang/Class;)Ljetbrains/mps/logic/reactor/evaluation/Queryable;" />
|
||||
<scope id="2831834914716484932" at="18,57,19,38" />
|
||||
<scope id="7835819612253026878" at="62,0,63,0">
|
||||
<var name="runnable" id="7835819612253037436" />
|
||||
</scope>
|
||||
<scope id="3724831866538106796" at="64,0,65,0">
|
||||
<var name="message" id="3724831866538109748" />
|
||||
</scope>
|
||||
<scope id="5217246026233173469" at="69,57,70,25" />
|
||||
<scope id="2831834914719725967" at="76,0,77,0">
|
||||
<var name="predicateSymbol" id="2831834914719727576" />
|
||||
</scope>
|
||||
<scope id="2831834914716457503" at="78,0,79,0">
|
||||
<var name="computingTracer" id="2831834914717563394" />
|
||||
<var name="predicateSymbol" id="2831834914716459800" />
|
||||
</scope>
|
||||
<scope id="7785665572546292862" at="80,76,81,36" />
|
||||
<scope id="7785665572546284972" at="84,47,85,44" />
|
||||
<scope id="6168558935193484643" at="89,53,90,37" />
|
||||
<scope id="7785665572546325980" at="95,50,96,72" />
|
||||
<scope id="7728771328121436387" at="108,34,109,23" />
|
||||
<scope id="7728771328121436395" at="112,32,113,18" />
|
||||
<scope id="2831834914717569548" at="22,90,24,27" />
|
||||
<scope id="3363149567550418758" at="46,52,48,62" />
|
||||
<scope id="7728771328121436899" at="103,58,105,23" />
|
||||
<scope id="2831834914716484929" at="18,0,21,0">
|
||||
<var name="predicateSymbols" id="2831834914717547255" />
|
||||
</scope>
|
||||
<scope id="3363149567550406690" at="28,54,31,18">
|
||||
<var name="result" id="3363149567550414684" />
|
||||
</scope>
|
||||
<scope id="7785665572546292859" at="80,0,83,0">
|
||||
<var name="constraint" id="7785665572546292863" />
|
||||
<var name="solver" id="7785665572546292865" />
|
||||
</scope>
|
||||
<scope id="7785665572546284968" at="84,0,87,0">
|
||||
<var name="symbol" id="7785665572546285221" />
|
||||
</scope>
|
||||
<scope id="6168558935193484641" at="88,69,91,5">
|
||||
<var name="symbol" id="6168558935193484645" />
|
||||
</scope>
|
||||
<scope id="95655808403395941" at="88,69,91,5" />
|
||||
<scope id="7728771328121436383" at="108,0,111,0" />
|
||||
<scope id="7728771328121436390" at="112,0,115,0" />
|
||||
<scope id="2831834914717569542" at="22,0,26,0">
|
||||
<var name="evaluationTrace" id="2831834914717569543" />
|
||||
<var name="predicateSymbols" id="2831834914717569545" />
|
||||
</scope>
|
||||
<scope id="5217246026233172455" at="67,69,71,7">
|
||||
<var name="queryable" id="6317379717822079129" />
|
||||
</scope>
|
||||
<scope id="7785665572546285625" at="94,58,98,40" />
|
||||
<scope id="7728771328121436895" at="103,0,107,0">
|
||||
<var name="args" id="7728771328121438371" />
|
||||
<var name="predicate" id="7728771328121437096" />
|
||||
</scope>
|
||||
<scope id="5217246026231897801" at="37,71,42,51">
|
||||
<var name="invocation" id="7728771328121471056" />
|
||||
<var name="predicate" id="7728771328121471046" />
|
||||
<var name="solver" id="7728771328121471039" />
|
||||
</scope>
|
||||
<scope id="3363149567550418752" at="45,0,50,0">
|
||||
<var name="invocation" id="3363149567550418756" />
|
||||
</scope>
|
||||
<scope id="5217246026231929912" at="54,51,59,28">
|
||||
<var name="invocation" id="7728771328121463788" />
|
||||
<var name="predicate" id="7728771328121399127" />
|
||||
<var name="solver" id="7728771328121395766" />
|
||||
</scope>
|
||||
<scope id="95655808403395937" at="88,0,93,0">
|
||||
<var name="predicateSymbols" id="2831834914717550247" />
|
||||
</scope>
|
||||
<scope id="3363149567550406684" at="27,0,33,0">
|
||||
<var name="invocation" id="3363149567550406685" />
|
||||
</scope>
|
||||
<scope id="5217246026233172453" at="66,52,72,5">
|
||||
<var name="e" id="5217246026233172457" />
|
||||
</scope>
|
||||
<scope id="7785665572546285620" at="94,0,100,0">
|
||||
<var name="predicateSymbol" id="7785665572546285621" />
|
||||
</scope>
|
||||
<scope id="5217246026231897797" at="37,0,44,0">
|
||||
<var name="args" id="5217246026231906313" />
|
||||
<var name="predicateSymbol" id="5217246026231904980" />
|
||||
</scope>
|
||||
<scope id="5217246026231929908" at="54,0,61,0">
|
||||
<var name="args" id="5217246026231935273" />
|
||||
<var name="symbol" id="5217246026231933720" />
|
||||
</scope>
|
||||
<scope id="5217246026233157731" at="66,52,73,16" />
|
||||
<scope id="5217246026233157724" at="66,0,75,0">
|
||||
<var name="clazz" id="5217246026233157725" />
|
||||
</scope>
|
||||
<unit id="7728771328121434191" at="101,0,119,0" name="jetbrains.mps.logic.reactor.evaluation.SessionSolver$Invocation" />
|
||||
<unit id="7785665572546282176" at="16,0,123,0" name="jetbrains.mps.logic.reactor.evaluation.SessionSolver" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:2a79c8aa-e372-4c00-8d71-5d7f3db517e4(jetbrains.mps.logic.reactor.evaluation)/8638394859472384258">
|
||||
<file name="EvaluationFailureException.java">
|
||||
<node id="8638394859472397678" at="8,53,9,19" concept="11" />
|
||||
<node id="8638394859472397846" at="12,54,13,17" concept="11" />
|
||||
<node id="8638394859472397634" at="8,0,11,0" concept="0" trace="EvaluationFailureException#(Ljava/lang/String;)V" />
|
||||
<node id="8638394859472397786" at="12,0,15,0" concept="0" trace="EvaluationFailureException#(Ljava/lang/Throwable;)V" />
|
||||
<scope id="8638394859472397638" at="8,53,9,19" />
|
||||
<scope id="8638394859472397790" at="12,54,13,17" />
|
||||
<scope id="8638394859472397634" at="8,0,11,0">
|
||||
<var name="message" id="8638394859472397646" />
|
||||
</scope>
|
||||
<scope id="8638394859472397786" at="12,0,15,0">
|
||||
<var name="cause" id="8638394859472397820" />
|
||||
</scope>
|
||||
<unit id="8638394859472384258" at="6,0,17,0" name="jetbrains.mps.logic.reactor.evaluation.EvaluationFailureException" />
|
||||
</file>
|
||||
</root>
|
||||
</debug-info>
|
||||
|
||||
|
|
@ -1,42 +1,58 @@
|
|||
package jetbrains.mps.logic.reactor.logical;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.logical;
|
||||
|
||||
|
||||
/**
|
||||
* A logical variable that can be joined with another variable to produce a union.
|
||||
*
|
||||
* @param <T> the value type
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface JoinableLogical<T> extends Logical<T> {
|
||||
|
||||
/**
|
||||
* Covariant override.
|
||||
*/
|
||||
JoinableLogical<T> findRoot();
|
||||
/**
|
||||
* Covariant override.
|
||||
*/
|
||||
JoinableLogical<T> findRoot();
|
||||
|
||||
/**
|
||||
* Unions two equivalence classes of logicals.
|
||||
* Both the receiver and the {@code other} parameter are expected to be representatives.
|
||||
* The one with the highest rank becomes the representative for the new class.
|
||||
*/
|
||||
void union(JoinableLogical<T> other, JoinableLogical.ValueReconciler<T> reconciler);
|
||||
/**
|
||||
* Unions two equivalence classes of logicals.
|
||||
* Both the receiver and the {@code other} parameter are expected to be representatives.
|
||||
* The one with the highest rank becomes the representative for the new class.
|
||||
*/
|
||||
void union(JoinableLogical<T> other, JoinableLogical.ValueReconciler<T> reconciler);
|
||||
|
||||
/**
|
||||
* Calls {@link JoinableLogical#union(JoinableLogical <T>, JoinableLogical.ValueReconciler<T>) } with the default value reconciler.
|
||||
* The default reconciler throws {@link java.lang.IllegalArgumentException } if the two values are not equal.
|
||||
*/
|
||||
void union(JoinableLogical<T> other);
|
||||
/**
|
||||
* Calls {@link JoinableLogical#union(JoinableLogical <T>, JoinableLogical.ValueReconciler<T>) } with the default value reconciler.
|
||||
* The default reconciler throws {@link java.lang.IllegalArgumentException } if the two values are not equal.
|
||||
*/
|
||||
void union(JoinableLogical<T> other);
|
||||
|
||||
/**
|
||||
* Should only be called on a representative.
|
||||
*/
|
||||
void setValue(T newValue);
|
||||
/**
|
||||
* Should only be called on a representative.
|
||||
*/
|
||||
void setValue(T newValue);
|
||||
|
||||
interface ValueReconciler<T> {
|
||||
interface ValueReconciler<T> {
|
||||
|
||||
void reconcile(T valueA, T valueB);
|
||||
void reconcile(T valueA, T valueB);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,40 +1,56 @@
|
|||
package jetbrains.mps.logic.reactor.logical;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.logical;
|
||||
|
||||
|
||||
/**
|
||||
* A run-time representation of a logical variable.
|
||||
*
|
||||
* @param <T> the value type
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface Logical<T> {
|
||||
|
||||
String name();
|
||||
String name();
|
||||
|
||||
/**
|
||||
* Returns the representative logical instance.
|
||||
*
|
||||
* TODO: rename to 'find()'
|
||||
*/
|
||||
Logical<T> findRoot();
|
||||
/**
|
||||
* Returns the representative logical instance.
|
||||
* <p>
|
||||
* TODO: rename to 'find()'
|
||||
*/
|
||||
Logical<T> findRoot();
|
||||
|
||||
/**
|
||||
* Returns the value associated with this logical instance.
|
||||
* Can be null.
|
||||
* Only the logical instance that is a representative can have value that is not null.
|
||||
*
|
||||
* FIXME: must return the representative's value
|
||||
*/
|
||||
T value();
|
||||
/**
|
||||
* Returns the value associated with this logical instance.
|
||||
* Can be null.
|
||||
* Only the logical instance that is a representative can have value that is not null.
|
||||
* <p>
|
||||
* FIXME: must return the representative's value
|
||||
*/
|
||||
T value();
|
||||
|
||||
/**
|
||||
* True iff the representative has a non-null value.
|
||||
*/
|
||||
boolean isBound();
|
||||
/**
|
||||
* True iff the representative has a non-null value.
|
||||
*/
|
||||
boolean isBound();
|
||||
|
||||
boolean isWildcard();
|
||||
boolean isWildcard();
|
||||
|
||||
MetaLogical<T> metaLogical();
|
||||
MetaLogical<T> metaLogical();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,30 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.logical;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
/**
|
||||
* Substitution of logicals for meta-logicals.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface LogicalContext {
|
||||
|
||||
|
||||
<V> Logical<V> variable(MetaLogical<V> metaLogical);
|
||||
<V> Logical<V> variable(MetaLogical<V> metaLogical);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,29 @@
|
|||
package jetbrains.mps.logic.reactor.logical;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.logical;
|
||||
|
||||
|
||||
/**
|
||||
* An abstract wrapper for a {@link Logical}.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface LogicalOwner {
|
||||
|
||||
Logical<?> logical();
|
||||
Logical<?> logical();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,46 +1,62 @@
|
|||
package jetbrains.mps.logic.reactor.logical;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.logical;
|
||||
|
||||
|
||||
/**
|
||||
* A declaration of a logical variable.
|
||||
* A declaration of a logical variable.
|
||||
*
|
||||
* @param <T> the value type
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public class MetaLogical<T> {
|
||||
|
||||
private static final String WILDCARD = "_";
|
||||
private static final String WILDCARD = "_";
|
||||
private String name;
|
||||
private Class<T> type;
|
||||
private boolean wildcard = false;
|
||||
|
||||
public MetaLogical(String name, Class<T> type) {
|
||||
this.name = name;
|
||||
this.type = type;
|
||||
}
|
||||
public MetaLogical(String name, Class<T> type) {
|
||||
this.name = name;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public MetaLogical(Class<T> type) {
|
||||
this.name = MetaLogical.WILDCARD + System.identityHashCode(this);
|
||||
this.type = type;
|
||||
this.wildcard = true;
|
||||
}
|
||||
public MetaLogical(Class<T> type) {
|
||||
this.name = MetaLogical.WILDCARD + System.identityHashCode(this);
|
||||
this.type = type;
|
||||
this.wildcard = true;
|
||||
}
|
||||
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public boolean isWildcard() {
|
||||
return wildcard;
|
||||
}
|
||||
public boolean isWildcard() {
|
||||
return wildcard;
|
||||
}
|
||||
|
||||
public Class<T> type() {
|
||||
return type;
|
||||
}
|
||||
public Class<T> type() {
|
||||
return type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
private String name;
|
||||
private Class<T> type;
|
||||
private boolean wildcard = false;
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,41 +1,59 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.logical;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A declaration of a logical variable with index.
|
||||
* @param <T>
|
||||
* A declaration of a logical variable with index.
|
||||
*
|
||||
* @param <T> the value type
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public class MultiMetaLogical<T> extends MetaLogical<T> {
|
||||
|
||||
public MultiMetaLogical(String name, Class<T> type, int cardinality) {
|
||||
super(name, type);
|
||||
this.cardinality = cardinality;
|
||||
init();
|
||||
}
|
||||
private int cardinality;
|
||||
private List<MetaLogical<T>> metaLogicals = new ArrayList<MetaLogical<T>>();
|
||||
|
||||
public int cardinality() {
|
||||
return cardinality;
|
||||
}
|
||||
|
||||
public MetaLogical<T> logicalAt(int idx) {
|
||||
return metaLogicals.get(idx);
|
||||
}
|
||||
|
||||
public MetaLogical[] toArray() {
|
||||
MetaLogical[] array = new MetaLogical[cardinality];
|
||||
return metaLogicals.toArray(array);
|
||||
}
|
||||
|
||||
private void init() {
|
||||
for (int i = 0; i < cardinality; i++) {
|
||||
metaLogicals.add(new MetaLogical<T>(name() + "_" + (i + 1), type()));
|
||||
public MultiMetaLogical(String name, Class<T> type, int cardinality) {
|
||||
super(name, type);
|
||||
this.cardinality = cardinality;
|
||||
init();
|
||||
}
|
||||
}
|
||||
|
||||
private int cardinality;
|
||||
private List<MetaLogical<T>> metaLogicals = new ArrayList<MetaLogical<T>>();
|
||||
public int cardinality() {
|
||||
return cardinality;
|
||||
}
|
||||
|
||||
public MetaLogical<T> logicalAt(int idx) {
|
||||
return metaLogicals.get(idx);
|
||||
}
|
||||
|
||||
public MetaLogical[] toArray() {
|
||||
MetaLogical[] array = new MetaLogical[cardinality];
|
||||
return metaLogicals.toArray(array);
|
||||
}
|
||||
|
||||
private void init() {
|
||||
for (int i = 0; i < cardinality; i++) {
|
||||
metaLogicals.add(new MetaLogical<T>(name() + "_" + (i + 1), type()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,173 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<debug-info version="2">
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123140:jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123155:jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068390468200:jetbrains.mps.baseLanguage.structure.FieldDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1144231330558:jetbrains.mps.baseLanguage.structure.ForStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123165:jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242864:jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242878:jetbrains.mps.baseLanguage.structure.ReturnStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070462154015:jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070475587102:jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
|
||||
<root nodeRef="r:7365f7fe-12e6-4229-8901-f6dc6d5df03f(jetbrains.mps.logic.reactor.logical)/1564179198503508264">
|
||||
<file name="Logical.java">
|
||||
<node id="7045828502339522708" at="8,0,9,0" concept="4" trace="name#()Ljava/lang/String;" />
|
||||
<node id="238586457663160034" at="15,0,16,0" concept="4" trace="findRoot#()Ljetbrains/mps/logic/reactor/logical/Logical;" />
|
||||
<node id="1564179198503509166" at="24,0,25,0" concept="4" trace="value#()null" />
|
||||
<node id="1564179198503509045" at="29,0,30,0" concept="4" trace="isBound#()Z" />
|
||||
<node id="3058061960962299083" at="31,0,32,0" concept="4" trace="isWildcard#()Z" />
|
||||
<node id="8897567155601592702" at="33,0,34,0" concept="4" trace="metaLogical#()Ljetbrains/mps/logic/reactor/logical/MetaLogical;" />
|
||||
<scope id="7045828502339522708" at="8,0,9,0" />
|
||||
<scope id="238586457663160034" at="15,0,16,0" />
|
||||
<scope id="1564179198503509166" at="24,0,25,0" />
|
||||
<scope id="1564179198503509045" at="29,0,30,0" />
|
||||
<scope id="3058061960962299083" at="31,0,32,0" />
|
||||
<scope id="8897567155601592702" at="33,0,34,0" />
|
||||
<unit id="1564179198503508264" at="6,0,36,0" name="jetbrains.mps.logic.reactor.logical.Logical" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:7365f7fe-12e6-4229-8901-f6dc6d5df03f(jetbrains.mps.logic.reactor.logical)/4725685633777355365">
|
||||
<file name="LogicalOwner.java">
|
||||
<node id="4725685633777390939" at="8,0,9,0" concept="4" trace="logical#()Ljetbrains/mps/logic/reactor/logical/Logical;" />
|
||||
<scope id="4725685633777390939" at="8,0,9,0" />
|
||||
<unit id="4725685633777355365" at="6,0,11,0" name="jetbrains.mps.logic.reactor.logical.LogicalOwner" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:7365f7fe-12e6-4229-8901-f6dc6d5df03f(jetbrains.mps.logic.reactor.logical)/7835819612255545383">
|
||||
<file name="SolverLogical.java">
|
||||
<node id="4650394911992714457" at="11,0,12,0" concept="4" trace="findRoot#()Ljetbrains/mps/logic/reactor/logical/SolverLogical;" />
|
||||
<node id="2322954797151415913" at="18,0,19,0" concept="4" trace="union#(Ljetbrains/mps/logic/reactor/logical/SolverLogical;Ljetbrains/mps/logic/reactor/logical/SolverLogical/ValueReconciler;)V" />
|
||||
<node id="2322954797151538884" at="24,0,25,0" concept="4" trace="union#(Ljetbrains/mps/logic/reactor/logical/SolverLogical;)V" />
|
||||
<node id="7835819612255551865" at="29,0,30,0" concept="4" trace="setValue#(null)V" />
|
||||
<node id="2322954797151528577" at="33,0,34,0" concept="4" trace="reconcile#(nullnull)V" />
|
||||
<scope id="4650394911992714457" at="11,0,12,0" />
|
||||
<scope id="2322954797151415913" at="18,0,19,0">
|
||||
<var name="other" id="2322954797151420306" />
|
||||
<var name="reconciler" id="2322954797151548178" />
|
||||
</scope>
|
||||
<scope id="2322954797151538884" at="24,0,25,0">
|
||||
<var name="other" id="2322954797151538888" />
|
||||
</scope>
|
||||
<scope id="7835819612255551865" at="29,0,30,0">
|
||||
<var name="newValue" id="7835819612255552078" />
|
||||
</scope>
|
||||
<scope id="2322954797151528577" at="33,0,34,0">
|
||||
<var name="valueA" id="2322954797151533039" />
|
||||
<var name="valueB" id="2322954797151537544" />
|
||||
</scope>
|
||||
<unit id="2322954797151517794" at="31,0,36,0" name="jetbrains.mps.logic.reactor.logical.SolverLogical$ValueReconciler" />
|
||||
<unit id="7835819612255545383" at="6,0,38,0" name="jetbrains.mps.logic.reactor.logical.SolverLogical" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:7365f7fe-12e6-4229-8901-f6dc6d5df03f(jetbrains.mps.logic.reactor.logical)/7835819612256812298">
|
||||
<file name="LogicalUnification.java">
|
||||
<node id="7835819612256815740" at="9,0,10,0" concept="4" trace="asRoot#(null)null" />
|
||||
<node id="7835819612256819308" at="11,0,12,0" concept="4" trace="logical#(null)Ljetbrains/mps/logic/reactor/logical/SolverLogical;" />
|
||||
<node id="7835819612261255414" at="13,0,14,0" concept="4" trace="isLogical#(Ljetbrains/mps/unification/Term;)Z" />
|
||||
<scope id="7835819612256815740" at="9,0,10,0">
|
||||
<var name="term" id="7835819612256818579" />
|
||||
</scope>
|
||||
<scope id="7835819612256819308" at="11,0,12,0">
|
||||
<var name="var" id="7835819612256826805" />
|
||||
</scope>
|
||||
<scope id="7835819612261255414" at="13,0,14,0">
|
||||
<var name="term" id="7835819612261256408" />
|
||||
</scope>
|
||||
<unit id="7835819612256812298" at="7,0,16,0" name="jetbrains.mps.logic.reactor.logical.LogicalUnification" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:7365f7fe-12e6-4229-8901-f6dc6d5df03f(jetbrains.mps.logic.reactor.logical)/8897567155595965539">
|
||||
<file name="MetaLogical.java">
|
||||
<node id="8499880265522559267" at="8,0,9,0" concept="7" trace="WILDCARD" />
|
||||
<node id="8499880265522559281" at="10,50,11,21" concept="1" />
|
||||
<node id="8499880265522559287" at="11,21,12,21" concept="1" />
|
||||
<node id="8499880265522559301" at="15,37,16,69" concept="1" />
|
||||
<node id="8499880265522559309" at="16,69,17,21" concept="1" />
|
||||
<node id="8499880265522559315" at="17,21,18,25" concept="1" />
|
||||
<node id="8499880265524914186" at="21,24,22,16" concept="6" />
|
||||
<node id="8499880265524914478" at="25,31,26,20" concept="6" />
|
||||
<node id="8499880265524914776" at="29,26,30,16" concept="6" />
|
||||
<node id="8027627297624731289" at="34,28,35,16" concept="6" />
|
||||
<node id="8499880265522559381" at="38,0,39,0" concept="2" trace="name" />
|
||||
<node id="8499880265522559384" at="39,0,40,0" concept="2" trace="type" />
|
||||
<node id="8499880265522559388" at="40,0,41,0" concept="2" trace="wildcard" />
|
||||
<node id="8897567155595965722" at="21,0,24,0" concept="4" trace="name#()Ljava/lang/String;" />
|
||||
<node id="8897567155595965985" at="25,0,28,0" concept="4" trace="isWildcard#()Z" />
|
||||
<node id="8897567155598409095" at="29,0,32,0" concept="4" trace="type#()Ljava/lang/Class;" />
|
||||
<node id="8499880265522559272" at="10,0,14,0" concept="0" trace="MetaLogical#(Ljava/lang/String;Ljava/lang/Class;)V" />
|
||||
<node id="8027627297624729689" at="33,0,37,0" concept="4" trace="toString#()Ljava/lang/String;" />
|
||||
<node id="8499880265522559294" at="15,0,20,0" concept="0" trace="MetaLogical#(Ljava/lang/Class;)V" />
|
||||
<scope id="8897567155595965725" at="21,24,22,16" />
|
||||
<scope id="8897567155595965986" at="25,31,26,20" />
|
||||
<scope id="8897567155598409099" at="29,26,30,16" />
|
||||
<scope id="8027627297624729693" at="34,28,35,16" />
|
||||
<scope id="8499880265522559280" at="10,50,12,21" />
|
||||
<scope id="8499880265522559300" at="15,37,18,25" />
|
||||
<scope id="8897567155595965722" at="21,0,24,0" />
|
||||
<scope id="8897567155595965985" at="25,0,28,0" />
|
||||
<scope id="8897567155598409095" at="29,0,32,0" />
|
||||
<scope id="8499880265522559272" at="10,0,14,0">
|
||||
<var name="name" id="8499880265522559273" />
|
||||
<var name="type" id="8499880265522559275" />
|
||||
</scope>
|
||||
<scope id="8027627297624729689" at="33,0,37,0" />
|
||||
<scope id="8499880265522559294" at="15,0,20,0">
|
||||
<var name="type" id="8499880265522559295" />
|
||||
</scope>
|
||||
<unit id="8897567155595965539" at="6,0,43,0" name="jetbrains.mps.logic.reactor.logical.MetaLogical" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:7365f7fe-12e6-4229-8901-f6dc6d5df03f(jetbrains.mps.logic.reactor.logical)/8897567155601467909">
|
||||
<file name="MultiMetaLogical.java">
|
||||
<node id="8499880265522563072" at="10,72,11,22" concept="8" />
|
||||
<node id="8499880265522563075" at="11,22,12,35" concept="1" />
|
||||
<node id="8499880265522563081" at="12,35,13,11" concept="1" />
|
||||
<node id="8499880265524939109" at="16,28,17,23" concept="6" />
|
||||
<node id="8499880265522563105" at="20,44,21,33" concept="6" />
|
||||
<node id="8499880265522563116" at="24,34,25,55" concept="5" />
|
||||
<node id="8499880265522563125" at="25,55,26,39" concept="6" />
|
||||
<node id="8499880265522563140" at="30,43,31,75" concept="1" />
|
||||
<node id="8499880265522563167" at="35,0,36,0" concept="2" trace="cardinality" />
|
||||
<node id="8499880265522563171" at="36,0,37,0" concept="2" trace="metaLogicals" />
|
||||
<node id="8897567155598413823" at="16,0,19,0" concept="4" trace="cardinality#()I" />
|
||||
<node id="8897567155601465253" at="20,0,23,0" concept="4" trace="logicalAt#(I)Ljetbrains/mps/logic/reactor/logical/MetaLogical;" />
|
||||
<node id="8499880265522563133" at="29,23,32,5" concept="3" />
|
||||
<node id="8897567155608760084" at="24,0,28,0" concept="4" trace="toArray#()[Ljetbrains/mps/logic/reactor/logical/MetaLogical;" />
|
||||
<node id="8499880265522563068" at="10,0,15,0" concept="0" trace="MultiMetaLogical#(Ljava/lang/String;Ljava/lang/Class;I)V" />
|
||||
<node id="8499880265522563131" at="29,0,34,0" concept="4" trace="init#()V" />
|
||||
<scope id="8897567155598413824" at="16,28,17,23" />
|
||||
<scope id="8897567155601465256" at="20,44,21,33" />
|
||||
<scope id="8499880265522563139" at="30,43,31,75" />
|
||||
<scope id="8897567155608760087" at="24,34,26,39">
|
||||
<var name="array" id="8499880265522563117" />
|
||||
</scope>
|
||||
<scope id="8499880265522563071" at="10,72,13,11" />
|
||||
<scope id="8897567155598413823" at="16,0,19,0" />
|
||||
<scope id="8897567155601465253" at="20,0,23,0">
|
||||
<var name="idx" id="8897567155601468783" />
|
||||
</scope>
|
||||
<scope id="8499880265522563132" at="29,23,32,5" />
|
||||
<scope id="8499880265522563133" at="29,23,32,5">
|
||||
<var name="i" id="8499880265522563136" />
|
||||
</scope>
|
||||
<scope id="8897567155608760084" at="24,0,28,0" />
|
||||
<scope id="8499880265522563068" at="10,0,15,0">
|
||||
<var name="cardinality" id="8499880265522563088" />
|
||||
<var name="name" id="8499880265522563083" />
|
||||
<var name="type" id="8499880265522563085" />
|
||||
</scope>
|
||||
<scope id="8499880265522563131" at="29,0,34,0" />
|
||||
<unit id="8897567155601467909" at="8,0,38,0" name="jetbrains.mps.logic.reactor.logical.MultiMetaLogical" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:7365f7fe-12e6-4229-8901-f6dc6d5df03f(jetbrains.mps.logic.reactor.logical)/8907901911298493091">
|
||||
<file name="LogicalContext.java">
|
||||
<node id="8907901911298493118" at="8,0,9,0" concept="4" trace="variable#(Ljetbrains/mps/logic/reactor/logical/MetaLogical;)Ljetbrains/mps/logic/reactor/logical/Logical;" />
|
||||
<scope id="8907901911298493118" at="8,0,9,0">
|
||||
<var name="metaLogical" id="8907901911298493173" />
|
||||
</scope>
|
||||
<unit id="8907901911298493091" at="6,0,11,0" name="jetbrains.mps.logic.reactor.logical.LogicalContext" />
|
||||
</file>
|
||||
</root>
|
||||
</debug-info>
|
||||
|
||||
|
|
@ -1,16 +1,33 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* An abstract conjunct.
|
||||
* An abstract conjunct.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface AndItem {
|
||||
|
||||
Symbol symbol();
|
||||
Symbol symbol();
|
||||
|
||||
List<?> arguments();
|
||||
List<?> arguments();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,41 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
import jetbrains.mps.logic.reactor.logical.LogicalContext;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A constraint provided by a handler.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface Constraint extends AndItem {
|
||||
|
||||
ConstraintSymbol symbol();
|
||||
ConstraintSymbol symbol();
|
||||
|
||||
List<Class<?>> argumentTypes();
|
||||
List<Class<?>> argumentTypes();
|
||||
|
||||
/**
|
||||
* Returns the collection of predicates that need to be applied after a successful match of this collection by a
|
||||
* rule's head.
|
||||
* This method only returns meaningful results for constraints that serve as patterns in a rule's head.
|
||||
*/
|
||||
Collection<? extends Predicate> patternPredicates(Collection<?> occurrenceArgs);
|
||||
/**
|
||||
* Returns the collection of predicates that need to be applied after a successful match of this collection by a
|
||||
* rule's head.
|
||||
* This method only returns meaningful results for constraints that serve as patterns in a rule's head.
|
||||
*/
|
||||
Collection<? extends Predicate> patternPredicates(Collection<?> occurrenceArgs);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,40 @@
|
|||
package jetbrains.mps.logic.reactor.program;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
|
||||
/**
|
||||
* TODO: move to the constraint model
|
||||
* A constraint symbol.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public class ConstraintSymbol extends Symbol {
|
||||
|
||||
public static ConstraintSymbol symbol(String id, int arity) {
|
||||
return new ConstraintSymbol(id, arity);
|
||||
}
|
||||
public ConstraintSymbol(String id, int arity) {
|
||||
super(id, arity);
|
||||
}
|
||||
|
||||
public ConstraintSymbol(String id, int arity) {
|
||||
super(id, arity);
|
||||
}
|
||||
public static ConstraintSymbol symbol(String id, int arity) {
|
||||
return new ConstraintSymbol(id, arity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return id() + "/" + arity();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return id() + "/" + arity();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,28 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/**
|
||||
* A handler is a container of rules.
|
||||
* A handler is a container of rules.
|
||||
* <p>
|
||||
* If the {@code primarySymbols} is a non-empty collection, only constraints with these symbols are processed
|
||||
* by this handler.
|
||||
*
|
||||
* If the {@code primarySymbols} is a non-empty collection, only constraints with these symbols are processed
|
||||
* by this handler.
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public abstract class Handler {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,31 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
public class InvalidConstraintException extends Exception {
|
||||
|
||||
public InvalidConstraintException(String message) {
|
||||
super(message);
|
||||
}
|
||||
public InvalidConstraintException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public InvalidConstraintException(String message, Throwable ex) {
|
||||
super(message, ex);
|
||||
}
|
||||
public InvalidConstraintException(String message, Throwable ex) {
|
||||
super(message, ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,30 @@
|
|||
package jetbrains.mps.logic.reactor.program;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
|
||||
public class InvalidRuleException extends Exception {
|
||||
|
||||
public InvalidRuleException(String message) {
|
||||
super(message);
|
||||
}
|
||||
public InvalidRuleException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public InvalidRuleException(String message, Throwable throwable) {
|
||||
super(message, throwable);
|
||||
}
|
||||
public InvalidRuleException(String message, Throwable throwable) {
|
||||
super(message, throwable);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,47 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
/**
|
||||
* A predicate symbol for an anonymous expression.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public class JavaPredicateSymbol extends PredicateSymbol {
|
||||
|
||||
public static final JavaPredicateSymbol EXPRESSION0 = new JavaPredicateSymbol(1);
|
||||
public static final JavaPredicateSymbol EXPRESSION0 = new JavaPredicateSymbol(1);
|
||||
|
||||
public static final JavaPredicateSymbol EXPRESSION1 = new JavaPredicateSymbol(2);
|
||||
public static final JavaPredicateSymbol EXPRESSION1 = new JavaPredicateSymbol(2);
|
||||
|
||||
public static final JavaPredicateSymbol EXPRESSION2 = new JavaPredicateSymbol(3);
|
||||
public static final JavaPredicateSymbol EXPRESSION2 = new JavaPredicateSymbol(3);
|
||||
|
||||
public static final JavaPredicateSymbol EXPRESSION3 = new JavaPredicateSymbol(4);
|
||||
public static final JavaPredicateSymbol EXPRESSION3 = new JavaPredicateSymbol(4);
|
||||
|
||||
private static final String EXPRESSION = "expression";
|
||||
private static final String EXPRESSION = "expression";
|
||||
|
||||
private static JavaPredicateSymbol[] KNOWN_SYMBOLS = {EXPRESSION0, EXPRESSION1, EXPRESSION2, EXPRESSION3};
|
||||
private static JavaPredicateSymbol[] KNOWN_SYMBOLS = {EXPRESSION0, EXPRESSION1, EXPRESSION2, EXPRESSION3};
|
||||
|
||||
public static JavaPredicateSymbol withArity(int arity) {
|
||||
return KNOWN_SYMBOLS[arity];
|
||||
}
|
||||
private JavaPredicateSymbol(int arity) {
|
||||
super(EXPRESSION, arity);
|
||||
}
|
||||
|
||||
private JavaPredicateSymbol(int arity) {
|
||||
super(EXPRESSION, arity);
|
||||
}
|
||||
public static JavaPredicateSymbol withArity(int arity) {
|
||||
return KNOWN_SYMBOLS[arity];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,29 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import jetbrains.mps.logic.reactor.logical.LogicalContext;
|
||||
|
||||
/**
|
||||
* A predicate that is provided by a solver. Can be either told or asked.
|
||||
* A predicate that is provided by a solver. Can be either told or asked.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public interface Predicate extends AndItem {
|
||||
|
||||
PredicateSymbol symbol();
|
||||
PredicateSymbol symbol();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,36 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
|
||||
/**
|
||||
* A predicate symbol.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public class PredicateSymbol extends Symbol {
|
||||
|
||||
public PredicateSymbol(String id, int arity) {
|
||||
super(id, arity);
|
||||
}
|
||||
public PredicateSymbol(String id, int arity) {
|
||||
super(id, arity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return id() + "()/" + arity();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return id() + "()/" + arity();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,30 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
/*Generated by MPS */
|
||||
|
||||
import jetbrains.mps.logic.reactor.logical.LogicalContext;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A collection of handlers that constitute a constraint rules program.
|
||||
* A collection of handlers that constitute a constraint rules program.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public abstract class Program {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,34 +1,50 @@
|
|||
package jetbrains.mps.logic.reactor.program;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
|
||||
/**
|
||||
* A constraint rule description.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public abstract class Rule {
|
||||
|
||||
public abstract Rule.Kind kind();
|
||||
public abstract Rule.Kind kind();
|
||||
|
||||
public abstract String tag();
|
||||
public abstract String tag();
|
||||
|
||||
public abstract Iterable<Constraint> headKept();
|
||||
public abstract Iterable<Constraint> headKept();
|
||||
|
||||
public abstract Iterable<Constraint> headReplaced();
|
||||
public abstract Iterable<Constraint> headReplaced();
|
||||
|
||||
public abstract Iterable<Predicate> guard();
|
||||
public abstract Iterable<Predicate> guard();
|
||||
|
||||
@Deprecated
|
||||
public abstract Iterable<AndItem> body();
|
||||
@Deprecated
|
||||
public abstract Iterable<AndItem> body();
|
||||
|
||||
public abstract Iterable<? extends Iterable<AndItem>> bodyAlternation();
|
||||
public abstract Iterable<? extends Iterable<AndItem>> bodyAlternation();
|
||||
|
||||
public abstract Iterable<AndItem> all();
|
||||
public abstract Iterable<AndItem> all();
|
||||
|
||||
public enum Kind {
|
||||
SIMPLIFICATION(),
|
||||
PROPAGATION(),
|
||||
SIMPAGATION()
|
||||
}
|
||||
public enum Kind {
|
||||
SIMPLIFICATION(),
|
||||
PROPAGATION(),
|
||||
SIMPAGATION()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,70 @@
|
|||
package jetbrains.mps.logic.reactor.program;
|
||||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*Generated by MPS */
|
||||
package jetbrains.mps.logic.reactor.program;
|
||||
|
||||
|
||||
/**
|
||||
* A symbol used by both constraints and predicates. Is uniquely identified by id and arity.
|
||||
*
|
||||
* @author Fedor Isakov
|
||||
*/
|
||||
public abstract class Symbol {
|
||||
|
||||
protected Symbol(String id, int arity) {
|
||||
this.id = id;
|
||||
this.arity = arity;
|
||||
}
|
||||
private String id;
|
||||
private int arity;
|
||||
|
||||
public String id() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int arity() {
|
||||
return arity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = 17;
|
||||
result = 43 * result + ((id != null ? String.valueOf(id).hashCode() : 0));
|
||||
result = 31 * result + 37 * arity;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || this.getClass() != o.getClass()) {
|
||||
return false;
|
||||
protected Symbol(String id, int arity) {
|
||||
this.id = id;
|
||||
this.arity = arity;
|
||||
}
|
||||
|
||||
Symbol that = (Symbol) o;
|
||||
if ((id != null ? !(id.equals(that.id())) : that.id != null)) {
|
||||
return false;
|
||||
}
|
||||
if (arity != that.arity) {
|
||||
return false;
|
||||
public String id() {
|
||||
return id;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
public int arity() {
|
||||
return arity;
|
||||
}
|
||||
|
||||
private String id;
|
||||
private int arity;
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = 17;
|
||||
result = 43 * result + ((id != null ? String.valueOf(id).hashCode() : 0));
|
||||
result = 31 * result + 37 * arity;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || this.getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Symbol that = (Symbol) o;
|
||||
if ((id != null ? !(id.equals(that.id())) : that.id != null)) {
|
||||
return false;
|
||||
}
|
||||
if (arity != that.arity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,254 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<debug-info version="2">
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123140:jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123155:jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068390468200:jetbrains.mps.baseLanguage.structure.FieldDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123159:jetbrains.mps.baseLanguage.structure.IfStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123165:jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242864:jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242878:jetbrains.mps.baseLanguage.structure.ReturnStatement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123157:jetbrains.mps.baseLanguage.structure.Statement" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070462154015:jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1081236700938:jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" />
|
||||
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070475587102:jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/3363149567548688543">
|
||||
<file name="PredicateFactory.java">
|
||||
<node id="3363149567548689033" at="8,0,9,0" concept="4" trace="predicate#(Ljetbrains/mps/logic/reactor/program/PredicateSymbol;null)Ljetbrains/mps/logic/reactor/program/Predicate;" />
|
||||
<scope id="3363149567548689033" at="8,0,9,0">
|
||||
<var name="args" id="3363149567548689115" />
|
||||
<var name="predicateSymbol" id="3363149567548689065" />
|
||||
</scope>
|
||||
<unit id="3363149567548688543" at="6,0,11,0" name="jetbrains.mps.logic.reactor.program.PredicateFactory" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/5841747851381496683">
|
||||
<file name="ConstraintSymbol.java">
|
||||
<node id="5841747851381535271" at="11,63,12,43" concept="6" />
|
||||
<node id="6317379717814129922" at="15,49,16,21" concept="10" />
|
||||
<node id="5841747851383361011" at="20,28,21,32" concept="6" />
|
||||
<node id="5841747851381533067" at="11,0,14,0" concept="9" trace="symbol#(Ljava/lang/String;I)Ljetbrains/mps/logic/reactor/program/ConstraintSymbol;" />
|
||||
<node id="5841747851381516224" at="15,0,18,0" concept="0" trace="ConstraintSymbol#(Ljava/lang/String;I)V" />
|
||||
<node id="5841747851383347181" at="19,0,23,0" concept="4" trace="toString#()Ljava/lang/String;" />
|
||||
<scope id="5841747851381533071" at="11,63,12,43" />
|
||||
<scope id="5841747851381516231" at="15,49,16,21" />
|
||||
<scope id="5841747851383347185" at="20,28,21,32" />
|
||||
<scope id="5841747851381533067" at="11,0,14,0">
|
||||
<var name="arity" id="5841747851381534850" />
|
||||
<var name="id" id="5841747851381534602" />
|
||||
</scope>
|
||||
<scope id="5841747851381516224" at="15,0,18,0">
|
||||
<var name="arity" id="5841747851381516227" />
|
||||
<var name="id" id="5841747851381516225" />
|
||||
</scope>
|
||||
<scope id="5841747851383347181" at="19,0,23,0" />
|
||||
<unit id="5841747851381496683" at="9,0,25,0" name="jetbrains.mps.logic.reactor.program.ConstraintSymbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/6317379717812926698">
|
||||
<file name="Program.java">
|
||||
<node id="8225968737378322884" at="9,0,10,0" concept="4" trace="name#()Ljava/lang/String;" />
|
||||
<node id="8225968737376927920" at="11,0,12,0" concept="4" trace="constraintSymbols#()Ljava/lang/Iterable;" />
|
||||
<node id="6317379717812927967" at="13,0,14,0" concept="4" trace="constraintArgumentTypes#(Ljetbrains/mps/logic/reactor/program/ConstraintSymbol;)Ljava/util/List;" />
|
||||
<node id="8225968737376996320" at="15,0,16,0" concept="4" trace="predicateSymbols#()Ljava/lang/Iterable;" />
|
||||
<node id="8225968737378224820" at="17,0,18,0" concept="4" trace="rules#()Ljava/lang/Iterable;" />
|
||||
<scope id="8225968737378322884" at="9,0,10,0" />
|
||||
<scope id="8225968737376927920" at="11,0,12,0" />
|
||||
<scope id="6317379717812927967" at="13,0,14,0">
|
||||
<var name="constraintSymbol" id="6317379717812950981" />
|
||||
</scope>
|
||||
<scope id="8225968737376996320" at="15,0,16,0" />
|
||||
<scope id="8225968737378224820" at="17,0,18,0" />
|
||||
<unit id="6317379717812926698" at="7,0,21,0" name="jetbrains.mps.logic.reactor.program.Program" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/6317379717814118653">
|
||||
<file name="Symbol.java">
|
||||
<node id="6317379717814129293" at="8,42,9,17" concept="1" />
|
||||
<node id="6317379717814157703" at="9,17,10,23" concept="1" />
|
||||
<node id="5841747851381516257" at="13,22,14,14" concept="6" />
|
||||
<node id="5841747851381516264" at="17,22,18,17" concept="6" />
|
||||
<node id="5841747851381863229" at="22,25,23,20" concept="5" />
|
||||
<node id="5841747851381863242" at="23,20,24,78" concept="1" />
|
||||
<node id="5841747851381863258" at="24,78,25,38" concept="1" />
|
||||
<node id="5841747851381863262" at="25,38,26,18" concept="6" />
|
||||
<node id="5841747851381863158" at="31,20,32,18" concept="6" />
|
||||
<node id="5841747851381863164" at="34,55,35,19" concept="6" />
|
||||
<node id="5841747851381863177" at="36,5,37,0" concept="7" />
|
||||
<node id="5841747851381863178" at="37,0,38,29" concept="5" />
|
||||
<node id="5841747851381863196" at="39,67,40,19" concept="6" />
|
||||
<node id="5841747851381863219" at="42,30,43,19" concept="6" />
|
||||
<node id="5841747851381863221" at="44,5,45,0" concept="7" />
|
||||
<node id="5841747851381863222" at="45,0,46,16" concept="6" />
|
||||
<node id="5841747851381516267" at="49,0,50,0" concept="2" trace="id" />
|
||||
<node id="5841747851381516270" at="50,0,51,0" concept="2" trace="arity" />
|
||||
<node id="5841747851381516253" at="13,0,16,0" concept="4" trace="id#()Ljava/lang/String;" />
|
||||
<node id="5841747851381516260" at="17,0,20,0" concept="4" trace="arity#()I" />
|
||||
<node id="5841747851381863156" at="30,35,33,5" concept="3" />
|
||||
<node id="5841747851381863162" at="33,5,36,5" concept="3" />
|
||||
<node id="5841747851381863194" at="38,29,41,5" concept="3" />
|
||||
<node id="5841747851381863214" at="41,5,44,5" concept="3" />
|
||||
<node id="6317379717814128471" at="8,0,12,0" concept="0" trace="Symbol#(Ljava/lang/String;I)V" />
|
||||
<node id="5841747851381863224" at="21,0,28,0" concept="4" trace="hashCode#()I" />
|
||||
<node id="5841747851381863152" at="29,0,48,0" concept="4" trace="equals#(Ljava/lang/Object;)Z" />
|
||||
<scope id="5841747851381516256" at="13,22,14,14" />
|
||||
<scope id="5841747851381516263" at="17,22,18,17" />
|
||||
<scope id="5841747851381863157" at="31,20,32,18" />
|
||||
<scope id="5841747851381863163" at="34,55,35,19" />
|
||||
<scope id="5841747851381863195" at="39,67,40,19" />
|
||||
<scope id="5841747851381863218" at="42,30,43,19" />
|
||||
<scope id="6317379717814128475" at="8,42,10,23" />
|
||||
<scope id="5841747851381516253" at="13,0,16,0" />
|
||||
<scope id="5841747851381516260" at="17,0,20,0" />
|
||||
<scope id="6317379717814128471" at="8,0,12,0">
|
||||
<var name="arity" id="6317379717814167566" />
|
||||
<var name="id" id="6317379717814128754" />
|
||||
</scope>
|
||||
<scope id="5841747851381863227" at="22,25,26,18">
|
||||
<var name="result" id="5841747851381863230" />
|
||||
</scope>
|
||||
<scope id="5841747851381863224" at="21,0,28,0" />
|
||||
<scope id="5841747851381863155" at="30,35,46,16">
|
||||
<var name="that" id="5841747851381863179" />
|
||||
</scope>
|
||||
<scope id="5841747851381863152" at="29,0,48,0">
|
||||
<var name="o" id="5841747851381863184" />
|
||||
</scope>
|
||||
<unit id="6317379717814118653" at="6,0,52,0" name="jetbrains.mps.logic.reactor.program.Symbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/6317379717814173903">
|
||||
<file name="PredicateSymbol.java">
|
||||
<node id="6317379717823619735" at="8,48,9,21" concept="10" />
|
||||
<node id="6317379717814175785" at="13,28,14,34" concept="6" />
|
||||
<node id="6317379717814174713" at="8,0,11,0" concept="0" trace="PredicateSymbol#(Ljava/lang/String;I)V" />
|
||||
<node id="6317379717814175781" at="12,0,16,0" concept="4" trace="toString#()Ljava/lang/String;" />
|
||||
<scope id="6317379717814174717" at="8,48,9,21" />
|
||||
<scope id="6317379717814175784" at="13,28,14,34" />
|
||||
<scope id="6317379717814174713" at="8,0,11,0">
|
||||
<var name="arity" id="6317379717814174985" />
|
||||
<var name="id" id="6317379717814174730" />
|
||||
</scope>
|
||||
<scope id="6317379717814175781" at="12,0,16,0" />
|
||||
<unit id="6317379717814173903" at="6,0,18,0" name="jetbrains.mps.logic.reactor.program.PredicateSymbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/6317379717814244809">
|
||||
<file name="AndItem.java">
|
||||
<node id="6317379717815747154" at="9,0,10,0" concept="4" trace="symbol#()Ljetbrains/mps/logic/reactor/program/Symbol;" />
|
||||
<node id="6317379717814333446" at="11,0,12,0" concept="4" trace="arguments#()Ljava/util/Collection;" />
|
||||
<scope id="6317379717815747154" at="9,0,10,0" />
|
||||
<scope id="6317379717814333446" at="11,0,12,0" />
|
||||
<unit id="6317379717814244809" at="7,0,14,0" name="jetbrains.mps.logic.reactor.program.AndItem" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/6317379717817889711">
|
||||
<file name="JavaPredicateSymbol.java">
|
||||
<node id="1445804513729425338" at="8,0,9,0" concept="8" trace="EXPRESSION0" />
|
||||
<node id="1445804513729425524" at="10,0,11,0" concept="8" trace="EXPRESSION1" />
|
||||
<node id="1445804513729425633" at="12,0,13,0" concept="8" trace="EXPRESSION2" />
|
||||
<node id="1445804513729425764" at="14,0,15,0" concept="8" trace="EXPRESSION3" />
|
||||
<node id="1445804513728312018" at="16,0,17,0" concept="8" trace="EXPRESSION" />
|
||||
<node id="3363149567548930373" at="18,0,19,0" concept="8" trace="KNOWN_SYMBOLS" />
|
||||
<node id="3363149567548931738" at="20,58,21,32" concept="6" />
|
||||
<node id="6317379717817889916" at="24,42,25,29" concept="10" />
|
||||
<node id="3363149567548931449" at="20,0,23,0" concept="9" trace="withArity#(I)Ljetbrains/mps/logic/reactor/program/JavaPredicateSymbol;" />
|
||||
<node id="6317379717817889762" at="24,0,27,0" concept="0" trace="JavaPredicateSymbol#(I)V" />
|
||||
<scope id="3363149567548931453" at="20,58,21,32" />
|
||||
<scope id="6317379717817889766" at="24,42,25,29" />
|
||||
<scope id="3363149567548931449" at="20,0,23,0">
|
||||
<var name="arity" id="3363149567548931649" />
|
||||
</scope>
|
||||
<scope id="6317379717817889762" at="24,0,27,0">
|
||||
<var name="arity" id="6317379717817890807" />
|
||||
</scope>
|
||||
<unit id="6317379717817889711" at="6,0,29,0" name="jetbrains.mps.logic.reactor.program.JavaPredicateSymbol" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/7785665572546345623">
|
||||
<file name="Constraint.java">
|
||||
<node id="6317379717814333032" at="14,0,15,0" concept="4" trace="symbol#()Ljetbrains/mps/logic/reactor/program/ConstraintSymbol;" />
|
||||
<node id="8225968737376931639" at="16,0,17,0" concept="4" trace="argumentTypes#()Ljava/util/List;" />
|
||||
<node id="5649815580023740085" at="18,0,19,0" concept="4" trace="occurrenceArguments#(Ljetbrains/mps/logic/reactor/logical/LogicalContext;)Ljava/util/Collection;" />
|
||||
<node id="5131913661991737247" at="25,0,26,0" concept="4" trace="patternPredicates#(Ljava/util/Collection;)Ljava/util/Collection;" />
|
||||
<scope id="6317379717814333032" at="14,0,15,0" />
|
||||
<scope id="8225968737376931639" at="16,0,17,0" />
|
||||
<scope id="5649815580023740085" at="18,0,19,0">
|
||||
<var name="logicalContext" id="5649815580024092231" />
|
||||
</scope>
|
||||
<scope id="5131913661991737247" at="25,0,26,0">
|
||||
<var name="occurrenceArgs" id="7476246271192674778" />
|
||||
</scope>
|
||||
<unit id="7785665572546345623" at="12,0,28,0" name="jetbrains.mps.logic.reactor.program.Constraint" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/7785665572546359770">
|
||||
<file name="Predicate.java">
|
||||
<node id="7785665572546360338" at="13,0,14,0" concept="4" trace="symbol#()Ljetbrains/mps/logic/reactor/program/PredicateSymbol;" />
|
||||
<node id="5649815580025803455" at="15,0,16,0" concept="4" trace="invocationArguments#(Ljetbrains/mps/logic/reactor/logical/LogicalContext;)Ljava/util/Collection;" />
|
||||
<scope id="7785665572546360338" at="13,0,14,0" />
|
||||
<scope id="5649815580025803455" at="15,0,16,0">
|
||||
<var name="logicalContext" id="5649815580025803456" />
|
||||
</scope>
|
||||
<unit id="7785665572546359770" at="11,0,19,0" name="jetbrains.mps.logic.reactor.program.Predicate" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/8335224865064895074">
|
||||
<file name="Rule.java">
|
||||
<node id="8335224865064895076" at="8,0,9,0" concept="4" trace="kind#()Ljetbrains/mps/logic/reactor/program/Rule/Kind;" />
|
||||
<node id="7303011777414843895" at="10,0,11,0" concept="4" trace="tag#()Ljava/lang/String;" />
|
||||
<node id="8335224865064895081" at="12,0,13,0" concept="4" trace="headKept#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895087" at="14,0,15,0" concept="4" trace="headReplaced#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895093" at="16,0,17,0" concept="4" trace="guard#()Ljava/lang/Iterable;" />
|
||||
<node id="1044388088885792501" at="21,0,22,0" concept="4" trace="bodyAlternation#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865065122390" at="23,0,24,0" concept="4" trace="all#()Ljava/lang/Iterable;" />
|
||||
<node id="8335224865064895099" at="18,0,20,0" concept="4" trace="body#()Ljava/lang/Iterable;" />
|
||||
<scope id="8335224865064895076" at="8,0,9,0" />
|
||||
<scope id="7303011777414843895" at="10,0,11,0" />
|
||||
<scope id="8335224865064895081" at="12,0,13,0" />
|
||||
<scope id="8335224865064895087" at="14,0,15,0" />
|
||||
<scope id="8335224865064895093" at="16,0,17,0" />
|
||||
<scope id="1044388088885792501" at="21,0,22,0" />
|
||||
<scope id="8335224865065122390" at="23,0,24,0" />
|
||||
<scope id="8335224865064895099" at="18,0,20,0" />
|
||||
<unit id="8335224865064895106" at="25,0,30,0" name="jetbrains.mps.logic.reactor.program.Rule$Kind" />
|
||||
<unit id="8335224865064895074" at="6,0,32,0" name="jetbrains.mps.logic.reactor.program.Rule" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/9010599623174261813">
|
||||
<file name="InvalidRuleException.java">
|
||||
<node id="9010599623174265602" at="8,47,9,19" concept="10" />
|
||||
<node id="9010599623174269829" at="12,68,13,30" concept="10" />
|
||||
<node id="9010599623174265548" at="8,0,11,0" concept="0" trace="InvalidRuleException#(Ljava/lang/String;)V" />
|
||||
<node id="9010599623174269823" at="12,0,15,0" concept="0" trace="InvalidRuleException#(Ljava/lang/String;Ljava/lang/Throwable;)V" />
|
||||
<scope id="9010599623174265552" at="8,47,9,19" />
|
||||
<scope id="9010599623174269828" at="12,68,13,30" />
|
||||
<scope id="9010599623174265548" at="8,0,11,0">
|
||||
<var name="message" id="9010599623174265564" />
|
||||
</scope>
|
||||
<scope id="9010599623174269823" at="12,0,15,0">
|
||||
<var name="message" id="9010599623174269824" />
|
||||
<var name="throwable" id="9010599623174270172" />
|
||||
</scope>
|
||||
<unit id="9010599623174261813" at="6,0,17,0" name="jetbrains.mps.logic.reactor.program.InvalidRuleException" />
|
||||
</file>
|
||||
</root>
|
||||
<root nodeRef="r:f43ee4a0-488a-425a-87a0-594ab3b0d15f(jetbrains.mps.logic.reactor.program)/9010599623176680927">
|
||||
<file name="InvalidConstraintException.java">
|
||||
<node id="9010599623176682194" at="8,53,9,19" concept="10" />
|
||||
<node id="9010599623176682617" at="12,67,13,23" concept="10" />
|
||||
<node id="9010599623176682144" at="8,0,11,0" concept="0" trace="InvalidConstraintException#(Ljava/lang/String;)V" />
|
||||
<node id="9010599623176682613" at="12,0,15,0" concept="0" trace="InvalidConstraintException#(Ljava/lang/String;Ljava/lang/Throwable;)V" />
|
||||
<scope id="9010599623176682148" at="8,53,9,19" />
|
||||
<scope id="9010599623176682616" at="12,67,13,23" />
|
||||
<scope id="9010599623176682144" at="8,0,11,0">
|
||||
<var name="message" id="9010599623176682158" />
|
||||
</scope>
|
||||
<scope id="9010599623176682613" at="12,0,15,0">
|
||||
<var name="ex" id="9010599623176682960" />
|
||||
<var name="message" id="9010599623176682619" />
|
||||
</scope>
|
||||
<unit id="9010599623176680927" at="6,0,17,0" name="jetbrains.mps.logic.reactor.program.InvalidConstraintException" />
|
||||
</file>
|
||||
</root>
|
||||
</debug-info>
|
||||
|
||||
|
|
@ -9,41 +9,20 @@
|
|||
</component>
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="1">
|
||||
<option name="compilerInfo">
|
||||
<KotlinCompilerInfo>
|
||||
<option name="compilerSettings">
|
||||
<CompilerSettings />
|
||||
</option>
|
||||
<option name="k2jsCompilerArguments">
|
||||
<K2JSCompilerArguments />
|
||||
</option>
|
||||
<option name="k2jvmCompilerArguments">
|
||||
<K2JVMCompilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
</K2JVMCompilerArguments>
|
||||
</option>
|
||||
<option name="_commonCompilerArguments">
|
||||
<DummyImpl>
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</DummyImpl>
|
||||
</option>
|
||||
</KotlinCompilerInfo>
|
||||
</option>
|
||||
<option name="useProjectSettings" value="false" />
|
||||
<option name="versionInfo">
|
||||
<KotlinVersionInfo>
|
||||
<option name="apiLevel" value="1.1" />
|
||||
<option name="languageLevel" value="1.1" />
|
||||
<option name="targetPlatformName" value="JVM 1.8" />
|
||||
</KotlinVersionInfo>
|
||||
</option>
|
||||
<configuration version="2" platform="JVM 1.8" useProjectSettings="false">
|
||||
<compilerSettings />
|
||||
<compilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
<option name="languageVersion" value="1.1" />
|
||||
<option name="apiVersion" value="1.1" />
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.*
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.*
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import com.github.andrewoma.dexx.collection.ConsList
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.PredicateInvocation
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import com.github.andrewoma.dexx.collection.ConsList
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import com.github.andrewoma.dexx.collection.DerivedKeyHashMap
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import jetbrains.mps.logic.reactor.logical.Logical
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.core
|
||||
|
||||
import com.github.andrewoma.dexx.collection.ConsList
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.util
|
||||
|
||||
import com.github.andrewoma.dexx.collection.ConsList
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.util
|
||||
|
||||
import com.github.andrewoma.dexx.collection.DerivedKeyHashMap
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.util
|
||||
|
||||
class IdWrapper<T>(val wrapped: T) {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.util
|
||||
|
||||
import java.util.*
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.logic.reactor.util
|
||||
|
||||
import java.util.*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2014 JetBrains s.r.o.
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2014 JetBrains s.r.o.
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package jetbrains.mps.unification;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2014 JetBrains s.r.o.
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2015 JetBrains s.r.o.
|
||||
* Copyright 2014-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
|
|||
|
|
@ -2,41 +2,20 @@
|
|||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="1">
|
||||
<option name="compilerInfo">
|
||||
<KotlinCompilerInfo>
|
||||
<option name="compilerSettings">
|
||||
<CompilerSettings />
|
||||
</option>
|
||||
<option name="k2jsCompilerArguments">
|
||||
<K2JSCompilerArguments />
|
||||
</option>
|
||||
<option name="k2jvmCompilerArguments">
|
||||
<K2JVMCompilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
</K2JVMCompilerArguments>
|
||||
</option>
|
||||
<option name="_commonCompilerArguments">
|
||||
<DummyImpl>
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</DummyImpl>
|
||||
</option>
|
||||
</KotlinCompilerInfo>
|
||||
</option>
|
||||
<option name="useProjectSettings" value="false" />
|
||||
<option name="versionInfo">
|
||||
<KotlinVersionInfo>
|
||||
<option name="apiLevel" value="1.1" />
|
||||
<option name="languageLevel" value="1.1" />
|
||||
<option name="targetPlatformName" value="JVM 1.8" />
|
||||
</KotlinVersionInfo>
|
||||
</option>
|
||||
<configuration version="2" platform="JVM 1.8" useProjectSettings="false">
|
||||
<compilerSettings />
|
||||
<compilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
<option name="languageVersion" value="1.1" />
|
||||
<option name="apiVersion" value="1.1" />
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -10,41 +10,20 @@
|
|||
</component>
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="1">
|
||||
<option name="compilerInfo">
|
||||
<KotlinCompilerInfo>
|
||||
<option name="compilerSettings">
|
||||
<CompilerSettings />
|
||||
</option>
|
||||
<option name="k2jsCompilerArguments">
|
||||
<K2JSCompilerArguments />
|
||||
</option>
|
||||
<option name="k2jvmCompilerArguments">
|
||||
<K2JVMCompilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
</K2JVMCompilerArguments>
|
||||
</option>
|
||||
<option name="_commonCompilerArguments">
|
||||
<DummyImpl>
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</DummyImpl>
|
||||
</option>
|
||||
</KotlinCompilerInfo>
|
||||
</option>
|
||||
<option name="useProjectSettings" value="false" />
|
||||
<option name="versionInfo">
|
||||
<KotlinVersionInfo>
|
||||
<option name="apiLevel" value="1.1" />
|
||||
<option name="languageLevel" value="1.1" />
|
||||
<option name="targetPlatformName" value="JVM 1.8" />
|
||||
</KotlinVersionInfo>
|
||||
</option>
|
||||
<configuration version="2" platform="JVM 1.8" useProjectSettings="false">
|
||||
<compilerSettings />
|
||||
<compilerArguments>
|
||||
<option name="jvmTarget" value="1.8" />
|
||||
<option name="languageVersion" value="1.1" />
|
||||
<option name="apiVersion" value="1.1" />
|
||||
<option name="pluginClasspaths">
|
||||
<array />
|
||||
</option>
|
||||
<option name="coroutinesWarn" value="true" />
|
||||
<option name="pluginOptions">
|
||||
<array />
|
||||
</option>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
|
|
|
|||
Loading…
Reference in New Issue