From a4e5518384da82351d5d511b906ea17ba8ac29e7 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Tue, 1 Sep 2026 10:10:15 +0200 Subject: [PATCH 1/5] Remove distinction between single and binaryOpSym Signed-off-by: Stefan Marr --- src/som/compiler/Parser.java | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/som/compiler/Parser.java b/src/som/compiler/Parser.java index 296ad00..04a409c 100644 --- a/src/som/compiler/Parser.java +++ b/src/som/compiler/Parser.java @@ -87,18 +87,13 @@ public class Parser { private String text; private Symbol nextSym; - private static final List singleOpSyms = new ArrayList(); - private static final List binaryOpSyms = new ArrayList(); + private static final List opSyms = new ArrayList(); private static final List keywordSelectorSyms = new ArrayList(); static { - for (Symbol s : new Symbol[] {Not, And, Or, Star, Div, Mod, Plus, Equal, - More, Less, Comma, At, Per, Minus, NONE}) { - singleOpSyms.add(s); - } for (Symbol s : new Symbol[] {Or, Comma, Minus, Equal, Not, And, Or, Star, Div, Mod, Plus, Equal, More, Less, Comma, At, Per, NONE}) { - binaryOpSyms.add(s); + opSyms.add(s); } for (Symbol s : new Symbol[] {Keyword, KeywordSequence}) { keywordSelectorSyms.add(s); @@ -225,7 +220,7 @@ private void classBody() throws ProgramDefinitionError { private boolean symIsMethod() { return sym == Identifier || sym == Keyword || sym == OperatorSequence - || symIn(binaryOpSyms); + || symIn(opSyms); } private void superclass() throws ProgramDefinitionError { @@ -392,7 +387,7 @@ private SSymbol binarySelector() { String s = text; // Checkstyle: stop @formatter:off - if (acceptOneOf(singleOpSyms)) { + if (acceptOneOf(opSyms)) { } else if (accept(OperatorSequence)) { } else { expect(NONE); } // Checkstyle: resume @formatter:on @@ -579,19 +574,19 @@ private void messages(final MethodGenerationContext mgenc, boolean superSend) superSend = false; } while (sym == Identifier); - while (sym == OperatorSequence || symIn(binaryOpSyms)) { + while (sym == OperatorSequence || symIn(opSyms)) { binaryMessage(mgenc, false); } if (sym == Keyword) { keywordMessage(mgenc, false); } - } else if (sym == OperatorSequence || symIn(binaryOpSyms)) { + } else if (sym == OperatorSequence || symIn(opSyms)) { do { // only the first message in a sequence can be a super send binaryMessage(mgenc, superSend); superSend = false; - } while (sym == OperatorSequence || symIn(binaryOpSyms)); + } while (sym == OperatorSequence || symIn(opSyms)); if (sym == Keyword) { keywordMessage(mgenc, false); @@ -662,11 +657,11 @@ private void formula(final MethodGenerationContext mgenc) throws ProgramDefiniti boolean superSend = binaryOperand(mgenc); // only the first message in a sequence can be a super send - if (sym == OperatorSequence || symIn(binaryOpSyms)) { + if (sym == OperatorSequence || symIn(opSyms)) { binaryMessage(mgenc, superSend); } - while (sym == OperatorSequence || symIn(binaryOpSyms)) { + while (sym == OperatorSequence || symIn(opSyms)) { binaryMessage(mgenc, false); } } @@ -824,7 +819,7 @@ private void literalArray(final MethodGenerationContext mgenc) throws ParseError } private SSymbol selector() { - if (sym == OperatorSequence || symIn(singleOpSyms)) { + if (sym == OperatorSequence || symIn(opSyms)) { return binarySelector(); } else if (sym == Keyword || sym == KeywordSequence) { return keywordSelector(); From 3867f7fa46d8d3b122185e7bbc8f787008286cb9 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Tue, 1 Sep 2026 10:13:55 +0200 Subject: [PATCH 2/5] Remove duplicates Signed-off-by: Stefan Marr --- src/som/compiler/Parser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/som/compiler/Parser.java b/src/som/compiler/Parser.java index 04a409c..8b4f106 100644 --- a/src/som/compiler/Parser.java +++ b/src/som/compiler/Parser.java @@ -91,8 +91,8 @@ public class Parser { private static final List keywordSelectorSyms = new ArrayList(); static { - for (Symbol s : new Symbol[] {Or, Comma, Minus, Equal, Not, And, Or, Star, - Div, Mod, Plus, Equal, More, Less, Comma, At, Per, NONE}) { + for (Symbol s : new Symbol[] {Or, Comma, Minus, Equal, Not, And, Star, + Div, Mod, Plus, More, Less, At, Per, NONE}) { opSyms.add(s); } for (Symbol s : new Symbol[] {Keyword, KeywordSequence}) { From 172aadaa27b4e9b7c5a01ca30654d7527d64b106 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Tue, 1 Sep 2026 21:07:29 +0200 Subject: [PATCH 3/5] Remove unused import Signed-off-by: Stefan Marr --- src/som/vmobjects/SNumber.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/som/vmobjects/SNumber.java b/src/som/vmobjects/SNumber.java index 5be3ff8..ee8084e 100644 --- a/src/som/vmobjects/SNumber.java +++ b/src/som/vmobjects/SNumber.java @@ -1,7 +1,6 @@ package som.vmobjects; import java.math.BigDecimal; -import java.math.BigInteger; import som.vm.Universe; From ffbc1e947e0c8447d7e8bc0c50b7ed3d1ae1dd3c Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Tue, 1 Sep 2026 21:10:37 +0200 Subject: [PATCH 4/5] Update GitHub Actions Signed-off-by: Stefan Marr --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 926fc83..84675bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 # ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: submodules: true @@ -47,7 +47,7 @@ jobs: ant eclipseformat - name: Checkout AWFY - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: repository: smarr/are-we-fast-yet path: are-we-fast-yet From e1ce067216eecf6f6718c40c620ae0f6f3794ced Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Tue, 1 Sep 2026 21:10:46 +0200 Subject: [PATCH 5/5] Update Eclipse Signed-off-by: Stefan Marr --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 84675bb..14262ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,8 +37,8 @@ jobs: - name: Download Eclipse run: | export ECLIPSE_TAR=eclipse.tar.gz - export ECLIPSE_URL=https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.22-202111241800/eclipse-SDK-4.22-linux-gtk-x86_64.tar.gz - wget ${ECLIPSE_URL} -O ${ECLIPSE_TAR} + export ECLIPSE_URL='https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.38-202512010920/eclipse-SDK-4.38-linux-gtk-x86_64.tar.gz&r=1' + wget --progress=dot:giga ${ECLIPSE_URL} -O ${ECLIPSE_TAR} tar -C ${GITHUB_WORKSPACE}/.. -xzf ${ECLIPSE_TAR} - name: Check Eclipse Format