mps-coderules/samples/mpscore
Grigorii Kirgizov 3eccaf81a1 Introduce occurrence store as cache for their reuse in Queries strategy
It's important that program that uses occurrences from cache
shouldn't include rules that could produce their duplicates.
So implementation of occurence cache includes 2 parts:
on reactor level & in ProrgramFactory.

When RuleBuilders are produced, cache is queried whether
there're already  occurrences associated with the rule template
in question. If so -- then those RuleBuilders are not included
into the program (as well as all RuleBuilders required by it).
2020-12-15 17:59:05 +03:00
..
.mps Initial support for baseLanguageInternal types. 2020-08-17 17:19:34 +02:00
languages minor fix in BL typesystem: always check returns, it can influence resultiing type 2020-12-15 17:51:27 +03:00
solutions Introduce occurrence store as cache for their reuse in Queries strategy 2020-12-15 17:59:05 +03:00
README.md Update readme files. 2018-07-19 15:12:34 +02:00
build.gradle Attempt to fix gradle task deps graph. 2020-04-13 18:00:15 +02:00
build.xml Rebuild project. 2020-11-24 13:41:24 +01:00

README.md

MPSCORE

This project contains sample applications of coderules framework providing the implementations of source code analysis for baseLanguage and its extensions.

The two aspects are implemented here:

  1. Type system
  2. Control flow

Installation

The code in this project relies on coderules languages and solutions to be available, either as a project library or as a plugin. There are two possibilities to install coderules:

  1. Follow the instructions for building the root project, or
  2. Install the compiled plugin (see the latest release on GitHub).

License

Copyright 2014-2018 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.