Skip to content

Commit

Permalink
Use the latest MontiCore release.
Browse files Browse the repository at this point in the history
  • Loading branch information
DimitriPlotnikov committed Sep 13, 2016
1 parent ceab108 commit 4ad73f5
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 34 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

<!-- Monticore versions and dependencies -->
<antlr.version>4.5</antlr.version>
<monticore.version>4.4.1</monticore.version>
<monticore.version>4.4.2</monticore.version>

<!-- .. Plugins ....................................................... -->
<compiler.plugin>3.5.1</compiler.plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ public class NESTMLLanguage extends NESTMLLanguageTOP {
public NESTMLLanguage() {
super("NESTML Language", FILE_ENDING);

addResolver(CommonResolvingFilter.create(NeuronSymbol.class, NeuronSymbol.KIND));
addResolver(CommonResolvingFilter.create(NeuronSymbol.KIND));

addResolver(new PredefinedTypesFilter(TypeSymbol.KIND));
addResolver(new PredefinedMethodsFilter(MethodSymbol.KIND));
addResolver(new PredefinedTypesFilter());
addResolver(new PredefinedMethodsFilter());
addResolver(CommonResolvingFilter.create(MethodSymbol.KIND));

addResolver(CommonResolvingFilter.create(VariableSymbol.KIND));
addResolver(new PredefinedVariablesFilter(VariableSymbol.class, VariableSymbol.KIND));
addResolver(new PredefinedVariablesFilter());

addResolver(CommonResolvingFilter.create( UsageSymbol.KIND));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,28 @@
import de.monticore.symboltable.resolving.ResolvingInfo;
import org.nest.symboltable.symbols.MethodSymbol;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;

import static org.nest.symboltable.predefined.PredefinedFunctions.getMethodSymbolIfExists;

/**
* TODO
* Returns a predefined methods if one exists: e.g. pow, exp, ...
*
* @author plotnikov
*/
public class PredefinedMethodsFilter extends CommonResolvingFilter<MethodSymbol> {

public PredefinedMethodsFilter(
final SymbolKind targetKind) {
super(targetKind);
public PredefinedMethodsFilter() {
super(MethodSymbol.KIND);


}

@Override
public Optional<Symbol> filter(ResolvingInfo resolvingInfo, String name,
List<Symbol> symbols) {
public Optional<Symbol> filter(ResolvingInfo resolvingInfo, String name, Map<String, Collection<Symbol>> symbols) {
final Optional<MethodSymbol> foundPredefinedMethod = getMethodSymbolIfExists(name);

if (foundPredefinedMethod.isPresent()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,23 @@
import org.nest.symboltable.predefined.PredefinedTypes;
import org.nest.symboltable.symbols.TypeSymbol;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;

/**
* TODO
* All types in NESTML are predefined. This filter matches the type by name and returns if one exists
*
* @author plotnikov
*/
public class PredefinedTypesFilter extends CommonResolvingFilter<TypeSymbol> {
public PredefinedTypesFilter(
final SymbolKind targetKind) {
super(targetKind);
public PredefinedTypesFilter() {
super(TypeSymbol.KIND);
}

@Override
public Optional<Symbol> filter(
final ResolvingInfo resolvingInfo,
final String name,
final List<Symbol> symbols) {
public Optional<Symbol> filter(ResolvingInfo resolvingInfo, String name, Map<String, Collection<Symbol>> symbols) {
final Optional<TypeSymbol> typeSymbol = PredefinedTypes.getTypeIfExists(name);
if (typeSymbol.isPresent()) {
return Optional.of(typeSymbol.get());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,23 @@
import org.nest.symboltable.predefined.PredefinedVariables;
import org.nest.symboltable.symbols.VariableSymbol;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;

/**
* TODO
* Returns a predefined variable (e.g. 't') if one exists.
*
* @author (last commit) $$Author$$
* @version $$Revision$$, $$Date$$
* @since TODO
* @author plotnikov
*/
public class PredefinedVariablesFilter extends CommonResolvingFilter<VariableSymbol> {
public PredefinedVariablesFilter(
final Class<VariableSymbol> symbolClass,
final SymbolKind targetKind) {
super(targetKind);
public PredefinedVariablesFilter() {
super(VariableSymbol.KIND);
}

@Override
public Optional<Symbol> filter(
final ResolvingInfo resolvingInfo,
final String name,
final List<Symbol> symbols) {
public Optional<Symbol> filter(ResolvingInfo resolvingInfo, String name, Map<String, Collection<Symbol>> symbols) {
final Optional<VariableSymbol> predefinedVariable = PredefinedVariables.getVariableIfExists(name);
if (predefinedVariable.isPresent()) {
return Optional.of(predefinedVariable.get());
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/nest/spl/_symboltable/SPLLanguage.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ public Optional<CommonSPLSymbolTableCreator> getSymbolTableCreator(ResolverConfi

@Override protected void initResolvingFilters() {
super.initResolvingFilters();
addResolver(new PredefinedTypesFilter(TypeSymbol.KIND));
addResolver(CommonResolvingFilter.create(VariableSymbol.class, VariableSymbol.KIND));
addResolver(CommonResolvingFilter.create(MethodSymbol.class, MethodSymbol.KIND));
addResolver(new PredefinedTypesFilter());
addResolver(CommonResolvingFilter.create(VariableSymbol.KIND));
addResolver(CommonResolvingFilter.create(MethodSymbol.KIND));
}

@Override protected ModelingLanguageModelLoader<ASTSPLFile> provideModelLoader() {
Expand Down

0 comments on commit 4ad73f5

Please sign in to comment.