From 3430c818d4659bd75ff78198f3de15f6d9b08b9f Mon Sep 17 00:00:00 2001 From: Lavender Shannon Date: Thu, 26 Jan 2023 20:05:28 -0600 Subject: [PATCH] Moved action-lang notation script stuff to notation-script module. Removed basic antlr test --- action-lang/build.gradle | 22 ----- .../action/lang/ArithmeticAntlrTest.java | 82 ------------------- build.gradle | 7 ++ notation-script/build.gradle | 24 ++++++ .../actions/lang/antlr/ActionLang.g4 | 0 .../actions/lang/antlr/Arithmetic.g4 | 0 .../retrodaredevil/action/lang/Argument.java | 0 .../action/lang/ArrayArgument.java | 0 .../action/lang/BooleanArgument.java | 0 .../me/retrodaredevil/action/lang/Node.java | 0 .../action/lang/NodeTranslator.java | 0 .../action/lang/NumberArgument.java | 0 .../action/lang/StringArgument.java | 0 .../action/lang/antlr/NodeParser.java | 0 .../json/ConfigurationProvider.java | 0 .../json/CustomNodeConfiguration.java | 0 .../translators/json/JsonNodeTranslator.java | 0 .../translators/json/NodeConfiguration.java | 0 .../json/SimpleConfigurationProvider.java | 0 .../json/SimpleNodeConfiguration.java | 0 .../action/lang/translators/package-info.java | 0 settings.gradle | 1 + 22 files changed, 32 insertions(+), 104 deletions(-) delete mode 100644 action-lang/src/test/java/me/retrodaredevil/action/lang/ArithmeticAntlrTest.java create mode 100644 notation-script/build.gradle rename {action-lang => notation-script}/src/main/antlr/me/retrodaredevil/actions/lang/antlr/ActionLang.g4 (100%) rename {action-lang => notation-script}/src/main/antlr/me/retrodaredevil/actions/lang/antlr/Arithmetic.g4 (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/Argument.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/ArrayArgument.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/BooleanArgument.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/Node.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/NodeTranslator.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/NumberArgument.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/StringArgument.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/antlr/NodeParser.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/translators/json/ConfigurationProvider.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/translators/json/CustomNodeConfiguration.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/translators/json/JsonNodeTranslator.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/translators/json/NodeConfiguration.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleConfigurationProvider.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleNodeConfiguration.java (100%) rename {action-lang => notation-script}/src/main/java/me/retrodaredevil/action/lang/translators/package-info.java (100%) diff --git a/action-lang/build.gradle b/action-lang/build.gradle index 9aa16ba9..e69de29b 100644 --- a/action-lang/build.gradle +++ b/action-lang/build.gradle @@ -1,22 +0,0 @@ -plugins { - id 'java' - id 'antlr' -} - -version = '0.0.1-SNAPSHOT' - -sourceCompatibility = 1.8 -targetCompatibility = 1.8 - -dependencies { - antlr 'org.antlr:antlr4:4.11.1' // use ANTLR version 4 -} -compileJava { -// options.compilerArgs << "-XepExcludedPaths:.*/build/generated-src/.*" // for antlr generated folder to remove errorprone warnings from ANTLR -} -generateGrammarSource { - maxHeapSize = "64m" - arguments += [ - "-visitor", "-long-messages", - ] -} diff --git a/action-lang/src/test/java/me/retrodaredevil/action/lang/ArithmeticAntlrTest.java b/action-lang/src/test/java/me/retrodaredevil/action/lang/ArithmeticAntlrTest.java deleted file mode 100644 index 119f34cb..00000000 --- a/action-lang/src/test/java/me/retrodaredevil/action/lang/ArithmeticAntlrTest.java +++ /dev/null @@ -1,82 +0,0 @@ -package me.retrodaredevil.action.lang; - -import me.retrodaredevil.actions.lang.antlr.ArithmeticBaseVisitor; -import me.retrodaredevil.actions.lang.antlr.ArithmeticLexer; -import me.retrodaredevil.actions.lang.antlr.ArithmeticParser; -import me.retrodaredevil.actions.lang.antlr.ArithmeticVisitor; -import org.antlr.v4.runtime.CodePointBuffer; -import org.antlr.v4.runtime.CodePointCharStream; -import org.antlr.v4.runtime.CommonTokenStream; -import org.antlr.v4.runtime.tree.ParseTree; -import org.antlr.v4.runtime.tree.TerminalNode; -import org.junit.jupiter.api.Test; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.nio.CharBuffer; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -public class ArithmeticAntlrTest { - @Test - void test() { - ArithmeticLexer lexer = new ArithmeticLexer(CodePointCharStream.fromBuffer( - CodePointBuffer.withChars(CharBuffer.wrap("1+2*3".toCharArray())) // CodePointBuffer requires that CharBuffer#array() is available - )); - ArithmeticParser parser = new ArithmeticParser(new CommonTokenStream(lexer)); - - // Parse the input and get the parse tree - ParseTree tree = parser.expression(); - - // Create a visitor to process the parse tree - ArithmeticVisitor visitor = new ArithmeticBaseVisitor() { - @Override - public BigDecimal visitExpression(ArithmeticParser.ExpressionContext ctx) { - List terms = ctx.term(); - List operators = ctx.EXPRESSION_OP(); - BigDecimal result = visitTerm(terms.get(0)); - for (int i = 0; i < operators.size(); i++) { - TerminalNode operator = operators.get(i); - ArithmeticParser.TermContext term = terms.get(i + 1); - BigDecimal evaluated = visitTerm(term); - if ("+".equals(operator.getSymbol().getText())) { - result = result.add(evaluated); - } else if ("-".equals(operator.getSymbol().getText())) { - result = result.subtract(evaluated); - } else throw new AssertionError("Unknown symbol: " + operator.getSymbol().getText()); - } - return result; - } - - @Override - public BigDecimal visitTerm(ArithmeticParser.TermContext ctx) { - List factors = ctx.factor(); - List operators = ctx.TERM_OP(); - BigDecimal result = visitFactor(factors.get(0)); - for (int i = 0; i < operators.size(); i++) { - TerminalNode operator = operators.get(i); - ArithmeticParser.FactorContext factor = factors.get(i + 1); - BigDecimal evaluated = visitFactor(factor); - if ("*".equals(operator.getSymbol().getText())) { - result = result.multiply(evaluated); - } else if ("/".equals(operator.getSymbol().getText())) { - result = result.divide(evaluated, RoundingMode.DOWN); - } else throw new AssertionError("Unknown symbol: " + operator.getSymbol().getText()); - } - return result; - } - - @Override - public BigDecimal visitFactor(ArithmeticParser.FactorContext ctx) { - ArithmeticParser.ExpressionContext expressionContext = ctx.expression(); - if (expressionContext != null) { - return visitExpression(expressionContext); - } - return new BigDecimal(ctx.getText()); - } - }; - BigDecimal result = visitor.visit(tree); - assertEquals(new BigDecimal(7), result); - } -} diff --git a/build.gradle b/build.gradle index 25d99460..a77bbb26 100644 --- a/build.gradle +++ b/build.gradle @@ -286,9 +286,16 @@ project(":action-node"){ annotationProcessor project(":process-annotations") } } +project(":notation-script"){ + apply plugin: 'java' + dependencies { + annotationProcessor project(":process-annotations") + } +} project(":action-lang"){ apply plugin: 'java' dependencies { + api project(":notation-script") api project(":action-node") annotationProcessor project(":process-annotations") } diff --git a/notation-script/build.gradle b/notation-script/build.gradle new file mode 100644 index 00000000..34fd682b --- /dev/null +++ b/notation-script/build.gradle @@ -0,0 +1,24 @@ +plugins { + id 'java' + id 'antlr' +} + +version = '0.0.1-SNAPSHOT' + +sourceCompatibility = 1.8 +targetCompatibility = 1.8 + +dependencies { + antlr 'org.antlr:antlr4:4.11.1' // use ANTLR version 4 + api "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion" + api "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion" +} +compileJava { +// options.compilerArgs << "-XepExcludedPaths:.*/build/generated-src/.*" // for antlr generated folder to remove errorprone warnings from ANTLR +} +generateGrammarSource { + maxHeapSize = "64m" + arguments += [ + "-visitor", "-long-messages", + ] +} diff --git a/action-lang/src/main/antlr/me/retrodaredevil/actions/lang/antlr/ActionLang.g4 b/notation-script/src/main/antlr/me/retrodaredevil/actions/lang/antlr/ActionLang.g4 similarity index 100% rename from action-lang/src/main/antlr/me/retrodaredevil/actions/lang/antlr/ActionLang.g4 rename to notation-script/src/main/antlr/me/retrodaredevil/actions/lang/antlr/ActionLang.g4 diff --git a/action-lang/src/main/antlr/me/retrodaredevil/actions/lang/antlr/Arithmetic.g4 b/notation-script/src/main/antlr/me/retrodaredevil/actions/lang/antlr/Arithmetic.g4 similarity index 100% rename from action-lang/src/main/antlr/me/retrodaredevil/actions/lang/antlr/Arithmetic.g4 rename to notation-script/src/main/antlr/me/retrodaredevil/actions/lang/antlr/Arithmetic.g4 diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/Argument.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/Argument.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/Argument.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/Argument.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/ArrayArgument.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/ArrayArgument.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/ArrayArgument.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/ArrayArgument.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/BooleanArgument.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/BooleanArgument.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/BooleanArgument.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/BooleanArgument.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/Node.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/Node.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/Node.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/Node.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/NodeTranslator.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/NodeTranslator.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/NodeTranslator.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/NodeTranslator.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/NumberArgument.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/NumberArgument.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/NumberArgument.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/NumberArgument.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/StringArgument.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/StringArgument.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/StringArgument.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/StringArgument.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/antlr/NodeParser.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/antlr/NodeParser.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/antlr/NodeParser.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/antlr/NodeParser.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/ConfigurationProvider.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/ConfigurationProvider.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/ConfigurationProvider.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/ConfigurationProvider.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/CustomNodeConfiguration.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/CustomNodeConfiguration.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/CustomNodeConfiguration.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/CustomNodeConfiguration.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/JsonNodeTranslator.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/JsonNodeTranslator.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/JsonNodeTranslator.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/JsonNodeTranslator.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/NodeConfiguration.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/NodeConfiguration.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/NodeConfiguration.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/NodeConfiguration.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleConfigurationProvider.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleConfigurationProvider.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleConfigurationProvider.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleConfigurationProvider.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleNodeConfiguration.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleNodeConfiguration.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleNodeConfiguration.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/translators/json/SimpleNodeConfiguration.java diff --git a/action-lang/src/main/java/me/retrodaredevil/action/lang/translators/package-info.java b/notation-script/src/main/java/me/retrodaredevil/action/lang/translators/package-info.java similarity index 100% rename from action-lang/src/main/java/me/retrodaredevil/action/lang/translators/package-info.java rename to notation-script/src/main/java/me/retrodaredevil/action/lang/translators/package-info.java diff --git a/settings.gradle b/settings.gradle index 12fbd384..1c2ba41a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,4 +7,5 @@ include 'common' include 'process-annotations' include 'action-node' include 'action-lang' +include 'notation-script' include 'web'